I just discovered the paper The End of an Architectural Era (It’s Time for a Complete Rewrite), about re-designing database software from the ground up. It contains some unsurprising predictions — “the next decade will bring domination by shared-nothing computer systems, often called grid computing” — and some interesting ideas:
- Any database smaller than 1 TB will fit entirely in main memory, distributed across multiple machines.
- We should scrap SQL in favor of “modifying little languages [Ruby, Python, etc.] to include clean embeddings of DBMS access.” (CouchDB is a good example of this.)
- A database shouldn’t require an expert to tune and optimize it; instead it should all be automated to “produce a system with no visible knobs.”
In their implementation, H-store, they claim to run over 70,000 transactions per second on a standard benchmark on a modest server, compared to 850/second from a commercial DB tuned by an expert. They also plan to “move from C++ to Ruby on Rails as our stored procedure language.” (!)