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
Events
December 7, 2023

Call for Global Contributors - Discover How Students Are Transforming GreptimeDB

The Open Source Promotion Plan is an annual summer event aimed at involving students in the world of open-source software development. This year, we worked diligently alongside three dedicated students who applied to our projects, and we're proud to announce the successful completion of all our projects. We extend our heartfelt thanks to our entire community. Let's take a moment to recap the details of these exciting projects.

Overview

"Open Source Promotion Plan" is initiated and supported by the Institute of Software, Chinese Academy of Sciences. As a summer open-source event specially designed for students, this event not only ignites students' passion for the open-source spirit but also nurtures numerous emerging tech talents, injecting vitality into the open-source community. Through practical experience, participants can proficiently master the technical skills of open-source software development and maintenance, gain an early sense of how written code leaps into real life, and truly appreciate the joy of code implementation.

Project Introduction

GreptimeDB has handpicked three challenging projects for this year's OSPP, eager to ignite a tech spark with fellow students. What's thrilling is the sheer enthusiasm and perseverance from the students, bringing all three projects to a successful close and showcasing their potential and prowess as the upcoming tech whizzes!

Three Challenging Projects from GreptimeDB

Implement support for Duration and Interval data types

Description: The Duration data type measures specific types of time, which can be represented in seconds, milliseconds, microseconds, or nanoseconds. The Interval data type represents time differences by calculating the number of days between two points in time. These data types are extremely useful in representing and modeling real-world time series scenarios.

Student: Wei Zou

Issue: https://github.com/GreptimeTeam/greptimedb/issues/1886

Related PRs:

Mentor: Lei Huang

Words from Mentor: Zou Wei implemented the Interval and Duration data types for GreptimeDB, along with the write of related computational functions. His contributions significantly enriched the functionality of GreptimeDB, making it more suitable for the storage and processing of time-related data, and enhancing user experience and data processing efficiency.

In addition to his contributions to the functionality of GreptimeDB, Zou Wei also made significant efforts to improve its quality and reliability. By adding numerous test cases for the Interval and Duration data types, he further ensured the stability of the new features, identified several historical bugs, and provided regression testing for potential future issues.

In just a few months, Zou Wei has contributed a total of 26 PRs to GreptimeDB, not only completing the OSPP project but also gradually delving into database core modules like the storage engine, becoming one of the core developers of GreptimeDB.

Implement the syntax and computation for the sliding sampling window function

Description: Querying and aggregating data over a given length of time is a common query pattern in time-series data, such as the Range Selector in PromQL. GreptimeDB plans to implement similar capabilities in the SQL interface.

Unlike the WINDOW syntax, the sliding sampling window function calculates at a fixed step and range. For example, querying the weekly average temperature of each day; the query's step is one day (daily temperature), and each calculation uses data from the past week to calculate the average. This project will start by extending the SQL Parser, defining and implementing the syntax for sliding sampling window functions, then expanding the logic planner to generate plans for related statements, and finally implementing support for common aggregation operators.

Student: Jingdi Wu

Issue: https://github.com/GreptimeTeam/greptimedb/issues/1662

Related PRs:

Mentor: Ruihang Xia

Words from Mentor: Jingdi made notable contributions to GreptimeDB by completing several critical tasks, significantly enhancing its functionality. During his involvement in the Range query project, he skillfully managed the implementation process from the parser stage to the operator. His outstanding performance led to an internship with the GreptimeDB team, where he further improved system observability, crucially strengthening its stability and reliability.

Implement the Truncate Table/Clear table function in GreptimeDB

Description: Implement the TRUNCATE TABLE feature for GreptimeDB; TRUNCATE TABLE removes all rows from a table. It is similar to a DELETE statement without a WHERE clause but is faster than row-by-row deletion. The implementation of this feature will enhance the performance of GreptimeDB.

Student: Su Hao

Related PRs:

Mentor: Yingwen Yang

Words from Mentor: Su Hao has a solid engineering background, with good code readability and adherence to community standards. He also wrote unit tests and SQL integration tests to ensure the reliability of the code during the implementation of this feature. Meanwhile, as the community was undergoing a large-scale restructuring and developing a new storage engine, he actively assisted in porting this feature to the new engine, significantly reducing the community's workload.

Special thanks to the organizers of the Open Source Promotion Plan. We look forward to meeting more outstanding students in the future.

Call for global contributors

Join the adventure with GreptimeDB, our Rust-written, open-source database! If you have a keen interest in Rust or database development, GreptimeDB might be a good starting point. It’s a great opportunity to learn and grow alongside our skilled database development team.

As a pretty young project, we're proud that GreptimeDB soared to GitHub Global Trending No.1 in its first open-source week last year. We're thrilled to have welcomed global contributors since then, with two of them becoming our committers.

Individual Contributors of GreptimeDB

Check us out on GitHub and you'll find some good first issues to kickstart your involvement.

If you encounter any technical issues or questions, free feel to join our Slack community. Both our team and our community members will help you as soon as possible. All contributors receive exclusive Greptime SWAG! 🎁 Let's innovate and grow together. Check us out and let's get things rolling!

Join our community

Get the latest updates and discuss with other users.