NoSQL數據庫 SenseiDB

openkk 12年前發布 | 17K 次閱讀 NoSQL數據庫 NOSQL

SenseiDB是一個NoSQL數據庫,它專注于高更新率以及復雜半結構化搜索查詢。熟悉Lucene和Solor的用戶會發現,SenseiDB背后有許多似曾相識的概念。SenseiDB部署在多節點集群中,其中每個節點可以包括N塊數據片。Apache Zookeeper用于管理節點,它能夠保持現有配置,并可以將任意改動(如拓撲修改)傳輸到整個節點群中。SenseiDB集群還需要一種模式用于定義將要使用的數據模型。
NoSQL數據庫 SenseiDB

從SenseiDB集群中獲取數據的唯一方法是通過Gateways(它 沒有“INSERT”方法)。每個集群都連接到一個單一gateway。你需要了解很重要的一點是,由于SenseiDB本身沒法處理原子性 (Atomicity)和隔離性(Isolation),因此只能通過外部在gateway層進行限制。另外,gateway必須確保數據流按照預期的方 式運作。內置的gateway有以下幾種形式:

  • 來自文件
  • 來自JMS隊列
  • 通過JDBC
  • 來自Apache Kafka

應用程序開發人員還可以自定義gateway。這里是一個gateway示例,它從推ter更新中獲取數據。

通過借助輸入數據流將數據送入集群,SenseiDB允許使用定義好的模式進行多方位查詢。為此,它還提供了一個可由任意HTTP客戶端訪問的 REST API。該API的靈感來源于ElasticSearch's Query DSL。SenseiDb還為API提供了Java和Python封裝,相信Ruby版本很快也會出現。

最后,SenseiDB提供了瀏覽查詢語言(Browse Query Language,簡稱BQL)作為另一種查詢方式。BQL類似SQL(目前僅包含SELECT語句),它可以用一種更方便的方式查詢SenseiDB。 此外,集群安裝還附帶了一個圖形化Web控制臺,用作對BQL查詢進行檢查和調試。

介紹內容來自 InfoQ


項目主頁:http://www.baiduhome.net/lib/view/home/1339685123521

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!