スパナ(データベース)

Google Cloud Summit の Cloud Spanner ブース

Spannerは、 Googleが開発した分散SQLデータベース管理およびストレージサービスです。[ 1 ]グローバルトランザクション、強力な整合性のある読み取り、自動マルチサイトレプリケーションおよびフェイルオーバーなどの機能を提供します。Spannerは、Googleの広告事業であるG​​oogle 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アルゴリズムを使用しています。 [ 1 ] GPSクロック原子時計を使用したハードウェア支援クロック同期を多用して、グローバルな一貫性を確保しています。[ 1 ] TrueTimeはGoogleの分散クラウドインフラストラクチャのブランド名であり、Spannerに世界中のデータセンターで単調に増加するタイムスタンプを生成する機能を提供しています。[ 7 ]

GoogleのF1 SQLデータベース管理システム(DBMS)はSpanner上に構築されており、[ 2 ] GoogleのカスタムMySQLバリアントに取って代わりました。[ 8 ]

参考文献

  1. ^ a b cコーベットら 2012 .
  2. ^ a bシュートら 2012 .
  3. ^ 「Cloud Spanner の価格パフォーマンス更新のお知らせ」
  4. ^ Clark, Jack (2012年9月18日). 「Google、地球規模のデータベース技術「Spanner」を発表」 . ZDNet . 2021年8月4日閲覧
  5. ^ Spanner: SQLシステムになる. 2017年5月9日. pp.  331– 343. doi : 10.1145/3035918.3056103 . ISBN 9781450341974. S2CID  3055672 .
  6. ^ Srivastava, Deepti (2017年2月14日). 「Cloud Spanner のご紹介:ミッションクリティカルなアプリケーション向けのグローバル データベース サービス」 . Google Cloud ブログ. 2021年8月4日閲覧
  7. ^ 「Cloud Spanner:TrueTimeと外部整合性」。Google Cloud 2020年11月24日閲覧。
  8. ^ Shute et al. 2012、p. 19:「概要: 大規模かつ重要なアプリケーション スイートを MySQL から F1 に移行しました。」

参考文献

  • 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 メンテナンス: 場所の発行元が見つかりません (リンク)

さらに読む