クラウドの力を引き出す分散データベース

はじめに本記事では、プライベート・クラウドなどで実際に利用可能な分散型データベースの一例として、Apache Cassandraを紹介します。機能的な特徴やアーキテクチャの概要だけでなく、運用する上で必要となるクラスタとノードの操作方法(ノードの追加/削除、バックアップなど)についても説明します。A

平井 伸幸(ひらい のぶゆき)

2010年6月17日 20:00

はじめに

本記事では、プライベート・クラウドなどで実際に利用可能な分散型データベースの一例として、Apache Cassandraを紹介します。

機能的な特徴やアーキテクチャの概要だけでなく、運用する上で必要となるクラスタとノードの操作方法(ノードの追加/削除、バックアップなど)についても説明します。

Apache Cassandraは、Amazon Dynamoと Google BigTableの特徴を統合した分散型データベースと言われています。クラウド向け分散データベースの事例を参照していただければ、より特徴を理解しやすくなると思います。

Apache Cassandraとは

Apache Cassandraは、Amazon Dynamoの特徴である“耐障害性の高さやデータの分散保持を考慮した分散特性”と、 Google BigTableの特徴である“ColumnFamilyをベースとしたリッチ・データ・モデルや柔軟性の高さ”などを統合した、第2世代の分散型データベースです。

もともとは米Facebookが自社開発した技術であり、2008年にオープン・ソース化され、2009年にApache Software Foundation(ASF)に寄贈されました。

現在では、Apacheのトップ・レベル・プロジェクト(http://cassandra.apache.org/)として、Apacheのコミッタや、さまざまな企業から参加しているコントリビュータによって、開発が進められています。

2010年6月現在のバージョンは0.6.1です。すでに、米Facebook、米Digg、米Twitter、米Rackspace Hostingなど、大量のデータを扱っている多くの企業で使われています。最大規模の商用クラスタでは、150台以上のノードで100TB(テラバイト)以上のデータを扱っています。

Cassandraの特徴

Cassandraは、Amazon DynamoとGoogle BigTableから、以下のような機能を引き継いでいます。

図1: Apache Cassandraの特徴

こうした背景があり、Cassandraは、以下の特徴を持っています。

耐障害性
耐障害性を高めるため、データは自動的に複数のノードへとレプリケーションされます。異なるデータ・センターをまたいだレプリケーションもサポートしています。
サービスの提供が不可能となったノードは、システムを停止することなく入れ替えることができます。
分散特性
クラスタ上の全ノードが同一の扱いとなっており、管理ノードが必要ありません。このため、ネットワークのボトルネックやSPOF(Single Point Of Failure)が存在しません。
一貫性
可用性を確保するため、結果整合性(Eventual Consistency)モデルを採用しています。
結果整合性モデルは、誰かがデータを更新し、更新データが複製されるのに十分な時間が過ぎた後、更新が行われていなければ、必ず最新のデータにアクセスできる、というモデルです。
リッチ・データ・モデル
Key/Valueのデータだけでなく、カラム型のデータ構造を持っています。これにより、単純なKVS(Key Value Store)では実現できない、複雑なデータを管理できます。
高可用性、柔軟性
Read/Writeスループットは、新しいノードを追加することで線形(リニア)に増加します。 ノードの追加・削除の際に、システム停止やクライアント・アプリケーションへの割り込みは発生しません。
また、Read/Write処理は、書き込みを保障しない(とりあえず書き込んだ)レベルから、書き込みが保障されている(全レプリカ・データが読み込み可能な状態になった)レベルの間で、Consistency Level(整合性レベル)を設定できます。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30