Using a Filesystem (Not a Database!) for Schemaless Data - Best Practices -


after reading on other question, using relational database schema-less data, began wonder if filesystem more appropriate relational database storing , querying schemaless data.

rather building file system on top of mysql, why not save data directly filesystem? indexing needs figured out, modern filesystems stable, have great features replication, snapshot , backup facilities, , flexible @ storing schema-less data.

however, can't find any examples of using filesystem instead of database.

where can find more resources on how implement schemaless (or "document-oriented") database layer on top of filesystem? using modern filesystem schemaless database?

yes filesystem taken special case of nosql-like database system. may have limitations should considered during design decisions:

pros: - - simple, intuitive.

  • takes advantage of years of tuning , caching algorithms
  • easy backup, potentially easy clustering

things think about:

  • richness of metadata - types of data store, how let query them, can have hierarchal or multivalued attributes

  • speed of querying metadata - not fs's particularly optimized other size, dates.

  • inability join queries (though that's pretty common nosql)

  • inefficient storage usage (unless file system performs block suballocation, you'll typically blow 4-16k per item stored regardless of size)

  • may not have kind of caching algorithm want it's directory structure
  • tends less tunable, etc.
  • backup solutions may have trouble depending on how store things - deep, many items per node, etc - might obviate obvious advantage of such structure. locking local filesystem works pretty of course if call right routines, not network base fileesytem (those problems have been solved in various ways, it's design issue)

Comments

Popular posts from this blog

android - Spacing between the stars of a rating bar? -

aspxgridview - Devexpress grid - header filter does not work if column is initially hidden -

c# - How to execute a particular part of code asynchronously in a class -