โœ•

Join us at KubeCon + CloudNativeCon North America, Nov 7-9 in Chicago! Swing by Booth L26 for exclusive SWAG ๐ŸŽ

โœ•
Skip to content
On this page

Subscribe to our newsletter

Get the latest dates and news about GreptimeDB.
Biweekly
โ€ข
March 12, 2024

Protocol Decoding Performance Boosted by Fivefold! Ongoing Write Performance Enhancements | Greptime Biweekly Report

A recap of the past two-weeks progress and changes happened on GreptimeDB.

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 released version 0.7, which fully supports cloud-native monitoring scenarios. Below are some highlights:

  • Continuous optimization is underway for the write path

  • Manual decoding of the Prometheus Remote Write protocol has resulted in a performance increase of approximately fivefold

  • New partitioning rules and Memtable implementations are now in place

Contributor โ€‹

For the past two weeks, our community has been super active with a total of 65 PRs merged. 6 PRs from 5 individual contributors merged successfully and lots pending to be merged.

Congrats on becoming our most active contributors in the past 2 weeks:

๐Ÿ‘ Welcome contributor @crwen @gcmutator @J0HN50N133 join to the community as the new individual contributor, and congratulations on successfully merging their first PR, more PRs are waiting to be merged.

New Contributor of GreptimeDB

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 โ€‹

Ongoing Write Path Optimization โ€‹

Specific enhancements are detailed in PRs: #3407 and #3422, which have reduced data duplication instances; PRs #3397, #3404, #3426, and #3383, which have expanded metrics for various detailed workflows; and PRs #3415 and #3400, aimed at reducing the memory overhead of handling primary keys.

#3425 #3478 Major Reductions in Parsing Overhead for Prometheus Remote Write Format โ€‹

Benchmark highlighted substantial CPU usage for protocol parsing, where analogous structures in Go necessitated only an eighth of the overhead. A deep dive revealed a performance bottleneck in the prost protocol library. Manual decoding for the Prometheus Remote Write protocol parsing was implemented, leading to a performance boost of approximately 5x.

#3418 Memory Usage Optimization at Restart โ€‹

Earlier versions exhibited a spike in memory usage during restarts, a concern that has been addressed in GreptimeDB v0.7.

#3350 Introduction of New Partitioning Methodology and Syntax โ€‹

Anticipating the need for frequent partition adjustments for features like automatic partitioning and repartitioning, we've initiated the development of a new partitioning syntax. The RFC has merged, and development progress can be followed through PR #3351.

#3430 New Memtable Implementation Now the Default Option โ€‹

Designed to optimize for scenarios with numerous timelines, this new Memtable implementation has been fully integrated and is now the default setting, showing a potential reduction in memory overhead by up to 50%.

#3485 Fuzz Testing Enhancements Continuously โ€‹

Our ongoing iteration of the previously developed fuzz testing suite has identified and rectified several edge cases, with an expanding scope of coverage.

Good First Issue โ€‹

#3492 Implementing Prometheus HTTP API โ€‹

Keywords: observability

Aiming for seamless integration with Grafana, we're enhancing GreptimeDB's compatibility with the Prometheus HTTP API.

#3435 Enforcing Strict Mode String Validation for Prometheus Remote Write Interfaces โ€‹

Keywords: security, protocol

Difficulty: medium

While most implementations and libraries ensure that input strings are UTF-8 encoded, the possibility of malicious attacks remains. It's necessary to implement strict mode validation for relevant protocols to prevent such scenarios.

biweekly

Join our community

Get the latest updates and discuss with other users.

Subscribe to our newsletter

Get the latest dates and news about GreptimeDB.