So I have REST + HTTP which gives me CRUD over a resource. And I'm going to say that in the REST world Uri is to resource as PrimaryKey is to a table. Uri is certainly more user friendly so traditionaly I'd wind up writing something that maps a uri onto a database row. Why not just skip the database and map the Uri onto a file which probably stores xml or rdf or yaml whatever. Oh but database gives me powerful query capabilities, well so does Lucene.NET, and I can probably make a much simpler interface to search and index than having to build a query builder. If I want transactions, merging and versioning, maybe I should just make my filesystem be subversion.
I'm sure today it's orders of magnitude faster to use a database, but I wonder if we'll start going this direction in the future. Seems not a far stretch if you look at some of the features of Katami.