Today, we're excited to announce the release of Engula 0.2! Since demo 1, Engula has entered a formal development cycle, and Engula 0.2 is the first official release. Engula is a serverless storage engine that aims to help users build reliable and cost-effective databases.
What's in 0.2?
We have published a design document to introduce Engula's concepts and architecture. For those who don't know much about Engula or haven't been around for a while, Engula has changed a lot, and the design document is the best place to get started.
Engula 0.2 comes with one engine and three kernels:
- A hash engine that supports simple key-value operations. This engine relies on a kernel to perform stateful operations. It can work with the three kernels below to tackle different use cases.
- A memory kernel that stores everything in memory. This kernel integrates a memory journal, storage, and manifest for data storage.
- A file kernel that stores everything in local files. This kernel integrates a file journal, storage, and manifest for data storage.
- A gRPC kernel that stores data in remote gRPC servers. An engine uses a kernel client to communicate with a kernel server. The kernel server can further connect to a journal server and a storage server for data storage. Engula 0.2 provides a binary to start different kinds of servers easily.
If you want to try it out, we prepare a tutorial for you. Have fun!
Engula is an ambitious project that tries to offer a serverless storage engine for the next decade. It requires a lot of effort and different kinds of skills. We believe that a supportive community is vital to the success of Engula, and we are glad to see that the community is going in a promising direction.
If you are interested in joining our community, we have some guidelines for you:
- Please read the CONTRIBUTING guide first.
- For formal design documents, you can check the docs.
- For discussions with a specific topic, you can go to Discussions.
- For casual discussions or just want to say hi, feel free to join Zulip.
Where is 0.1?
Version number 0.1 has been used by demo 1. It is a mistake, but we decided to make use of it and treated demo 1 as version 0.1. You can check the discussion here for more details.
Where is demo 2?
In the demo 1 report, we indicated that we would have a demo 2 to explore the path toward an adaptive storage engine. While the goal is fantastic, the timing is not. We did spend some time on demo 2, though. But then we realized that Engula doesn't have a solid foundation for such an exploration yet. So we decided to abort demo 2 and start a formal development cycle. You can check the discussion here for more details.