SenseiDB 介绍
SenseiDB是一个Nosql数据库,它专注于高更新率以及复杂半结构化搜索查询。熟悉Lucene和Solor的用户会发现,SenseiDB背后有许多似曾相识的概念。SenseiDB部署在多节点集群中,其中每个节点可以包括N块数据片。Apache
Zookeeper用于管理节点,它能够保持现有配置,并可以将任意改动(如拓扑修改)传输到整个节点群中。SenseiDB集群还需要一种模式用于定义将要使用的数据模型。
从SenseiDB集群中获取数据的唯一方法是通过Gateways(它
没有“INSERT”方法)。每个集群都连接到一个单一gateway。你需要了解很重要的一点是,由于SenseiDB本身没法处理原子性
(Atomicity)和隔离性(Isolation),因此只能通过外部在gateway层进行限制。另外,gateway必须确保数据流按照预期的方
式运作。内置的gateway有以下几种形式:
- 来自文件
- 来自JMS队列
- 通过JDBC
- 来自Apache Kafka
应用程序开发人员还可以自定义gateway。这里是一个gateway示例,它从Twitter更新中获取数据。
通过借助输入数据流将数据送入集群,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查询进行检查和调试。
SenseiDB 官网
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。