
大家新年好!这是一份承前启后的双周报:再见 2022
你好 2023

在 2022 的最后一个双周里,GreptimeDB 团队与社区共同努力,完成了很多具有挑战性的任务:
迁移至 Arrow/Parquet 的官方版本,从而可以和 DataFusion 的最新功能保持同步;
重构优化了 gRPC 的接口,对开发者更为友好;
LogStore 实现了针对本地磁盘的 Compaction 功能,进一步优化存储引擎;
最后,GreptimeDB 终于有了自己的皮肤,Dashboard for GreptimeDB。🎉🎉🎉
以上各位的贡献,慷慨有义,彰显实力,非常感谢。有了你们,以及跟你们一样有开源精神的朋友,GreptimeDB 一定会越来越好。
Good First Issue
分布式查询语句支持 limit
这个 issue 尝试解决 GreptimeDB 的分布式版本的一个查询优化问题:limit
未能 pushdown 到数据节点。这是因为我们还未完成基于 Substrait [1] 对 limit
进行序列化和反序列化。快速浏览一下 Substrait 的 specification,发现 limit
和 Substrait 类型之间并没有一一对应的关系。也许我们需要利用 Substrait 的 extension 去实现 limit
。
[1]: https://substrait.io/ Substrait: Cross-Language Serialization for Relational Algebra
创建数据库内部健康指标的系统表
🙌 GreptimeDB 主干动态
#753
(https://github.com/GreptimeTeam/greptimedb/pull/753)
迁移 Arrow/Parquet 到官方实现。现在,datafusion 的 arrow2 分支已不再维护,所以我们决定切换到 arrow,这样我们就可以跟上最新的 datafusion 版本了,这是一个巨大挑战的任务,很高兴我们完成了。
#490
(https://github.com/GreptimeTeam/greptimedb/issues/490)
我们的 gRPC 接口需要重构,现在有一些设计不太好的地方。例如:
我们 gRPC 实现中使用的 "object" 和 "expr" 名称本身不清楚;
gRPC 对象与其他协议结果和请求之间的约定很繁琐且麻烦;
很难使用 gRPC CLI 工具进行调试;
等等。
这是一项大任务,我们把它分解成几个子任务,我们已经接近完成它了。
#740
(https://github.com/GreptimeTeam/greptimedb/issues/740)
LogStore 是 GreptimeDB 的 WAL 组件,这个 PR 针对本地磁盘版本实现了 Compaction。简单说,LogStore 会启动一个后台任务,定期扫描所有 regions 中已被成功 flush 的数据对应的日志条目,然后回收日志条目以释放磁盘空间。
👀 有意思的新鲜事
GreptimeDB 的 Dashboard 开源了,并且在快速的迭代完善,我们每周会定期将构建好的 docker 镜像上传到 docker hub 中,欢迎大家使用,也欢迎有兴趣的朋友来一起完善,具体可见:
https://github.com/GreptimeTeam/dashboard
GreptimeDB 安装版本已经在 AUR 发布,ArchLinux 用户可以以 systemd 服务的方式安装 GreptimeDB。注意,GreptimeDB 项目还处于高速开发期,每周会有大量的更新,推荐暂时用于测试环境。
以上是本期《双周精选》的内容,欢迎关注公众号,我们会定期更新项目有关的进展,分享社区发生的新鲜事。同时,也可以通过各种方式参与 GreptimeDB 和其他相关项目。

👇点击下方阅读原文,前往GitHub 了解体验 GreptimeDB ~




