GreptimeDB v0.3 正式发布|分布式能力全面提升
六月即将过半,伴着夏日的声声蝉鸣,GreptimeDB v0.3 如期而至。
在 4 月中旬发布的 v0.2 版本中,我们主要目标集中在单机,PromQL 兼容,写入性能优化等。v0.2 的单机版本有了较好的基础,而在 v0.3 版本,我们的关键词则是 “分布式”,也就是所有的能力或是更新均在分布式版本上提供(分布式提供了单机版本不具备的扩展性、高可用性和容错性等),总结来讲,主要是以下几个方面:
- 分布式性能优化:实现了 Region 级别的高可用性,提供了快速的容灾切换调度。同时也对分布式写入性能进行了优化。
- 查询能力提升:包括支持分布式查询优化、重要 SQL 查询(如 TopK)的改善以及优化数据压缩策略来加快查询速度。
- 稳定性增强:为了增加系统的健壮性和可靠性,引入了 Procedure 框架来保障多步操作的最终一致性。同时提供了更细粒度的 Hybrid-flush 策略以提高写入的稳定性,并增加了更多性能指标度量的埋点来提升系统的可观测性,支持如 Tokio console 等工具。
从 0.2 到 0.3,一个半月时间,仅 GreptimeDB 项目就合并了 222 PRs, 涉及到 674 个文件修改,包含了 120+ 个功能优化,50+ 个修复以及 20+ 重构,这些数字的背后是 27 位社区贡献者的努力。特别感谢社区和团队的努力,接下来,我们重点回顾 v0.3 的核心内容。
GreptimeDB v0.3 重点内容
实现 Region 级别的高可用
在分布式系统中,为了保障高可用,需要做到 region 级别的容灾, GreptimeDB 在 v0.3 版本中支持了这一特性,是最终达到分布式高可用的重要里程碑.由于涉及到 Frontend, Meta 和 Datanode 等不同组件的改造,影响面较广,我们通过 Issue#1126 来跟踪整个实现过程,如果你对此感兴趣,欢迎关注,当然,一切是从 RFC: Region Fault Tolerance 开始:
重要的 SQL 查询场景优化
基于过去的业务经验,在 GreptimeDB v0.3 开发中重点优化了最常用的查询场景,比如 TopK 等,主要还是利用了剪枝的思维,我们也将整个工作分成了多个子任务,并通过 Issue#1286 跟踪。
分布式查询优化,支持常用算子下推
为了数据库的分析能力,很早就有人提出 Near-Data Processing 的方式,也就是给予存储层一定的算力,让一些简单的计算在数据中心完成之后再返回,这样可以避免大量原始数据的传输,而算子下推(operator push-down) 是最常见的实现方式,GreptimeDB v0.3 支持了 PromQL 大部分算子和谓词的下推,优化分布式查询。这么重要的功能,我们也事先通过 RFC: Distributed Planner 讨论实现方案,具体实现可参见 PR#1660. (Greptime 开发日常:这个 PR 超过了 1000 行代码的修改,在我们内部是极不推荐的,但因为 author 会发红包,大家也就勉强原谅了 ta,甚至还有点期待)
引入了 Procedure 框架,保障多步操作的最终一致性
为了增加系统的健壮性和可靠性,受 Apache HBase's ProcedureV2 framework 启发,GreptimeDB 也用 Rust 写了一个 Procedure 框架来保障多步操作的最终一致性,这又是一个从 RFC: Procedure Framework 开始的故事,而且有一个超级庞大的 Issue#286 在跟踪,v0.3 并不是他的终点,故事还将继续。(对了,如果你觉得 RFC 太枯燥,也可以参考 九转大肠 来理解到底什么是 Procedure)
增加更多的性能指标提升系统的可观测性
作为可观测体系下的可靠存储方案,GreptimeDB 自身的可观测性也必须做好,在 v0.3 在版本中,增加了更多的 metric 指标用来检测系统的运行情况,这部分内容遍及到每个组件中,可以参看 PR list。
其他细节的优化:
- 支持查询外部数据,导入导出 CSV/JSON/Parquet 格式文件
- 支持
TQL EXPLAIN
/TQL ANALYZE
从句,分析 PromQL 查询性能 - 提高了 PromQL 兼容性
- 在集群模式下支持启用 Tokio 控制台
- 等等
整体上,v0.3 会是一个初步可以试用的分布式版本,它具备了 region 粒度的服务高可用(数据高可靠还待后续版本完成),重点场景的分布式查询(重点是 PromQL 查询方向)和写入性能均达到或者略微超过主流同类数据库性能的水位线。
升级注意事项
如果您是从 0.2 升级而来,需要特别注意以下几点:
- 使用本地存储,需要修改配置
data_dir
,该选项已经废弃,假设您原来设置data_dir = "/greptimedb/data"
,那么需要修改为data_home = "/greptimedb"
,data_home
替代指定数据根目录。 - 建议升级之前使用
COPY
命令备份数据
GreptimeDB v0.4 计划
从 0.3 开始便将研发重点聚焦到分布式,并制定了中长期计划,按月迭代,0.4 的主题就是性能和完善现有功能,将聚焦在以下几个功能:
- 分布式 DDL 语句的支持像 Create Table, Drop Table 等接入 Procedure 框架确保分布式多步操作的正确执行
- 异步的压缩和索引,提升查询性能
- 在 0.3 版本我们支持了 PromQL 大部分算子和谓词的下推,0.4 版本将聚焦到 SQL 中的常见算子的下推以提升 SQL 查询性能
- 重点优化表引擎和存储引擎,提升读写性能,降低资源消耗
致谢社区
感谢亲爱的社区和所有贡献者们,是你们的每一个建议、BUG 修复和代码贡献,才让这个项目不断壮大、迈向新高峰。
关于 Greptime
Greptime 格睿科技于 2022 年创立,目前正在完善和打造时序数据库GreptimeDB 和格睿云 GreptimeCloud 这两款产品。
GreptimeDB 是一款用 Rust 语言编写的时序数据库,具有分布式、开源、云原生、兼容性强等特点,帮助企业实时读写、处理和分析时序数据的同时,降低长期存储的成本。
GreptimeCloud 基于开源的 GreptimeDB,为用户提供全托管的 DBaaS,以及与可观测性、物联网等领域结合的应用产品。利用云提供软件和服务,可以达到快速的自助开通和交付,标准化的运维支持,和更好的资源弹性。GreptimeCloud 已正式开放内测,欢迎关注公众号或官网了解最新动态!
公众号:GreptimeDB
GitHub: https://github.com/GreptimeTeam/greptimedb
Twitter: https://twitter.com/Greptime
Slack: https://greptime.com/slack

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
【有奖征集令】蹲一个 openKylin 输入法名字,在线等,急!
openKylin社区InputMethod SIG致力于开发一款高质量、好用的输入法。目前其阶段性成果“虚拟键盘2.0”已集成到openKylin 1.0版本中,接下来SIG团队将继续开发物理键盘输入法,最终实现一个完整的输入法工具! 但是目前InputMethod SIG的小伙伴们还没有为这款输入法想出一个合适的名字,因此想面向社区征集一下大家的创意灵感! 赶快发挥你的聪明才智,给它取个名字吧~ openKylin输入法特性介绍 1、支持虚拟键盘输入法输入 支持多语言、多种键盘布局风格、可定制UI风格、支持多屏幕等特性。 2、支持物理键盘输入法法输入 支持中英文输入、可定制UI风格等特性。 更多详情,可点击下方链接查看: https://mp.weixin.qq.com/s?__biz=Mzg2MDc5MDU1OQ==&mid=2247490779&idx=1&sn=5eb0839f8ec7b832099f4e1278994adb&chksm=ce2056abf957dfbdbfab3d6e329eb44e37e3eb3162a821e06b27f3...
- 下一篇
JumpServer 堡垒机 v3.5.0 发布,新增 WebDB 和 ChatGPT 组件,支持对 ChatGPT 资产进行纳管
2023年7月24日,JumpServer开源堡垒机正式发布v3.5.0版本。在这一版本中,新生代数据库连接组件——问题终结者Chen强势来袭,替代原有的OmniDB组件,在兼容旧版本的同时,解决了旧组件性能不足的问题,为用户提供更稳定、更强大、更持久的服务支持。 同时,JumpServer开源项目积极投身技术前沿,紧跟时代发展潮流,新增Kael组件。Kael组件集成GPT平台,支持对ChatGPT资产进行纳管,由JumpServer集中进行管理。 此外,资产登录方面,新版本JumpServer支持AD域用户登录Windows资产,支持授权匿名账号登录Web和自定义类型的资产,并且支持对SFTP会话进行审计。命令过滤方面,新增告警命令动作,执行命令的同时将告警消息推送给指定人员,进一步提升系统的安全性。远程应用方面,支持通过使用资产标签匹配机制,指定远程应用发布机连接某个远程应用。 X-Pack增强包方面,新版JumpServer的“云同步”模块新增支持UCloud云平台,多云平台的资产同步功能更加强大,满足了更多企业用户的多云管理需求。同时,XRDP组件回归,支持对Windows 2...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6