Summary
Together with all our contributors worldwide, we are glad to see GreptimeDB making remarkable progress for the better. In the past two weeks, a total of 62 PRs were merged for our program. Below are some highlights:
- Support external tables in ORC format
- PromQL-parser has the prettier capabilities
- Rewrite the Release CI
- Support telemetry feature
- New C++ SDK
Contributor list: (in alphabetical order)
We would like to give a special thanks to Niwaka @NiwakaDev, who has continued to contribute to our project and has submitted 13 PRs and all have been successfully merged! He has also contributed more than 30 comments to our issues in the past month, and interacted with us in the Slack community, providing us with valuable advice. So he will be our second committer, thanks and congratulations again!
For the past two weeks, our community has been super active with a total of 62 PRs merged. 11 PRs from 9 external contributors merged successfully and lots pending to be merged. Congrats on becoming our most active contributors in the past 2 weeks:
- @DevilExileSu (db#2002)
- @etolbakov (db#1972)
- @Gump9 (db#1975)
- @gobraves (db#1981)
- @Kree0 (db#1976)
- @NiwakaDev (db#1962 docs#495 docs#502)
- @parkma99 (promqlparser#69)
- @sunray-ley (db#2012)
- @shawnh2 (gtctl#103)
👏 Let's welcome @Kree0 and @QuenKar as the new contributors to join our community with their first PR merged.
A big THANK YOU for the generous and brilliant contributions! It is people like you who are making GreptimeDB a great product. Let's build an even greater community together.
Highlights of Recent PR
Support external tables in ORC format
We now support external tables in ORC format, and can query local ORC files directly.
PromQL-parser has the prettier capabilities
PromQL-parser has the prettier capabilities in order to help format a PromQL expression in a prettified way.
Rewrite the Release CI
We rewrote Release CI to make the overall build process cleaner and to support multiple GitHub Runners, including AWS EC2, etc.
The original release.yml
has the following disadvantages:
- All the logic is coupled in one big yaml file, and hard to add the new artifact release;
- Lots of redundant logic, and always copy and paste the same logic;
- Lack of reproducible builds: the original
release.yml
uses cross-compiling to build the artifacts instead of Dockerfile; - Don't support AWS EC2 instances to use larger instances;
The new release.yml
use composite action to decouple the logic in .github/actions/
and split multiple small and clear jobs to handle releasing:
- First, we need to use the
allocate-runners
job to create a version(.github/scripts/create-version.sh
) tag and allocate runners; - After all the resources are ready, the pipeline begins to build multiple binary artifacts;
- After all the binary artifacts are ready, the pipeline begins to build and push docker images;
- Finally, the release pipeline will create the GitHub Release;
Support telemetry feature
To enhance our service, GreptimeDB supports collecting certain telemetry data. This includes information like the GreptimeDB version, the number of nodes, the operating system used, the environment's architecture, and similar technical details. However, we respect your privacy and make sure not to collect any user-specific data, which entails database names, table names, query content, and the like. This feature is disabled by default and you can enable/disable it when building the binary.
New Things
EMQ Adds GreptimeDB Data Bridge Support
This pull request adds the enterprise data bridge for greptimedb, a time-series database, to the emqx bridge application. It introduces a new application emqx_bridge_greptimedb
with its schema, resource, configuration, documentation, license, and tests. It also updates the emqx_bridge_enterprise.erl
, mix.exs
, emqx_bridge.app.src
, and emqx_bridge.erl
files to support the new bridge type. It also adds the docker-compose and toxiproxy files for testing the greptimedb bridge.
New C++ SDK for GreptimeDB
We are pleased to inform you that our official C++ SDK for GreptimeDB is now available. This allows for a smooth integration process between your C++ applications and GreptimeDB. After this, we have extended our SDK family to include Rust/Java/Golang/C++/Erlang, and Python is on the way.