This depends on the type of database you're talking about.
If you're looking for a SQL-based database like MySQL or PostgreSQL, you're barking up the wrong tree (with a couple of interesting exceptions, see below).
If you're trying to run something like a glorified key-value store like Cassandra or HBase, read on. When the partitioning algorithm is order-preserving, you can do things similar to what you can do in SQL, except you have to do joins manually and you get the advantage of being able to map-reduce for aggregates and more complex analysis tasks (depending on the DB platform), potentially with the help of projects like Pig and Hive.
For Cassandra, you don't need a specific file system. Again, if you need to run queries and have things similar to indexes, you'll want to use an order-preserving partitioning algorithm.
For HBase, you need to use HDFS as the base FS. HyperTable used to work under either HDFS or KFS; right now, I don't see any mentions of KFS but I also saw something about being able to work in a standalone fashion like Cassandra. I'm not too sure about partitioning and sorting on HyperTable, but I know that HBase by default stores records in order and supports indexes.
Now the interesting exceptions.
There is a project called Hadoop DB which integrates PostgreSQL with Hadoop and may, depending on what you're trying to do, serve your needs.
There's also the crazy idea of writing a storage engine for MySQL that interfaces with one of the systems above. The joins and aggregates and such would be done for you on the MySQL side while the data storage, indexing and retrieval would be your job. You'd also need to coordinate for transactions if you choose to support them. This means you could have multiple load-balanced MySQL servers talking to a huge HBase cluster. The only thing you'd be missing is the ability to push out map-reduce tasks to make aggregates and analysis over large parts of your data set more efficient. But you could do that periodically outside MySQL, and store the analysis results in another table that you can query with MySQL, again, depending on your needs.