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では商用サポートに加え、インクリメンタルバックアップとリストア機能など運用を容易にする機能が追加されています。

あわせて読みたい

NoSQL RDB クラウド SQL




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

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

最新記事10本