Compare CrateDB with Azure TSI
Azure TSI can be a good solution for some consumer-IoT applications, but for IoT use cases in need of high scalability, CrateDB is a better fit. Unlike TSI, CrateDB is purpose-built to handle vast volumes of time-series data in real time without reducing accuracy.
First, using Azure TSI on an industrial scale comes with very high costs. Azure TSI is subject to limitations in data queries (150,000 records, with only 10 concurrent queries on warm data allowed) and data ingress (72.000 records/min or 1200 events/sec). TSI is not built for scalability: on the contrary, the distributed nature of CrateDB makes it easy to scale horizontally, offering automatic replication and cluster rebalancing.
Azure TSI is built on top of Azure Data Explorer, so its full functionality can only be accessed by the Kusto Query Language. Data can only be queried, not written, and an external API is needed to establish communication between TSI and the underlying database. This can create problems: there is a risk of vendor lock-in, and having the query language separated from the database restricts future development.
Without abandoning SQL, CrateDB offers a very versatile data model, performing aggregations, JOINs, sub-selects, and ad-hoc queries at in-memory speed. It processes changing data models and JSON objects fluidly, with automatic schema updates as JSON objects change or are added. CrateDB also integrates native, full-text search features, and it supports JOIN and Postgres wire protocol. In contrast to Azure TSI (which automatically infers a schema), CrateDB schemas are totally flexible: columns can be added anytime without slowing performance.
Besides, CrateDB has an eventual consistency model that allows prioritizing data availability in complex queries, offering a very efficient real-time performance. Azure TSI doesn’t really offer a real-time response since it queries in the order of seconds up to a minute. Aggregation queries that in TSI can take up to one minute take seconds or milliseconds in CrateDB.