分散DB技術
データを有効に扱うにはPostgreSQLやMySQLなどのリレーショナルデータベースに保存するのが一般的ですが、扱うデータが大量になった場合や大量アクセスなどの理由で1台のサーバで処理しきれない場合があります。
PostgreSQLやMySQLなどでも分散処理することは出来ますが、データや処理の増大による運用の手間などの問題を抱えています。
そのため最初から分散処理を考慮した分散データストアが必要とされています。
分散データストアはデータの構造やアクセス方法を制限することにより分散処理や可用性を高めています。
そのため完全なリレーショナルデータベースの置き換えとはなりませんが、大量のデータ処理や大量アクセスに対するソリューションの一つして注目されています。
代表的な分散データストアとして以下のようなものがあります。
既存のデータベースのパフォーマンスに問題を感じている方は、是非お気軽にご相談ください。
Couchbase Server
website:couchbase.com
memcached互換のメモリキャッシュにデータ永続化、水平分散、レプリケーションが加わっており、クラスタを運用、監視するための管理機能が整備されています。ver 2.0からはApache CouchDBが持つ検索機能も統合され、さらに充実したNoSQLデータベースに成長しています。
また、スマートフォンやタブレットをはじめとするデバイスとクラウド上のCouchbase Serverクラスタ間でデータを同期する仕組みがあります。モバイルからクラウドまで、統合的なソリューションを実現できるプロダクトです。
2012年1月27日、開発元の米Couchbase社と連携し、CouchConf Tokyoを開催しました。
HBase
website:hbase.apache.org
Apache Software Foundationで開発されているHadoopの関連プロジェクトです。
GoogleのBigtableを元にした実装で、Hadoopの提供するHDFSという分散ファイルシステム上に構築されているカラム指向型の分散データストアです。
高い一貫性が特徴で、Hadoopによる分散並列処理と共に用いられることが多いです。
Cassandra
website:cassandra.apache.org
CassandraはFacebookでの大規模データ処理を目的に開発され、その後Apache Software
Foundationでオープンソースプロジェクトとして開発されています。
分散方式はAmazon Dynamoをベースに、データ構造にはGoogleのBigtableの特徴を取り入れたカラム指向型の分散データストアです。
選択可能な一貫性と高い可用性とネットワーク分断耐性を持っています。