Google Cloud Summit の Cloud Spanner ブースSpannerは、 Googleが開発した分散SQLデータベース管理およびストレージサービスです。グローバルトランザクション、強力な整合性のある読み取り、自動マルチサイトレプリケーションおよびフェイルオーバーなどの機能を提供します。Spannerは、Googleの広告事業であるGoogle AdsのデータベースであるGoogle F1 、Gmail、Googleフォトで使用されています。[ 2 ] [ 3 ]
特徴
Spanner は大量の変更可能な構造化データを保存します。Spanner を使用すると、同期レプリケーションによってデータの強力な一貫性と高可用性を維持しながら、リレーショナルデータに対して SQL を使用して任意のクエリを実行できます。
Spanner の主な機能:
- トランザクションは、Spanner ユニバース内の行、列、テーブル、データベース全体に適用できます。
- クライアントは、自動マルチサイト レプリケーションとフェイルオーバーを使用して、データのレプリケーションと配置を制御できます。
- レプリケーションは同期されており、強力な一貫性があります。
- 読み取りは強力な一貫性を備えており、データは古い読み取りを可能にするためにバージョン管理されています。つまり、クライアントはガベージ コレクション ウィンドウに従って、以前のバージョンのデータを読み取ることができます。
- データの読み取りと書き込みのためのネイティブ SQL インターフェイスをサポートします。
歴史
Spannerは2012年にGoogle内部のデータセンター向けに初めて説明されました。[ 4 ]
SpannerのSQL機能は2017年に追加され、SIGMOD 2017の論文に記載されています。[ 5 ] 2017年にはGoogle Cloud Platformの一部として「Cloud Spanner」という名前で利用可能になりました。[ 6 ]
建築
Spannerは、最大数百台のサーバーにデータを分割(シャーディング)する操作の一部としてPaxosアルゴリズムを使用しています。 GPSクロックと原子時計を使用したハードウェア支援クロック同期を多用して、グローバルな一貫性を確保しています。 TrueTimeはGoogleの分散クラウドインフラストラクチャのブランド名であり、Spannerに世界中のデータセンターで単調に増加するタイムスタンプを生成する機能を提供しています。[ 7 ]
GoogleのF1 SQLデータベース管理システム(DBMS)はSpanner上に構築されており、[ 2 ] GoogleのカスタムMySQLバリアントに取って代わりました。[ 8 ]
参考文献
参考文献
- Corbett, James C; Dean, Jeffrey ; Epstein, Michael; Fikes, Andrew; Frost, Christopher; Furman, JJ; Ghemawat, Sanjay ; Gubarev, Andrey; Heiser, Christopher; Hochschild, Peter; Hsieh, Wilson; Kanthak, Sebastian; Kogan, Eugene; Li, Hongyi; Lloyd, Alexander; Melnik, Sergey; Mwaura, David; Nagle, David; Quinlan, Sean; Rao, Rajesh; Rolig, Lindsay; Saito, Yasushi; Szymaniak, Michal; Taylor, Christopher; Wang, Ruth; Woodford, Dale (2012). Spanner: Google's Globally-Distributed Database (PDF) . 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI'12). ハリウッド, カリフォルニア州. 2012年9月18日閲覧。
{{cite conference}}: CS1 maint: ref がデフォルトと重複しています (リンク)。 - Date, Christopher 'Chris' J (2004)、「6. リレーション、パート II. リレーショナルモデル」、データベースシステム入門(第 8 版)、Addison Wesley、ISBN 978-0-32119784-9。
- Shute, Jeffrey 'Jeff'; Oancea, Mircea; Ellner, Stephan; Handy, Benjamin 'Ben'; Rollins, Eric; Samwel, Bart; Vingralek, Radek; Whipkey, Chad; Chen, Xin; Jegerlehner, Beat; Littlefield, Kyle; Tong, Phoenix (2012)「F1 — Google の広告ビジネスを支えるフォールトトレラントな分散型 RDBMS」、研究(プレゼンテーション)、SIGMOD
{{citation}}: CS1 メンテナンス: 場所の発行元が見つかりません (リンク)。 - Shute, Jeffrey 'Jeff'; Oancea, Mircea; Ellner, Stephan; Handy, Benjamin 'Ben'; Rollins, Eric; Samwel, Bart; Vingralek, Radek; Whipkey, Chad; Rae, Ian; Apte, Himani; Littlefield, Kyle; Cieslewicz, John (2013)、「F1: スケーラブルな分散SQLデータベース」、研究(プレゼンテーション)、International Conference on Very Large Data Bases
{{citation}}: CS1 メンテナンス: 場所の発行元が見つかりません (リンク)。
さらに読む