Posts

Reading "Transactional Storage for geo-replicated systems"

Abstract

Design and implementation of Walter - KV Store that supports TX, and replicates data across sitesParallel Snapshot isolation (PSI)allows asynchronous data replicationstrong guarantees within each siteprecludes WW conflictsWalter uses preferred sites and counting sets to implement PSI


Introduction

Geo-replicated = across many sitesClaimStrong consistency within site is desirable (e.g. user sees their own R/W in their site in the correct order) but weaker consistency is OK across sites (e.g. user can tolerate delay for their R/W to be seen by others). Asynchronous replication provides properties of weaker consistencyPSI provides just thisconsistent snapshot within a sitecausal ordering (not global) across sites w/o WW conflicts Walter uses two techniquespreferred sites counting set PSI performancequickly commit tx that write objects at their preferred sites or use csetsothers - resort to TPCOverview
Walter's 4 featuresAsynchronous replication across sitesUpdate-anywhere for cou…

(08/13/2018) Mt. Rainier Summit

Image
Next up~~

(2019) - Expeditions Seminar
(2020) - Kilimanjaro
(2021) - Peru
(2022) - Denali

Reading “Spanner: Google's Globally Distributed Database”

Image
IntroductionScalable, Globally-distributed database Shards data across many sets of Paxos state machines in global datacentersTwo features Externally consistent R / WGlobally consistent REnabled by globally-meaningful commit timestamps that reflect serialization order that satisfies external consistency (If a T1 commits before another T2 starts, then T1's commit timestamp is smaller than T2). Enabler is TrueTime API. Implementation (Structure of Spanner's Implementation, feature set, engineering decisions) Spanserver Software Stack  Responsible for between 100-1000 instances of a data structure called tablet (bag of key to timestamp mappings), stored in a set of B-tree like files and a write-ahead log in a DFS called Colossus. Implements a single Paxos state machine on top of each tablet to support replicationThese state machines implement a consistently replicated bag of mappings; each mapping state of each replica is stored in its corresponding tablet. Writes initiate the Pax…