BT

LinkedIn EngineeringがSenseiDB 1.0.0をリリース

| 作者: Kostis Kapelonis フォローする 0 人のフォロワー , 翻訳者 徳武 聡 フォローする 0 人のフォロワー 投稿日 2012年3月26日. 推定読書時間: 2 分 |

原文(投稿日:2012/03/19)へのリンク

LinkedIn Engineeringはオープンソースの分散半構造化データベースであるSenseiDBリリースした。SenseiDBはLinkedInの検索インフラで利用されている技術であり、LinkedIn Signalやその他の検索関連技術(例えば、人や企業の検索)で利用されている。SenseiDBは同社の内部で開発され、Search, Network, Analyticsプロジェクトの下、オープンソースで公開された。

SenseiDBは高い更新頻度と、複雑な半構造化検索クエリに対処することに力点が置かれたNoSQLデータベースだ。LuceneやSolrに慣れているユーザならSenseiDBの背後にある考え方を認識できるかもしれない。SenseiDBは複数のノードから構成されるクラスタに配置される。各ノードはNのデータのシャードを持つ。ノードはApache Zookeeperによって管理される。Apache Zookeeperが現在の構成を保持し、構成の変更(トポロジの変更)を他のノードに転送する。また、ひとつのSenseiDBクラスタには扱うデータモデルを定義するためのスキーマが必要だ。

SenseiDBクラスタにデータを入れる場合、ゲートウェイ("INSERT"する方法はない)を使う。各クラスタはひとつのゲートウェイに接続されている。この点はSenseiDBを理解する上で重要だ。というのはSenseiDBは、不可分性と独立性を管理しないのだ。したがって、この2つの性質はゲートウェイのレベルで担保しなければならない。ゲートウェイはデータの流れが期待された振る舞いをするように動作する必要がある。組み込みで提供されるゲートウェイは、

開発者はカスタムのゲートウェイを実装できる。Twitterの更新からデータを取得するサンプルのゲートウェイも提供されている。

また、SenseiDBは定義されたスキーマに基づいたファセット問い合わせもサポートする。この問い合わせ用にHTTPクライアントからアクセスできるREST APIを提供する。このAPIはElasticSearchのQuery DSLから着想を得ている。このAPIのJavaとPythonのラッパーも提供する。Ruby版も提供される予定だ。

また、SenseiDBは問い合わせ方法のひとつとしてBQL (Browse Query Language)も提供する。BQLはSQLに似た言語(SELECT文だけしかない)で、簡便な方法でSenseiDBに問い合わせができる。クラスタのインストールにはBQL用のウェブコンソールが付属している。

更なる情報はドキュメントJavadocsWikiで得られる。ソースコードはGitHubにホストされている。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT