KVSとしてのRiak、オブジェクトストレージとしてのRiak:KVS実装をオブジェクトストレージにも適用
ここ数年、分散KVS技術を持つITベンダーによるオブジェクトストレージ製品投入が進んでいる。本稿ではその中の一つであるRiakを取材、KVS、オブジェクトストレージ双方の動向を聞いた。
米Basho TechnologyesのNoSQLデータベース「Riak」は、スケーラブルに拡張可能な分散型データベースである。一方で共通のコアエンジンを用いたオブジェクトストレージである「Riak CS」も、日本進出の最初期段階から、国内ではIDCフロンティアなどのデータセンター/クラウドサービス事業者が注目し、クラウド向けストレージサービスのプラットフォームとしても注目されている。
同社のCEOであるAdam Wray氏の来日の機会にRiakの最新状況について聞いた。
NoSQLとしてのRiak
「Couchbase、MongoDB、DataStaxやApache Cassandraと並び、RiakはNoSQLデータベース市場でトップ5に入っている」(Wray氏)
Bashoが提供するNoSQLデータベースRiakの市場でのポジショニングについての問いに、Wray氏はこのように回答した。
構造化データのためのRDBMS市場は、オラクルやIBM、マイクロソフトの製品が今後も牽引していくことに変わりはないとしながらも、Wray氏は、Riakが必要とされる非構造化データや、予測不可能なボリュームのデータを扱うためのデータベースに対する市場ニーズは高まると予測している。
「Riakが特に強みを持つのはエンタープライズ市場。この市場に対しては主に二つの差別化要因がある。一つはスケーラビリティの高さ、もう一つは運用管理のシンプルさだ」という。
ユーザー企業には大手企業といえるAT&TやYahoo! JAPANがあり、パートナー/OEMとしてはヴイエムウェアやIBMなどもRiakをサポートしている。IBMに関してはOpen Power Foundationを介してPower Systems製品への組み込みも実現しており、比較的大規模なエンタープライズ市場向けのアプローチに強いようだ。
Wray氏は「過去10年、特に直近の5年でデータベースのコストは下落しているが、同時にこの期間にデータの量と価値が急速に増大した」と指摘、ユーザー企業がデータの価値を最大限に引き出せるよう、データを活用するためのシステムの構築に取り組み始めているとして、データ構造定義などRDBMS設計の事前準備工数が必要のないNoSQLの利用シーンは今後も高まると期待を寄せている。
ちなみに、Riakのコア部分は並行処理指向のプログラミング言語であるErlangで記述されている点も特徴だ。
性能の高さを示すビジネスユーザーにおける利用例として、Wray氏は米国の大手コマースサイトである「Best Buy」での、ショッピングカートのプロファイリングプロセスでの採用例を挙げた。
この他Riakでは、RDBMSのようなデータベース設計は不要なものの、「バケット」という概念を用いてRDBにおける「テーブル」と同様の機能を持たせている点も特徴的な実装である。
分散KVSの場合、そのアルゴリズムの性質上、大量トランザクションに対するレスポンス性能や書き込み時のデータ一貫性保証の方法などが実装によって大きく異なっている。この実装の違いが、性能や適応領域の差に出てくるのだが、Riakの場合は、「先の記事」で紹介したとおり、結果整合性の厳密さが求められ、かつスケールしやすいという特徴を持っている。
英国のNHS(National Health Service:国民保険サービス、国営の医療サービス事業)の採用事例では、患者の医療記録の保存/管理のためのデータベースとしてRiak Enterpriseを採用している。
NHSの事例は、従来オラクルのRDMBSを利用していたが領域にRiakを採用したケースだ。毎月のトランザクション数が4億にも達する大規模システムだが、Riakはこのスケールにも問題なく拡張できる上、運用管理の工数は「RDBMSよりも少なくて済む」(Wray氏)点が採用の動機となったという。KVSの実装には多様な方式が考案されているが、単一障害点となり得る「管理ノード」を持たない実装であることから、耐障害性が高く、運用管理工数が削減できる点も利点であるという。
NHSのケースでは、「システムの性格上、データの一貫性を保障することが強く求められたが、こうした要件にもRiakは問題なく対応できた」(Wray氏)としている。
オブジェクトストレージとしてのRiak
Bashoでは、Riakの分散処理技術をベースにしたOSSのオブジェクトストレージ「Riak CS」や、そのエンタープライズ版である「Riak Enterprise CS」を提供している。Riak Enterprise CSには、複数のデータセンターをまたぐレプリケーションを実現する機能もある。
Riak CSは、Amazon S3相当の分散型スケールアウトストレージとして機能する。前述の通り、並行処理や「バケット」オブジェクトの実装などにより高速な処理が可能であるため、大規模な運用にも耐えられる点が一つの特徴といえるだろう。
日本国内でのBashoの戦略的パートナーであるIDCフロンティアは、Riakをベースとした分散型スケールアウトストレージ環境を構築、 Amazon S3相当のストレージサービスを提供している(関連記事)。また、Yahoo! JAPAN内でも同様に商用ストレージサービスを展開している。なお、同サービスはデータの堅牢性について、99.99999999999999999%(9が19個)と説明している。
直近では、Riak CSに限らず、例えばNTTコミュニケーションズがクラウドストレージサービス「Cloudn」で採用している「Cloudian」(関連記事)のように、クラウドストレージサービスにAmazon S3互換APIを持つ分散型オブジェクトストレージを採用するサービスプロバイダーや大規模な企業情報システムの動きが活発になりつつある。同様のプロダクトには「Caringo」「Avere」などが挙げられる。その多くがKVSにおける分散処理の技術を応用しており、分散の方法やデータ保護の方法、管理容易性やAPI互換性などに特徴を見いだせる。
NoSQL蓄積してきた分散格納や読み出しにおけるデータ一貫性保証などの技術を応用することで、汎用サーバーと安価なストレージ装置のみで、事前のストレージ設計不要な構成から大規模に拡張可能なストレージ環境が実現するため、今後はオブジェクトストレージに注目が集まるものと考えられる。これについては、稿をあらためてその動向を紹介する予定だ。
なお、Bashoでは2014年9月16日にRiakの最新バージョンである「Riak Enterprise 2.0」をリリースしている。
新版では、Apacheプロジェクトの一つで全文検索エンジン機能を提供する「Apache Solr」を取り込み、従来のRiak Search機能を全面的に刷新、SolrのクライアントクエリAPIもサポートした。また、エンタープライズ用途で特に関心の高いユーザー管理に関する機能もRiak内に持つようになっている。
非構造化データに限らず、エンタープライズ用途での利用に広く適用できる機能拡張が特徴といえよう。
Copyright © ITmedia, Inc. All Rights Reserved.