Heroic vs IonDB: What are the differences?
Heroic: A scalable time series database based on Cassandra and Elasticsearch, by Spotify. Heroic is Spotify's in-house time series database. It was built to address the challenges Spotify was facing with near real-time data collection and presentation at scale; IonDB: A key-value store for microcontroller and IoT applications. Currently in the Arduino world, there doesn't exist an associative array or map implementation that is both easy to use and performance competitive. There also is little support for disk based storage options that don't involve writing it yourself. IonDB is fast, functional, and offers disk based storage out of the box.
Heroic and IonDB belong to "Databases" category of the tech stack.
Some of the features offered by Heroic are:
- heroic-core contains the com.spotify.heroic.HeroicCore class which is the central building block for setting up a Heroic instance.
- heroic-elasticsearch-utils is a collection of utilities for interacting with Elasticsearch. This is separate since we have more than one backend that needs to talk with elasticsearch.
- heroic-parser provides an Antlr4 implementation of com.spotify.heroic.grammar.QueryParser, which is used to parse the Heroic DSL.
On the other hand, IonDB provides the following key features:
- Storing arbitrary values associated to a key
- Duplicate key support
- Range and Equality queries
Heroic and IonDB are both open source tools. Heroic with 710 GitHub stars and 89 forks on GitHub appears to be more popular than IonDB with 525 GitHub stars and 37 GitHub forks.