Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am confused about it.

I can use lucene to create index and run query against file system. I can find any particular file very fast, if I can provide a primary key, in this case, directory path and filename act as primary key.

It looks very much like a NoSQL.

share|improve this question
If a database doesn't store its data in memory then where else other than the file system would it be stored? – The Muffin Man Nov 16 '12 at 23:37
Are you asking if the file system is a type of NoSQL? – DFord Nov 16 '12 at 23:58
I am kinda confused. Should File System be considered as database? – janetsmith Nov 20 '12 at 0:16
I've seen systems that used PostgeSQL as a database of large images (potentially gigabytes each), but kept the files in the filesystem. In a sense, the filesystem was functioning as a database, but I don't think that usage is typical. – Rory Hunter Mar 26 '14 at 10:32
up vote 8 down vote accepted

A (Unix) file system is a hierarchical database for unstructured untyped data. The BeFS is more like a metadata-addressable graph of semi-structured data. The VMS filesystem is a hierarchical database for semi-structured versioned data. The OS/400 filesystem is actually pretty close to SQL in its semantics. Different filesystems are very different!

NoSQL is a movement that advocates choosing the best-fitting database technology for your data model. (NoSQL == Not Only SQL)

If you have tree-shaped unstructured data, then storing it in the (Unix) filesystem definitely fits the goals of the NoSQL movement. If your data however is relational, then choosing the filesystem is actually exactly the opposite of NoSQL: remember, NoSQL means choosing the best-fitting database technology for your data model, and if your data is relational, then that model is SQL.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.