KairosDB 1.3.0 got released in the 3rd week of august. I have been using KairosDB from the past several years in various applications to store timeseries data. From 2018 onwards, there was not update or release. The long awaited 1.3.0 version is available now and it comes with several bug fixes and enhancements.
The new KairosDB supports Cassandra 4.0.
The new KairosDB has a different structure in the configuration file. The complete structure is different. The older versions were using a properties file. Do not try any Kairos upgrades on critical systems before testing it out in the lower environments. There is no proper documentation available in the Kairos website related to Kairos upgrade.
One of the interesting feature in the 1.3.0 release is the support for Multi Cluster Cassandra. Multi cluster lets you configure a single write cluster and multiple read clusters for metric data. This also supports configuring Cassandra cluster with different versions. This is an excellent feature that helps us in tackling some of the following problems.
- Cassandra Cluster Upgrades
- Expire or Archive historic data
- Limiting the cluster size by creating multiple small clusters.
Let me explain how this feature helps me to solve some of the problems faced by me.
- Lets assume I have a Kairos cluster which has huge data with several concurrent read and write requests every second. The data grows every second. Currently the cluster is large and tuning it to get excellent performance for historic reads and writes is little challenging. With the new feature, I can keep a smaller cluster for all the writes and the bigger cluster for all the historic data. All read queries will get executed on both the clusters and the writes will happen only on the new small cluster. In this way, I can achieve better performance.
- Another advantage is the ability to use different version of Cassandra clusters behind KairosDB. Lets assume I have a huge Cassandra cluster are running with version 3.11. Now Cassandra 4.0 released. I can create a new cluster with Cassandra 4.0 and keep the existing cluster with Cassandra 3.11 under the same KairosDB. The kairos will interact with both the clusters.
The new Kairos comes with an enhanced web interface. The users can select the required timezone in which you want to see the data. This is a very useful feature.
The new Kairos web interface supports Highcharts for visualization. By default, the UI uses Flot. Highcharts can be integrated easily if we have the license.
I will keep updating this document based on my findings. I am exploring and experimenting all the new features in the latest KairosDB (1.3.0) before using it in critical applications.
Feel free to comment if you have any feedback or questions about KairosDB.