ScalarDB Overview
This page describes what ScalarDB is and its primary use cases.
What is ScalarDB?
ScalarDB is a hybrid transaction/analytical processing (HTAP) engine for diverse databases. It runs as middleware on databases and virtually unifies diverse databases by achieving ACID transactions and real-time analytics across them to simplify the complexity of managing multiple databases or multiple instances of a single database.
As a versatile solution, ScalarDB supports a range of databases, including:
- Relational databases that support JDBC, such as MariaDB, Microsoft SQL Server, MySQL, Oracle Database, PostgreSQL, SQLite, and their compatible databases, like Amazon Aurora, Google AlloyDB, TiDB, and YugabyteDB.
- NoSQL databases like Amazon DynamoDB, Apache Cassandra, and Azure Cosmos DB.
For details on which databases ScalarDB supports, refer to Databases.
Why ScalarDB?
Several solutions, such as global transaction managers, data federation engines, and HTAP systems, have similar goals, but they are limited in the following perspectives:
- Global transaction managers (like Oracle MicroTx and Atomikos) are designed to run transactions across a limited set of heterogeneous databases (like only XA-compliant databases).
- Data federation engines (like Denodo and Starburst) are designed to run analytical queries across heterogeneous databases.
- HTAP systems (like TiDB and SingleStore) run both transactions and analytical queries only on homogeneous databases.
In other words, they virtually unify databases, but with limitations. For example, with data federation engines, users can run read-only analytical queries on a virtualized view across multiple databases. However, they often need to run update queries separately for each database.
Unlike other solutions, ScalarDB stands out by offering the ability to run both transactional and analytical queries on heterogeneous databases, which can significantly simplify database management.
The following table summarizes how ScalarDB is different from the other solutions.
Transactions across heterogeneous databases | Analytics across heterogeneous databases | |
---|---|---|
Global transaction managers (like Oracle MicroTx and Atomikos) | Yes (but existing solutions support only a limited set of databases) | No |
Data federation engines (like Denodo and Starburst) | No | Yes |
HTAP systems (like TiDB and SingleStore) | No (support homogeneous databases only) | No (support homogeneous databases only) |
ScalarDB | Yes (supports various databases) | Yes |
ScalarDB use cases
ScalarDB can be used in various ways. Here are the three primary use cases of ScalarDB.