BDRT

BDRT(Beagledata Realtime Transaction)是一款大规模高并发支持灵活查询的实时查询引擎,具有高可用、可横向扩展、健壮性的特点,支持数据自动均匀分布、支持索引及事务控制、支持REST、SQL、SDK等接口,支持上千个用户并发的进行实时查询。

类别:

BDRT查询引擎具有下列特性:

  • 与hadoop生态圈紧密结合,可与其他hadoop组件进行无缝集成。
  • 支持数据和用户的高扩展,水平扩展非常容易。支持高效稳定的海量数据存储,可有效支持上亿行、上百万列、上万个版本,支持对数据自动分片。
  • 具有容错性的数据分发和备份,对索引分片,并对每个分片创建多个副本。每个副本都可以对外提供服务。一个副本的异常不会对整个集群提供索引服务造成影响。
  • 支持高可用性和热备份。
  • 支持对数据进行各种高级查询,包括交集、联集、排除、通配符、范围、分页、排序、Group等。
  • 读写严格一致,支持ACID(ACID指数据库正确执行的四个基本要素,包括:原子性,一致性,隔离性,持久性)和最终一致性。支持事务的提交和回滚,有效保障了数据的完整性。
  • 数据查询的秒级毫秒级响应,从而支持OLTP。

BDRT具有包括Java、Python、Scala SDK,RESTFul API,SQL等多种读写接口,可同时满足FTP、MQ、Sqoop、Flume、Kafka等多种数据接入方式,同时支持天云自有交换平台的数据接入。同时利用多种多样的接口可向各类业务应用推送需要的数据。支持全量导入、增量导入数据、读取数据支持分页等细节功能。

保持数据事务一致性,对ACID的有效支撑。事务控制层可以支持安全的使用并发的多线程。可以支持对一个数据对象或方法在读写上的提交与回滚。在事务完成时,无论成功或者回滚,数据在多个节点都会处于一致的状态。

为了更好的查询效率和对各种数据类型有更好的支持,BDRT索引包含了多种数据类型的索引,这些数据类型包括:Byte、Short、Integer、Long、Float、Double、Decimal、Precision、String、Date、Instant等,有了这些数据类型,索引就可以根据业务实际需要来进行选择,紧密的和业务结合在一起。

通过持久化接口将数据在BDRT中持久化。BDRT原生支持了多种数据类型,这些类型包括:String、Character、Boolean、Byte、Short、Integer、Long、Float、Double、Decimal(拥有三位小数的数字)、Precision(拥有6位小数的数字)、Date、UUID。

  • 采用分布式架构解决数据的安全性、稳定性,相对于传统关系型数据库,大大提高了数据的存储容量。
  • 支持数据和用户的高扩展,水平扩展非常容易。支持高效稳定的海量数据存储,可有效支持上亿行、上百万列、上万个版本,支持对数据自动分片。
  • 具有容错性的数据分发和备份,对索引分片,并对每个分片创建多个副本。每个副本都可以对外提供服务。一个副本的异常不会对整个集群提供索引服务造成影响。
  • 支持对数据进行各种高级查询,包括交集、联集、排除、通配符、范围、分页、排序、Group等。
  • 读写严格一致,支持ACID。支持事务的提交和回滚,有效保障了数据的完整性。
  • 数据查询的秒级毫秒级响应,从而支持OLTP。
  • 可与其他组件可以做到轻松集成,既可以与业务系统结合,将读数据放到BDRT端,来做读写分离,为业务系统减负,也可通过大数据平台hadoop和spark进行ETL处理,从而支持OLAP。
  • 良好的开发规范和完善的文档支持,降低了开发人员的使用门槛,无需关心BDRT的底层。
  • 利用BDRT低延时、高性能、海量存储等特性,满足需要从海量的历史和实时数据中秒级获取有效信息的场景。
  • 在分布式背景下,数据量不断的增长,需要高速的读写,并有复杂的ETL需要的场景。
  • 用户使用频率非常高,重要程度仅次于核心应用,对数据的丢失以及服务的中断零容忍的场景。
  • 对数据的一致性有要求的场景。