virtual synchony [1] [11] JEFFERSON, D. Virtual time. ACM TOPLAS, 3 (1985), 404–425. [1] BIRMAN, K. P., AND JOSEPH, T. A. Exploiting virtual synchrony in distributed systems. In 11th SOSP (1987), pp. 123–138.
replication に分散合意を使用している BDB の B-tree コードは広く使われているが、replication はそんなに使われ ていない そこまできちんとメンテされない → replication のコードを使うのはリ スクと判断 結果、WALロギングや snapshotting を使用するシンプルDB実装を作った [2] [20] OLSON, M. A., BOSTIC, K., AND SELTZER, M. Berkeley DB. In USENIX (June 1999), pp. 183–192. [2] BIRRELL, A., JONES, M. B., AND WOBBER, E. A simple and e cient implementation for small databases. In 11th SOSP (1987), pp. 149–154.
locking could be ignored 不必要なコミュニケーションは削減しなければならない Poor API choices have unexpected a ects キャンセルのための呼び出し Close() and Poison() server state を棄却する Cencel() を追加するかも RPC use a ects transport protocols KeepAlive RPC に UDP を採用
le system interface Google の primary internal name service Bigtable usage To elect a master To allow the master to discover the servers its controls To permit clients to nd the master