Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News EventStoreDB 20.10 Released with Support for gRPC and Improved Security

EventStoreDB 20.10 Released with Support for gRPC and Improved Security

This item in japanese

EventStore Ltd has released EventStoreDB 20.10, a major release of their platform that helps build applications utilizing the Command Query Responsibility Separation (CQRS) and Event Sourcing (ES) patterns.

The core product now includes gRPC as the default communication protocol to EventStoreDB for both client-server and server-server communication for the case of a clustered setup, and multiple new clients (go, NodeJS, Rust, Haskell) in addition to the existing clients (Java and .NET). The new platform also includes improved security, read replica improvements to help scale read models, improved memory usage for better performance and server side filters to optimize queries. A new developer portal has also been released alongside changes to the core product with the goal of significantly enhancing the developer experience.

EventStoreDB is a framework independent, purpose-built event store built by leaders in the CQRS/ES community explicitly to optimize event persistence in these scenarios. The product was originally developed by Greg Young who felt the community could benefit from a purpose-built event persistence database. The core product originally known as Event Store open source database technology is now simply known as EventStoreDB.

The name change also comes along with a new versioning number strategy, which follows YY.MM two digit year followed by a month. According to Mat McLoughlin (head of developer advocacy at Event Store), the new name and the versioning strategy has two major reasons - one is to make it as clear as possible that the flagship Event Store technology is a database technology. Two, it makes room for other products that are on Event Store’s roadmap, which will be announced in the relatively near future. This better clarifies the distinction between Event Store the commercial entity and, what is now EventStoreDB, the flagship open source database technology according to Dave Remy CEO of Event Store.

The addition of gRPC support is undoubtedly the most fundamental change to the core platform. By making it the default network communication protocol for both client-server and server-server communication for EventStoreDB, this has significantly expanded the possibilities of extending the platform especially for multi-language support. It allows for the creation of simpler clients, which in turn enables Event Store to offer a larger number of Event Store supported clients, and ultimately makes other community clients easier to build and maintain. Event Store is reaching out to framework providers in every tech stack, with the intention of making it as easy as possible to integrate with EventStoreDB to further extend the platform.

From a security perspective, EventStoreDB now allows the usage of public certificates to secure communications, which removes the hassle of setting up and creating your own certificate authority (CA). The new es-gencert-cli will help generate CA and Node certificates for EventStoreDB. An "insecure mode" has been introduced for those who wish to run EventStoreDB without these certificates. Insecure mode disables all authentication, authorization and transport security for the node and any clients connected to it.

A new capability to designate nodes of an EventStoreDB cluster as read-only replicas aims to help in scaling out read operations without affecting the performance of the cluster. Additionally, you can read from a read-only replica even when there is no leader available. It means that reads from a read-only replica won't be disrupted by node loss or elections as they are not members of an EventStoreDB cluster. Another new feature that has been introduced is server-side filtering. This feature allows you to pass a filter when querying EventStoreDB so that it will only return events that you asked for. The main reason for introducing this feature was to reduce the need for projections and its associated costs.

McLoughlin further stated the company felt it necessary to deliver a great development experience for people who are starting to use EventStoreDB, as well as for existing users, and this was the motivation for the launch of a new developer portal. The portal contains significantly revamped documentation as well as a collection of resources that would give a solid foundation for anyone who wants not only to use the core product, but also wanting to learn Event Sourcing as a pattern.

Finally, this release also announced the early preview of Event Store Cloud which helps provision managed EventStoreDB clusters in AWS/GCP/Azure. The preview also provides a Terraform based API to help automate deployment with a Pulumi API on the way too.

Rate this Article