【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

Basho 公司开源了它的时序数据库产品 Riak TS 1.3

  • 2016-07-25
  • 本文字数:2863 字

    阅读完需:约 9 分钟

Basho 科技公司发布了Riak TS 1.3 的开源版本。Riak TS 是专门面向时序数据处理的产品。它支持时序数据的快速写入和查询。此外,Riak TS 的特性还包括:支持数据聚集和算术运算操作,通过Spark 连接器与Apache Spark 的集成,对Java、Erlang 和Python 等语言的客户端支持,基于标准SQL 的查询系统。Riak TS 1.3 EE(企业版)是基于支持多集群复制的开源版本而构建。在它的发行说明中,给出了其所有特性的完整列表。

针对本次发布,InfoQ 择机访谈了Basho 公司的CTO,Dave McCrory 先生。

InfoQ:您能对 Riak 产品套装,尤其是 Riak TS 产品,做一个概要介绍吗?套装产品的开发将依然延续彼此独立的方式吗?

McCrory: Riak 产品家族都是围绕着 Riak 内核构建的,Riak 内核是过去七年中 Basho 公司一直致力于开发的开源集群解决方案。

Riak KV 产品构建于 Riak 内核之上,提供了一种高弹性、高可用的键值数据库。Riak KV 产品当前正在持续改进中,专注于数据正确性、预防数据损失和破坏等特性。

Riak TS 产品源于 Riak KV 数据库,是一种为时序数据仓库而专门构建的产品。其中集成了 Riak KV 产品的所有强大功能,并使用这些功能去解决用户在处理时序数据中所遇到的问题。我们在该产品中确实地实现了哪些特性呢?这里我列出了其中的一部分:

  • 数据的快速写入路径;
  • 为数据桶建立模式;
  • 查询规划及查询子系统;
  • 对虚拟节点的并行数据抽取;
  • 灵活的复合键值;

InfoQ:Riak TS 产品的开发已持续近 18 个月了,你能介绍一下这个开发经历吗?

McCrory: 在早期,我们看到客户用 Riak KV 产品去保存时序数据。当我们审视其中的需求时,发现为使这样的系统顺利运行,需要做很多的产品定制工作。我们也查看了时序数据库产品的市场情况,当时只见到了寥寥可数的几个解决方案,并且所有这些解决方案的质量都不足以承担企业级的生产工作负荷。已有的时序数据解决方案或者是缺乏可扩展集群或弹性,或者是管理和操作非常繁琐。所有这些使得它们成为糟糕的选择。

为讨论解决这个问题的创意,我们进而开了一次架构会议。最终,我们的一个工程师提出了一个有意思的创意,即使用量子(时间范围)将数据围绕哈希环分布,并基于此创意构建了一个看上去运行良好的概念验证原型。依此我们开始了 Riak TS 产品的开发过程,力图去解决许多时序数据处理中更加困难的问题。

开发过程中还有其它一些限制需要处理,包括对性能的需求。譬如要在八台机器组成的集群中支持每秒百万级别数据点的性能。为实现该性能需求,需要对从涌入集群中直至磁盘存储过程中的数据流进行描述分析,并返回数据读取的路径信息。当我们开始注意这个问题时,我们就认识到需要有一个专注于性能问题的专门团队。这样,我们就成立了性能团队。

性能团队力图找出项目中效率低下的部分,这些部分很大程度上是在项目早期的开发中产生的,它们是紧随着对如何做端到端程序概要分析的学习过程。这样可给出一组问题,重点去解决这些问题就能为性能提高的工作带来最大的回报。其中我们所发现的一个重要问题是,我们正在做多重的解码编码,这消耗了 CPU 周期,并增加了许多延迟,这样我们就开始去消除这些问题。

同时我们也寻求在无需依赖于二级索引的条件下,迅速响应各种时序数据查询的方法。因为时序数据具有内在的结构,我们于是着眼于对数据构建模式。该做法也为我们实现查询引擎和查询语言等开启了大门。最终我们决定使用 SQL 查询语言,而非像其它供应商那样选择自定义的 SQL,因为我们发现那样会使得事情更加复杂。相比较于从所有包含数据的节点或从整个集群中所有的节点请求数据的方法,我们仅从拥有指定数据的节点集中请求数据。这种实现必须去重构查询解析器和查询规划器,这种做法被证实是具有挑战性的。但是该方法所给出的弹性和性能指标说明了一切。

InfoQ:除了在物联网中的使用案例之外,还有哪些使用 Tiak TS 产品的好的案例?

McCrory: 一些顾客和潜在客户已全面使用该产品去解决与时间相关的数据问题。这些问题包括信息报告和审计、分数和下注记录、度量信息的存储等。几乎每个星期我都能听到一些 Riak TS 产品的新应用。

InfoQ:Basho 公司是 Riak TS 产品的最大贡献者吗?还有哪些公司对此也有贡献?代码开源的目标是什么?

McCrory: Basho 公司当然是 Riak TS 的首要贡献者,主要原因在于为了实现时序解决方案的构建,必须由我们自己去实现许多增改。我们当前正就如何一起构建 Riak TS 的一系列功能的问题与一些公司会谈,以解决在时序数据处理领域中一些更广泛的问题。

对于代码开源的目标,我们相信对于分布式系统中的创新性方法、创意和领导力等问题,我们有许多可以贡献给开源社区的东西,我们也希望能与更好的解决方案合作。当将借助于开源代码作为产品实现路径时,几乎总是会加速你的实现过程的。我们在自家软件的开源上具有很悠久的历史,也在创造更好的解决方案过程中得到了社区的支持。

InfoQ:Apache Spark 连接器是使用 Riak TS 解决大数据问题中的一个重要组件,我说的没错吧?你能介绍一下这个连接器,以及它与其它 Apache Spark 的 NoSQL 连接器相比究竟如何?

McCrory: 自 Apache Spark 进入大数据分析行业以来,在我们所接触的大多数客户中,它都当然是行业翘首。当然我们的使用 Riak TS 的大数据解决方案的客户中,也有一些并没有使用 Apache Spark 的案例。这些案例都是不需要复杂分析、集群学习及其它一些 Apache Spark 所提供的特性的。这意味着,我们的大数据客户中的大多数是使用具有 Spark 连接器的 Riak TS 和 Apache Spark 的。

我们开发 Riak 的 Spark 连接器已经有一段时间了,当前该功能的实现已经历了至少三轮测试。我们所做的事情之一是,允许 Spark 连接器使用我们所开发的并行抽取特性。通过这个实现方法,我们具有了同时从所有节点并行地拉取所有的请求数据的能力。这加速了数据到 Spark 的加载,并且当借助于 Apache Spark 和 Spark 连接器时,通过我们所实现的写性能提高功能,使得 Riak TS 成为的一个优秀的解决方案。

InfoQ:你能提供包括 HTTP API 安全支持和聚焦于物联网在内的 Riak TS 产品的路线图吗?

McCrory: 我们期望在即将推出的 Riak TS 1.4 版中具有 HTTP API 安全等一些特性,其中包括:更全面的 SQL 命令支持、初步的结果流支持及其它一些功能。

使 Riak TS 聚焦于物联网的核心问题,是我们如何提供非常易于操作和使用的时序数据库。通过聚焦于物联网数据,我们看到了对于持续小规模数据块的越来越高的数据通量的需求。我们将继续性能优化,并与其它互补的技术对接。当前我们正在探寻的领域是数据可视化,即我们如何能使 Riak TS 与在开源领域和工业界十分流行的可视化解决方案合作或一起工作。通常,采集和存储所有这些物联网数据的关键在于如何去识别所需采取的动作。

入门指南材料可以在 Basho 文档中获取。

查看英文原文: Basho Open Sources Time Series Database Riak TS 1.3


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-07-25 19:002849
用户头像

发布了 227 篇内容, 共 71.4 次阅读, 收获喜欢 27 次。

关注

评论

发布
暂无评论
发现更多内容

小红书如何应对万亿级社交网络关系挑战?图存储系统 REDtao 来了!

小红书技术REDtech

云原生 存储 图数据库 跨云多活

干货满满的技术盛宴!OpenHarmony开发者大会技术分论坛成功举办

最新动态

全球首个开发者村“开村”!数字之光在何处点亮?

白洞计划

叹服!阿里自述SpringCloud微服务:入门+实战+案例

做梦都在改BUG

Java 架构 微服务 Spring Cloud

即时通讯技术文集(第14期):WebSocket精华文章合集 [共15篇]

JackJiang

网络编程 即时通讯 IM

使用TPC-H 进行GreatSQL并行查询测试

GreatSQL

MySQL 并行查询 greatsql greatsql社区

分布式编译系统的搭建

GreatSQL

MySQL greatsql社区 分布式编译

中国信通院召开政企信息技术应用创新(信创)促进中心启动会

信通院IOMM数字化转型团队

信创 信创产业 信创生态

膜拜!阿里人用10W字面经把Java面试官拿下了

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

SpringBoot 项目解决跨域的几种方案

做梦都在改BUG

Java Spring Boot

八股MQ004——聊聊Producer

Codyida

后端

简洁好用的思维导图软件:simplemind 中文版

真大的脸盆

Mac 思维导图 Mac 软件 思维导图软件

京东物流常态化压测实践 | 京东云技术团队

京东科技开发者

测试 压测 常态化压测 企业号 5 月 PK 榜

太强了!阿里人用138个案例讲明白了Spring全家桶+Docker+MQ

做梦都在改BUG

Java spring 微服务 Spring Cloud Spring Boot

病假单|病假条|体检报告|诊断证明书|病历证明|医院化验单|ct报告|b超单|怀孕检查

病假条病假单

openEuler之上的K3s ARM64集群管理

openEuler

Linux 云原生 k8s AWS Kubernetes Serverless

153个!PCB板上的字母符号都代表啥?一图带你搞懂!

华秋PCB

物理 电路 元器件 PCB PCB设计

升级企业数智化底座 用友iuap拉满长期主义

用友BIP

自动化测试 | 如何在API开发中践行“设计优先”方法?SwaggerHub助您一臂之力

龙智—DevSecOps解决方案

API SmartBear

硬核!阿里自爆虐心万字面试手册,Github上获赞89.7K

做梦都在改BUG

Java 程序员

八股MQ001——为什么需要使用MQ?

Codyida

后端

八股MQ005——聊聊Broker

Codyida

后端

第四范式开源强化学习研究通用框架,支持单智能体、多智能体训练,还可训练自然语言任务!训练速度提升17%

Geek_32eb82

八股MQ002——说说Rebalance?

Codyida

后端

演讲回顾 | 释放Atlassian工具的力量

龙智—DevSecOps解决方案

Atlassian Jira Atlassian 云版

Python函数基础回顾

timerring

Python

面试被Spring Cloud拿捏?莫慌,阿里人用五个模块讲明白了SpringCloud微服务架构

做梦都在改BUG

Java 架构 微服务 Spring Cloud

OceanBase 4.0(小鱼)入选2023数字中国建设峰会“十大硬核科技”!

OceanBase 数据库

数据库 oceanbase

版本控制 | 如何使用虚幻引擎的多用户编辑(MUE)功能

龙智—DevSecOps解决方案

版本控制 虚幻引擎 虚拟制作 虚幻多用户编辑

NFTScan 推出「nftonchain」Telegram channel,实时推送链上 NFT 热点数据

NFT Research

NFT 智能推送 #Web3

Netty服务端开发及性能优化 | 京东云技术团队

京东科技开发者

Netty 高性能 netty内存管理 企业号 5 月 PK 榜

Basho公司开源了它的时序数据库产品Riak TS 1.3_大数据_Rags Srinivas_InfoQ精选文章