ゼットログ

よしなしごとを記す

IBMのキー・バリュー型DB

金曜日のこと。渋谷テクニカルナイトにいってきた。
Cloud時代のハイパフォーマンス・スケーラブルデータストアを考える
その名もWXS(WebSphere eXtreme Scale)というらしい。以下、メモした内容を転記。

概要

  • Javaで作られたインメモリデータキャッシュである
    • keyとデータと対にして管理する
    • Map&Reduce
    • APIを使用して直接データをオブジェクトに取り込むことができる。プログラム寄りのデータストア。
    • 現行のAPサーバーとDBサーバーの間に配置することで容易に分散DB環境を構築できる。
    • データを永続化させるためにはバックに別のDBが必要(DB2とか)
      • メモリの更新とは非同期に更新内容がDBに反映される。
    • データは自動的に各ノードに分散して格納される。
    • レプリケーション機能完備。ノードが落ちても自動的に回復してくれる。

面白かったところ

  • レプリケーションはスレーブ同士で実行できる。これによりマスターへの負荷を減らしながら複数のレプリカを作成することができる。そのうちレプリカができていればいいよ、でもマスターはキビキビ動かしたいってスタンスな場合は有効。
  • バックのDBを直接更新することも可能。
  • WXS上にSolidDBをのせることができる。こうすることでインメモリ上でキー・バリューとRDBMS両方使うことができる。
    • SolidDB懐かしかった。DB2もそうですが(RDBMS + XMLDB)、IBMってハイブリッドが好きだね。
  • 評価版があるが、8時間使用すると止まるw

所感

既存システムを改善していって、分散性や可用性を追加していく場合には有効だと思った。キャッシュとして機能するところからシステムの構造が複雑になってしまうのが気にはなる。あと、少し面白みに欠ける気もする。やんちゃさとでもいおうか。いやいや、そんなものはいらないか!?
キー・バリュー型が花盛りだ。他のDBも色々と見たり使ったりしてみよう。