NoSQLとDataSpiderの連携を考えてみる

Avatar
dstn

どうも友松です。
今回は最近クラウド関連の技術として注目されているNoSQLと言われるデータベースとDataSpiderを活用した連携シーンを考えてみたいと思います。

NoSQLとは?

もともと「NoSQL」という言葉は、現在広く普及しているRDBMS(MySQLやOracle等)とは異なるアーキテクチャを持つデータベースのことを意味しています。つまりNoSQLとはRDBMS以外のデータベースすべてを指すということになります。
しかしながら、現在NoSQLという文脈で語られるデータベースは以下のようなアーキテクチャを持つデータベースのことがほとんどです。

  • 分散KVS 
  • 列指向データベース 
  • ドキュメント指向データベース 

これらのデータベースが注目されている背景には、アーキテクチャがクラウドのような大規模なデータを扱うことに適しており、メジャーなクラウドサービサーがサービスとしてこれらのデータベースサービスを提供していることにあります。
また、最近ではこれらのアーキテクチャをもったオープンソースソフトウェアも続々とリリースがされており、クラウドに限らずエンタープライズで大容量のデータを処理するシーンでの利用などで期待がされています。

NoSQLはしばしば既存のRDBMSと比較され議論になることが多く、そういった面でも注目されることも多いです。この点に関しては、弊社CTOの小野がBlogにまとめています。

NoSQLのメリットと利用シーン

小野も言及しているとおりNoSQLは大容量のデータを扱うことに適していますがRDBMSで出来ていたことが出来ない場合もあり、どちらが優れているというものではありません。「適材適所」で使い分けがされるものであると考えています。
では、NoSQLを利用するシーンはどのようなシーンでしょうか?
以下に簡単にまとめてみます。

1)クラウドサービスを利用したい
現時点で一番多いシーンだと思います。パブリッククラウドで提供されているNoSQLのデータベースを利用したいというシーンです。
例えばGoogleAppEngineではまだRDBMSのサービスが提供されていません。「DataStore」と言われる列指向データベースサービスにデータを格納する必要があります。また、AmazonWebServicesでは分散KVSのデータベースとして「SimpleDB」というサービスを提供しておりRDBMSのサービスである「AmazonRDS」と比べて安価で利用できます。

このようなサービスを利用する場合には結果的にNoSQLを利用することになります。

2)大容量のデータを拡張性を確保しつつ高速に処理したい
NoSQLデータベースは一般的に分散処理を前提に開発されているものが多く、スケーラビリティに非常に優れているのが特徴です。そのため、大容量のデータでかつ今後も増えていくことが予想されるデータを扱うなどの時には非常に有効です。

その他にもいろいろとありそうですが、現時点ではこの2パターンがほとんどだと思っています。

DataSpiderとNoSQLの連携

さて、それではDataSpiderを使ってNoSQLとデータ連携するシーンはどのようなものがあるか考えてみます。

1)データ移行
GoogleAppEngineなどは一定量までは無料で利用することができますので、簡易的な社内システムなどを作るシーンもあると思います。例えば社内の勤怠管理システムを作ったとした時、Excelなどで作成していた社員名簿をアップロードしたいと思いませんか?また、社内名簿に新たにデータが登録されたら勝手にGoogleAppEngineに反映するような仕組みにしたいと思うのではないでしょうか。このような時にDataSpiderが利用できます。

2)大容量データの分析
例えばHadoop(MapReduce)を利用して大容量のデータを分析したい場合、当たり前ですが分析用のデータを一旦集約する必要があります。その際にDataSpiderを利用してデータを収集し、その格納先としてNoSQLというシーンが考えられます。

3)バックアップ
クラウド上のNoSQLデータベースのバックアップにDataSpiderを利用することが考えられます。また、NoSQLのデータを他システムから扱い易くするためにRDBMSにデータを移行させたいというシーンもあるかもしれません。このような時にもDataSpiderが利用できます。

実はまだDataSpiderではNoSQL系データベースに対応したアダプタを提供していません。しかし、上記のような利用シーンが想定されるため、GoogleAppEngineのDataStoreやAmazonのSimpleDB、MongoDBやHBaseのようなオープンソースのデータベースに対応するアダプタの提供を検討をしています。

今後のDataSpiderの対応にご期待ください!

コメント

ログインしてコメントを残してください。

Powered by Zendesk