夢のデータベース? 「Cloud Spanner」の実力は?:Mostly Harmless(2/2 ページ)
Googleが発表した「Cloud Spanner」は、どのような仕組みでトランザクション処理の大規模分散処理を実現したのでしょうか?
トランザクション処理(ACID)を諦めたNoSQL
こういった背景から、Googleなどのインターネット企業は、RDBMS以外のデータベースを模索します。全世界のWebサイトをインデックスしなければならないGoogleは、世界で最も早くRDBMSの限界に向き合った企業の1つといえるでしょう。
その中で開発されたのが「BigTable」などのデータベースで、RDBMSとは全く違ったデータ構造、仕組みを持ちます。これらは「RDBMSではない(=SQLを使わない)」ことを示すために「NoSQL」という呼称で呼ばれるようになります。NoSQLは、ACID特性(CA)を諦めることによって、CPあるいはAPを実現し、分散処理を可能にしているといえます。
分散データベースなのにACIDを実現できる?
というように、要するにこれまで不可能といわれていたことを可能にしたのが、Cloud Spannerということです。こちらの記事が「いいとこ取り」と書いているのは、そういうわけです。
それで本当に動くなら、これは「夢のデータベース」といってよいと思います。しかし、何か落とし穴がありそうな気もしています。話がうますぎますし……。うそではないにせよ、いろいろ制限があるとか、そういったことがこれから出てくるかもしれません。
それを調べるために、仕組みがどうなっているのか調べようとしているのですが、これがなかなか難しいのです。このような記事もあるのですが……。「SpannerはDatastoreに似ている」ということですが、DatastoreってNoSQLですし。「Paxos」というのがキーワードのようですが、これも難しそうです。こちらの記事(Googleの論文の翻訳)によると、原子時計まで使っているようです。
Cloud Spannerの本質はCP型のNoSQLだった
こりゃ、お手上げだなぁ……と思っていたところ、本家GoogleのブログにCAP定理との関連で解説されていました。
Spannerはワイドエリアで扱えるものでありながら、一貫性と高可用性を両立するとありますが、CAPの観点から見ると、多くの人が意外に、あるいは疑わしいとさえ思うでしょう。これは議論すべき題材です。果たしてSpannerはCAPで定義されているようなCAシステムなのだろうかと。端的に答えると、技術的には違いますが、実際のところCAシステムだと考えて構いません。
「技術的には違いますが、実際のところ」って何でしょうか……よく分かりません。しかし、その後に……
分断が起きるとSpannerはCを選択し、Aを犠牲にします。つまり技術的に見ると、SpannerはCPシステムなのです。
と記載されていました。やはり、CAP定理を乗り越えたわけではないのですね。
Googleのブログでは、この後、どんなシステムも100%の可用性を持ってはいないのだから、障害が起きることを考えなくてもよいほどの高い可用性があればよい、と展開しています。しかし、そうなのでしょうか? 開き直りのような気もしますが。
要は、「めったに落ちないから気にしなくてもいいんです。他のシステムだって、絶対に止まらないってことはないでしょ?」ということでしょうか。
Cloud Spannerは、可用性の数値として、99.999%を挙げています。これはGoogleの他のサービスのSLAと同じですが、メインフレームの可用性って、確か99.9999%ですよね。9の数が1つ違います。99.9999%だと、年間の停止時間が32秒、99.999%だと5分15秒です。まあ、この可用性でも十分、という業務もあるのでしょうが、金融トランザクションにはまだまだ使えなさそうです。
5月にはMicrosoftからも同様のサービスとして「Azure Cosmos DB」がローンチされています。こちらは「謎」と呼ばれていますね。
関連記事
- 連載:「Mostly Harmless」記事一覧
- AWSの独走は終わる? GoogleとAzureがAWS以上の評価を獲得
AWSがクラウド市場のリーダーであることに疑問の余地はない。しかし、部分的にではあるが競合の評価がAWSのそれを上回り始めた。Google Cloud PlatformやMicrosoft Azureが逆転する日がくるかもしれない。 - NoSQLデータベース製品導入戦略ガイド
世の中には大量のデータが存在する。だがその多くは、複雑なクエリ言語を伴う重量級のリレーショナルデータベースに保存する必要はない。本稿ではNoSQLデータストアという新しいカテゴリーと、それがどう使われているかについて解説する。 - コレ1枚で分かる「ブロックチェーン」
仮想通貨の根幹として注目を集める分散型台帳技術「ブロックチェーン(block chain)」。その仕組みと検討が進む適用分野などについて解説します。 - ブロックチェーンは個人情報をどのように守るのか?
医療機関での医療情報共有などに活用する取り組みが出始めているブロックチェーン技術。患者の個人情報を守る仕組みはどのように実現されるのか? Googleの人工知能部門DeepMindの取り組みを例に、考察します。
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.