Join us for a virtual meetup on Zoom at 8 PM, July 31 (PDT) about using One Time Series Database for Both Metrics and Logs 👉🏻 Register Now

Skip to content
On this page
Biweekly
July 3, 2024

Welcoming 3 New Committers to the GreptimeDB Community | 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.

Below are the highlights among recent commits:

  • Show database options: we add some SQLs to show the options (like the "TTL") of each database.

  • Support shortened interval expressions: interval expressions now have their "shorten" version (like "y" is short for "year").

  • Make DBeaver able to connect to GreptimeDB: DBeaver is a commonly used database tool, now it can connect to GreptimeDB as well.

Contributors

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

👏 Thank you to all our individual contributors for continuously submitting and merging numerous PRs. Many more PRs from other individual contributors are also awaiting merging.

New Committers of GreptimeDB
New Committers of GreptimeDB

🎉 A warm welcome to @CookiePieWw, @irenjj, and @KKould, who have officially joined the community as new Committers. Your hard work is greatly appreciated.

@CookiePieWw has been submitting and merging PRs since April 2024, contributing 11 effective PRs so far, with more awaiting merging, meeting our criteria for Committer promotion. @irenjj has contributed 8 PRs, making significant contributions to table management and FLOW task management. @KKould has contributed 5 PRs, implementing challenging features such as table creation and column type changes.

Due to the quality and effective contributions of these individual contributors, the community has voted to promote them as new Committers. Looking forward to your continued contributions!

The current list of GreptimeDB Committers (in alphabetical order):

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

db#4172 Re-implement region Failover based on region migration

The original region Failover implementation has many issues. For example, it does not interact with Remote WAL, which might cause some data loss. So we decide to make region Failover great again, by re-Implementing it based on our region migration procedure. You can track the process here: db#4161.

db#4174 Show database options

The database could have options like "TTL". In this PR, we add a "SHOW FULL DATABASES" SQL to show the options in each database:

sql
mysql> show full databases;
+--------------------+--------------+
| Database           | Options      |
+--------------------+--------------+
| greptime_private   |              |
| hertzbeat          | ttl='30days' |
| information_schema |              |
| public             |              |
+--------------------+--------------+

The database options can also be shown by querying information_schemas:

sql
mysql> select schema_name, options from information_schema.schemata;
+--------------------+--------------+
| schema_name        | options      |
+--------------------+--------------+
| greptime_private   |              |
| hertzbeat          | ttl='30days' |
| information_schema |              |
| public             |              |
+--------------------+--------------+

db#4178 Optimize the http output performance, saving up to 70% CPU

This PR optimized the conversion from RecordBatch to HttpRecordsOutput, by introducing the column first iteration and reducing some unnecessary clones, etc. The CPU consumption is saved up to 70% from this improvement.

db#4182 db#4220 Support shortened interval expressions

This PR makes shortened interval expressions available. For example, you can use "y" for "year" in interval expressions. Other shortened are:

  • m for minutes
  • s for seconds
  • w for weeks
  • d for days

You can mix the usage of shortened and normal expressions together:

sql
SELECT INTERVAL '7 days' - INTERVAL '1d';

+----------------------------------------------------------------------------------------------+
| IntervalMonthDayNano("129127208515966861312") - IntervalMonthDayNano("18446744073709551616") |
+----------------------------------------------------------------------------------------------+
| 0 years 0 mons 6 days 0 hours 0 mins 0.000000000 secs                                        |
+----------------------------------------------------------------------------------------------+

And casting to shortened interval is also supported:

sql
SELECT '3y2mon'::INTERVAL;

+---------------------------------------------------------+
| IntervalMonthDayNano("3010670175542044828554670112768") |
+---------------------------------------------------------+
| 0 years 38 mons 0 days 0 hours 0 mins 0.000000000 secs  |
+---------------------------------------------------------+

db#4218 Make DBeaver able to connect to GreptimeDB

DBeaver can submit some special statements upon connecting to the database. Previously GreptimeDB did not support all of them, which could cause some issues when DBeaver is trying to connect to it. This PR is trying to resolve the problem, to let DBeaver users able to query GreptimeDB.

Good First Issue

db#3884 Remove unnecessary traits and wrapper types from the query crate

In GreptimeDB, most implementations of querying simply forward requests to Datafusion. Since we are highly coupled with Datafusion and have no plan to support another query engine, we could remove these types.

  • Keywords: Query, Datafusion

  • Difficulty: Easy

biweekly

Join our community

Get the latest updates and discuss with other users.