收官之战!来看看QCon 上海 2023 大会确认了哪些专家和话题>>> 了解详情
写点什么

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:002825
用户头像

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

关注

评论

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

HBC环保卫士系统搭建

Geek_a620db

盘点2020 | 作为技术号主的一年!

小傅哥

Java 小傅哥 盘点2020 技术成长 2021年度技术盘点与展望

PiNetwork 挖矿算力系统开发

Geek_a620db

道高一丈,且看CWE4.2的新特性

华为云开发者联盟

技术 安全 漏洞

如何基于SDK快速开发一款IoT App控制智能灯泡(Android版)

IoT云工坊

android App 物联网 API sdk

译|Optimal Logging

cyningsun

监控 日志 异常 故障 错误

你真的会学习吗?从结构化思维说起

阿里巴巴云原生

云原生 技术人 自我思考 职场成长 成长笔记

从根上理解高性能、高并发(二):深入操作系统,理解I/O与零拷贝技术

JackJiang

网络编程 高并发 高性能 即时通讯

搜狗开源框架发布纯自研C++ Kafka客户端

STARFIELD星域APP系统开发|STARFIELD星域软件开发

系统开发

漏洞扫描软件AWVS的介绍和使用

行者AI

安全 漏洞

大作业2

龙卷风

架构师一期

利用文字技术帮助选购商品,慧眼“识”物的人都这样做……

华为云开发者联盟

文字识别 智能 识别

物联网目前的安全问题有哪些?

IoT云工坊

LTN挖矿系统开发

Geek_a620db

区块链电子合同铸就数字经济信任基石

CECBC

电子合同

高速增长的跨境电商业务背后,区块链应用场景来了吗?

CECBC

跨境电商

7年Java开发经验,面试20多家公司,砍下16个Offer,总结干货面试题!

Java架构追梦

Java 架构 面试 大厂

批量作业调度工具Taskctl Web应用版/ETL免费调度工具/数据挖掘,抽取,转换工具

TASKCTL

数据挖掘 大数据 kettle 运维自动化 海豚调度

企业使用云计算低效益怎么办?区块链或成良药

CECBC

云计算

Seata-AT 如何保证分布式事务一致性

阿里巴巴云原生

云计算 开源 分布式 微服务 云原生

多币种钱包app系统开发,数字货币交易所系统源码开发

阿里云仓库使用小技巧

Java maven

Dubbo 3.0 前瞻系列:服务发现支持百万集群,带来可伸缩微服务架构

阿里巴巴云原生

开源 微服务 云原生 dubbo 中间件

阿里云开源项目 OAM 负责人张磊入选「中国开源先锋 33 人」

阿里巴巴云原生

开源 开发者 云原生 k8s cncf

vivo 全球商城:订单中心架构设计与实践

vivo互联网技术

分库分表 服务器 架构设计

vivo 互联网业务就近路由技术实战

vivo互联网技术

中间件 服务器 分布式路由

为什么线程安全的List推荐使用CopyOnWriteArrayList,而不是Vector

Java旅途

Java List 线程安全 vector

联联周边游系统源码

Geek_a620db

架构师训练营大作业(一)

木头发芽

架构师训练营大作业 (二)

木头发芽

  • 扫码添加小助手
    领取最新资料包
Basho公司开源了它的时序数据库产品Riak TS 1.3_大数据_Rags Srinivas_InfoQ精选文章