The database cannot be better than the underlying datastructure
Submitted by Abhishek Kona (@sheki) on Wednesday, 1 May 2013
Section: Storage and Databases Technical level: Intermediate
Understand the common underlying datastructures in current storage engines, the trade offs and why this should drive decide which database to use for your next app.
- look at the different datastrucutres behind different storage engines, give examples.
- an introduction to the three datastrucutres in use today - Binary Trees - InnoDB, LSM Trees - LevelDB, BigTable, HBase, Cassandra . Fractal Trees - TokuDB, TokyoTyrant.
- understand the trade-offs when you decide to pick the next database for you application.
Previously, I chose databases for my applications by treating databases as a black box. I believe a lot of Engineers start with this approach. Knowing about the underlying datastrucutres and the optimization parameters will make the decision more scientific.
I will also briefly explain how Facebook benchmarks databases and makes the decision of investing in a database technology.
- Basic understanding of the Binary Tree.
- Understand basic performance terminology Throughput and Latency.
I currently work on the Database Engineering team at Facebook. We here are hacking on the next generation storage engine.
I have worked on data storage problems for 2+ years now. I have been on both sides of the coin, a database user, and now a database Engineer.