Consistent Transactions
CockroachDB guarantees consistent and high performant ACID transactions at global scale and is never eventual
Development Ease
CockroachDB ensures data integrity, provides joins, and eliminates complex, error-prone application code
Business Workloads
CockroachDB delivers a relational database built for operational workloads and more complex data models
Optimized for non-relational data
Relational databases are founded in relational algebra and deliver a highly efficient store that enforces data integrity in the database as opposed to in code.
With a relational database, maintaining parent/child, data types, and cardinality of relationships is enforced by the database. With NoSQL, the developer needs to add complex code to the application to ensure data integrity and relationships.
A relational database implements complex joins and aggregate views as part of its execution layer and offers simple DDL for making requests. With NoSQL, joins are often the task of a developer who has to code these routines in their application logic.
A relational database is optimal for workloads where data relationships are paramount such as transactional system of record workloads. NoSQL is typically used when you have an established access pattern that will not evolve, with simple data models and minimal transactions (if any).