In brief: CrateDB 4.2 now embeds in architectures better than ever. Once again, a lot of SQL functionality has been added to work seamlessly in industrial IoT environments.
CrateDB 4.2: Living in an IoT world
We continue to pinpoint CrateDB’s sweet spot more and more in the industrial IoT sector, where massive ingest pressure while doing real-time queries are paramount. This enables data combined with metadata (i.e. text, geospatial) to be turned into action.
A lot of these setups are based on tooling that already exists. Now that CrateDB Cloud is available on both Azure and AWS, it becomes more and more important to integrate our product with the tooling from these cloud providers. As part of this initiative, we reorganized our documentation and introduced the tooling and reference architectures sections. These will be growing more and more throughout the next months. Those reference architectures not only require documentation but also seamless integration between CrateDB and existing tools.
Back in 2017, we decided to not only implement the PostgreSQL wire protocol but also follow the PostgreSQL SQL dialect to enable users to make use of PostgreSQL-compatible tools and not require dedicated integration with CrateDB for each of those tools. We strongly believe in offering this to our users. The other guarantee behind CrateDB is being efficient at scale. These two beliefs require finding the right balance but we are dedicated to this endeavor.
With this release, we added a bunch of features for tooling integration. And as always, we worked on improving the stability and comfort for our users.
What’s in the release?
- Improving PostgreSQL compatibility with pg_catalog tables and pg_type mapping.
To enable CrateDB to work with tools that support the PostgreSQL standard, we keep on adding pg_catalog tables along with other specifics. This time, we focused on client drivers like npgsql and tools like PowerBI. a lot of tools especially npgsql and PowerBI.
- Replacing Nashorn with GraalVM for user-defined functions user defined functions.
The support for JavaScript user-defined functions is now activated by default. The engine has been changed to use GraalVM, which upgrades the ECMAScript supports, which have also been activated per default now work based on GraalVM which upgrades the ECMAScript support from 5.1 to 10.0.
- Bundling OpenJDK.
To be independent from the Java setup on the host system, CrateDB is now bundling OpenJDK in its releases. This means there are now different platform-specific releases and users need to download the one appropriate for their platform.
- Adding more functions.
In this release, we added a lot of scalar and aggregation functions.
- Returning values.
For INSERT and UPDATE, users can now decide on what is returned. This is helpful when you want to get values from computed columns or values supplied by defaults such as _id.
For a complete overview of the changes including the breaking ones, check out the 4.2 release notes.