Summary
Together with our global community of contributors, GreptimeDB continues to evolve and flourish as a growing open-source project. We are grateful to each and every one of you.
Over the past two weeks, we have continued to advance iteration of v0.7, with a primary focus on performance tuning and testing, as well as accelerating the development of new features. Here is a summary of our progress during this period:
Continuously optimize Memtable to improve the performance of Memtable in terms of writing, querying, and flushing.
Officially initiate the development of the Greptime Flow stream computing engine to incorporate stream processing support into GreptimeDB.
Conduct stress testing on Remote WAL and perform performance tuning tailored for cloud deployment.
Further enrich the fuzz testing framework to enhance the stability of GreptimeDB.
Continuously expanding the Information Schema to further improve the user experience in querying system metadata.
Contributors
For the past two weeks, our community has been super active with a total of 47 PRs merged. 1 PR from 1 individual contributor merged successfully and lots pending to be merged.
Congrats on becoming our most active contributors in the past 2 weeks:
👏 Welcome contributor @SergeTupchiy join to the community, and congratulations on successfully merging their first PR, more PRs are waiting to be merged.
A big THANK YOU to all our members and contributors! It is people like you who are making GreptimeDB a great product. Let's build an even greater community together.
Highlights of Recent PRs
#3186 Establish the foundational framework for the Greptime Flow stream computing engine
Greptime Flow is designed to be a lightweightengine for continuous aggregation on single tables, supporting basic functionalities of stream computing engines. You can follow this Tracking Issue to learn about and participate in the development of Greptime Flow. Your contributions are always welcome.
#3263 Add a basic configuration file for the Grafana Dashboard to facilitate users and developers in monitoring GreptimeDB
We have added a basic Grafana Dashboard configuration file in the code repository. You can use it to enable native GreptimeDB dashboard in Grafana, including performance metrics such as CPU, memory, and monitoring panels for multiple important components.
#3194 Support batch creation of logical tables to optimize the table creation performance of Metric Engine
#3277 Add cache support for the batch_get
interface of CachedMetaKvBackend
to enhance the batch query performance of MetaKvBackend
In distributed environments, querying metadata stored in Metasrv is a frequent operations. To improve query performance, we have previously implemented CachedMetaKvBackend
, which adds cache support for various interfaces of MetaKvBackend
to efficiently support queries within the metadata validity period. Now, we have also added cache support for the batch query interface batch_get
, further enhancing the query performance of MetaKvBackend
.
#3269 Minimize temporary memory usage and significantly reduce memory overhead for Memtable queries by optimizing filter logic
During the optimization of Memtable, we observed occasional unsatisfactory high memory usage. To address this, we have added some simple yet effective filtering logic when inserting data into Memtable to reduce the creation of record batches. In specific scenarios, this optimization can reduce Memtable's memory usage by over 63%.
Good First Issue
#3262 Get involved in enhancing the plug-and-play Grafana Dashboard setup for GreptimeDB
Keywords: Observability, Grafana
Difficulty: Medium
#3183 Implementing functionality to specify Memtable types within CREATE TABLE SQL commands
Keywords: SQL, Memtable
Difficulty: Easy
#3059 Refactor existing code based on provided OpenDAL functions
Keywords: OpenDAL, Cache
Difficulty: Medium
#2888 Rectify the HTTP APIs of GreptimeDB to align more closely with RESTful API standards
Keywords: API
Difficulty: Easy