Disk Based Data Stores Long term storage vs in memory systems
- MySQL is an example of disk based data stores, which is based on relational based data storage and queries. - Two extreme data stores are Google's Megastore and Google's bigTable. So in order to find the best of both worlds, Google came out with Google Spanner.
What is Spanner? It is a distributed Multi-version database. Typically data keeps in one state, where multi version allows for many states. Allows for general purpose transactions. Running in production Enabling technology - truetime Implementation - integration of concurrency control.
Locking Locking guarantees that one writer get access to the data. So consistency allows data to be accurate. External consistency - allows uniformity throughout the entire dataset.
Hierarchical Data Model - Hierarchies of tables, which may be partitioned by client into one or more hierarchies. (Interleaving)
Data Model Tablet: a bag of timestamped [key:value] pairs. The state of the tablet is tracked and stored with B-tree like files and a write ahead log. Data storage is on a distributed file system.
How is the data replicated? Paxos: protocols for solving consensus in a network of unreliable processors. Consensus agrees on one result among a group of participants (they may not have the exact information between each other, in other words, sacrifice consistency for availability. Replication configurations for data can be dynamically controlled at a fine grain by applications.