Google Spannerクローンを目指した「CockroachDB」正式版リリース。クラウド上にグローバル展開することで大規模障害からも生き残れる分散型SQLデータベース

2017年5月17日

オープンソースで開発されているスケーラブルな分散SQLデータベース「CockroachDB」がバージョン1.0に到達し、正式版としてリリースされました

fig

CockroachDBは、GoogleのSpannerに触発されて開発が始まったオープンソースソフトウェアです。

GoogleのSpannerは地球規模の大規模分散データベースで、NoSQLの非常に高いスケーラビリティと高い可用性、そして高速な処理を実現しつつ、SQLに対応。強い一貫性を持つトランザクション処理も実現しています。

Googleはこれらを実現するために、独自の分散データベースソフトウェアを開発しただけでなく、同社の全データセンター間を高速な光ファイバー回線で接続し、GPSと原子時計を用いてすべてのトランザクションに厳密なタイムスタンプを付けるなどハードウェア面でも高度な技術を駆使しています。

CockroachDBは、一般的な(つまりサーバが原子時計などを備えないような)パブリッククラウド環境において、このSpannerのようにグローバルに分散してデプロイすることでデータセンター規模の障害が発生しても継続して稼働し、しかもスケーラブルな性能を実現できて、強い一貫性を実現するトランザクション処理とSQLをサポートするデータベースの実現を目指して開発が始まりました。

CockroachDBの名前は、コックローチ(=ゴキブリ)のしぶとさを象徴して付けられたようです。もうちょっといい名前はなかったのでしょうか……。

CockroachDBのアーキテクチャは、スケーラブルなNoSQLをデータベース基盤とし、その上にSQLのレイヤを載せています。具体的にはデータベース基盤にキーバリューストアの「RocksDB」を採用。64MBのチャンクごとに「Range」と呼ばれるレプリケーションユニットを構成し、「Raft」分散合意アルゴリズムを用いて分散環境での一貫性などを実現。

分散されたデータベース間でのデータレプリケーションによるデータ保護と障害が発生した際の自動修復機能などによって、強い一貫性を維持しつつもスケーラビリティと高度な耐障害性を実現していると説明されています。

fig

FAQによると、CockroachDBn得意分野は分散環境でのトランザクション処理や、クラウドネイティブな環境での展開、複数のデータセンターに対する展開など。一方、複雑なジョインなどのSQL処理、あるいはヘビーな分析処理やOLAP処理などは得意分野ではないとしています。

商用版のCockroachDB Enterpriseも登場

CockroachDBの開発元であるCockroach Labsは、CockroachDB商用版となる「CockroachDB Enterprise」もあわせて発表しました。CockroachDB Enterpriseでは商用サポートに加え、インクリメンタルバックアップとリストア機能など運用を容易にする機能が追加されています。

このエントリーをはてなブックマークに追加
follow us in feedly

タグ : NoSQL , SQL , リレーショナルデータベース



≪前の記事
Web APIをRDBにモデル化。RESTfulもSOAPもODBC/JDBC経由で簡単にアクセス可能にする、CDataのドライバ群[PR]

Loading...

Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。新しいオンラインメディアの可能性を追求しています。
詳しいプロフィール


Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed



Publickey 最新記事 10本

Publickey Topics 最新記事 10本


PR - Books


fig

fig

fig

fig



blog comments powered by Disqus