もう1つは、Microsoftの「Azure Cosmos DB(以下、Cosmos DB)」です。こちらは既にサービスとして展開していた「Azure DocumentDB」を発展させたものなので、新顔と言うと語弊はありますが、2017年上半期に登場した新しいデータベースの1つです。
Cloud SpannerとCosmos DBは、それぞれ「分散」を強みとしています。また、グローバルなクラウドサービスを提供しているインフラを自社で持っているところも共通点です。ここからGoogle SpannerとCosmos DBの違いを比較してみましょう。
Cosmos DBはSQL Serverと区別するためか、Microsoft Azureの分類では「NoSQL」の位置付けになっているものの、水平分散を強みとしていることから、機能はCloud Spannerに近いといえます。少なくとも両者はクラウド利用が前提であり、「プラネットスケール(地球規模)の分散」をアピールしている点がとてもよく似ています。
ただし整合性やマルチリージョンの条件など、部分部分に違いもあります。Cosmos DBの整合性は「Strong(強)」から「Eventual(結果的)」の5段階から選ぶのに対し、Cloud Spannerでは整合性の選択肢はありません。「スケーラビリティと整合性をトレードオフする必要はない」というスタンスを取っています。また2017年8月時点では、Cosmos DBは複数リージョンでの利用が可能であるのに対し、Cloud Spannerはリージョン内で水平スケールするために、単一リージョン内でのみ利用可能です。複数リージョンでの利用は2017年後半に対応予定となっています。
また、データモデルの多様性についても大きな違いがあります。Cloud Spannerはリレーショナルデータベースであるという位置付けで、ミッションクリティカルのようなシステムを想定しているためか、データモデルの多様性はあまり重視していません。その分、スケーラビリティ、可用性、整合性を重視しています。一方、NoSQLという位置付けとなるCosmos DBは、データの多様性を売りとしています。
この他には、Facebookが開発したデータベース「RocksDB」も注目しておきたいサービスです。RocksDBもFacebookが自社の業務に特化したデータベースを開発し、それを一般企業も使えるように一般公開を行った方針はCloud Spannerと共通しています。こちらについては2017年後半の連載でより詳細に迫っていく予定です。
Copyright © ITmedia, Inc. All Rights Reserved.