3 ms·
I completely agree with you with regards to the future of databases, it will definitely be running many databases. What I meant with halfway decent database is
by tinco 12y ago
I completely agree with you with regards to the future of databases, it will definitely be running many databases.
What I meant with halfway decent database is one that can actually guarantee the data it committed is actually on the hard drive in a readable state, and that can sustain random writes at a rate close to the theoretical limit of the persistent storage device. I'm not judging any databases in particular. I'm asking how can I make a database that's as awesome as MySQL or Cassandra.
All these databases have already taught us a lot of what's in these articles, but one thing that isn't written about a lot is how they actually achieve high performance, not just in a theoretical way, but in a practical way. What system calls do they make, what schemes do they use to minimize seeks, how is the memory laid out. None of that high level "do we use Paxos of Raft", that's kids stuff.
- batbomb 12y agoYou should check out Database Systems: The Complete Book. Those papers have a lot of that information, but it's usually a bit buried. > What system calls do they make I think that's actually kind of out of scope for a paper, because already you are assuming an OS and a language. Many papers/articles assume neither. > what schemes do they use to minimize seeks Look for information on buffer management/buffer managers > how is the memory laid out Almost always in pages that correspond to disk blocks. Also it's dependent on lots of things (transactional model, index types, column vs row orientation, etc..) This is heavily tied into the buffer management stuff too.