See Rockset
in action

Get a product tour with a Rockset engineer

StarRocks vs SingleStore

Compare and contrast StarRocks and SingleStore by architecture, ingestion, queries, performance, and scalability.

Compare StarRocks to Rockset here

Compare SingleStore to Rockset here

StarRocks vs SingleStore Architecture

Architecture
StarRocks
SingleStore
Deployment model
PaaS or self managed
Self managed and SaaS deployment options
Use of storage hierarchy
Data is stored on disk and in memory
• Memory - for data requiring the highest performance • High-performance block storage for persistent cache - the working dataset should fit within the persistent cache • Cloud object storage for long-term retention
Isolation of ingest and query
No, but you can limit resources for ingestion and querying separately
No - databases share ingest and queries
Separation of compute and storage
No, but StarRocks supports nodes that don't store data locally
Yes - Singlestore Cloud uses cloud object storage for separation of compute and storage
Isolation for multiple applications
No
No

StarRocks is a high-performance OLAP database that can be deployed on the cloud or self managed. StarRocks does not separate compute and storage and offers limited options for resource isolation. It offers a robust set of features and high performance but requires considerable expertise to operate and scale.

SingleStore is a proprietary distributed relational database that handles both transactional and analytical workloads. It relies on memory and a persistent cache to deliver low latency queries. For longer term data retention, SingleStore Cloud separates compute from cloud object storage. SingleStore Cloud pricing is based on compute and storage usage.


StarRocks vs SingleStore Ingestion

Ingestion
StarRocks
SingleStore
Data sources
Streaming • Kafka • Flink Data lakes • HDFS compatible • Cloud storage
Integrations to: Amazon S3, Apache Beam, GCS, HDFS, Kafka, Spark, Qlik Replicate, HVR
Semi structured data
Supports columns with JSON data • Does not support mixed-type columns • Support for star and snowflake schemas
Ingests JSON as a JSON column type
Transformations and rollups
Yes, via materialized views
SingleStore pipelines do common data shaping including normalizing and denormalizing data, adding computed columns, filtering data, mapping data, splitting records into multiple destination tables

StarRocks ingests data from a variety of sources, including both batch and streaming data. StarRocks can ingest nested JSON data, but enforces type at the column level.

SingleStore has integrations to common data lakes and streams. With SingleStore pipelines, users can perform common data transformations during the ingestion process. SingleStore provides limited support for semi-structured data with its JSON column type. Many users structure data prior to ingestion for optimal query performance.

StarRocks vs SingleStore Performance

Performance
StarRocks
SingleStore
Updates
While StarRocks is mutable, the update rate is slow, which is why it is most often used for append-only workloads
SingleStore columnar store/universal storage is immutable. Updates are fast when the data still resides in memory
Indexing
Columnar index, limited support for inverted indexes
Indexes can be manually configured: Skiplist index, hash index, full-text index, geospatial index
Query latency
50-1000ms queries on 100s of TB
50-1000ms queries when the working set is contained in memory
Storage format
• StarRocks is a columnstore that organizes data into prefix indexes, per-column data blocks, and per-column indexes • All data is replicated 3 times to achieve both fault-tolerance and concurrency
Two table formats-either use the rowstore or columnstore/universal storage
Streaming ingest
Data latency is typically 1-2 seconds
• Columnnar store/universal storage ingests on a batch basis • Data latency is typically seconds by relying on memory

StarRocks was purpose-built for high-performance ingest, low-latency queries, and high concurrency. Optimized performance requires significant manual tuning.

SingleStore has two storage formats: a rowstore and a columnar store referred to as universal storage. The columnar store is used for analytical workloads, loading data in batch and relying on memory to achieve seconds of data latency. The columnar store can also execute queries in seconds when the working set is contained in memory. SingleStore provides the ability to configure and manage additional indexes on the data for faster performance.


StarRocks vs SingleStore Queries

Queries
StarRocks
SingleStore
Joins
Multi-table join support
Yes
Query language
SQL
SQL
Developer tooling
Minimal
• API for querying data via POST command • JDBC driver, Python client • Compatibility with MySQL and MariaDB to support additional drivers
Visualization tools
Compatibility with MySQL protocols enables StarRocks to work with BI tools
Integrations with Cognos Analytics, Dremio, Looker, Microstrategy, Power BI, Sisense, Tableau and Tibco Spotfire

StarRocks uses a high-performance vectorized SQL engine, a custom-built cost-based optimizer, and has support for materialized views.

SingleStore supports SQL as its native query language and can perform SQL joins. It is designed for querying structured data with static schemas. Users can create data APIs to execute SQL statements against the database over an HTTP connection. Common SingleStore use cases include business intelligence and analytics, and the database offers a number of integrations to visualization tools.


StarRocks vs SingleStore Scalability

Scalability
StarRocks
SingleStore
Vertical scaling
• Both frontend and backend nodes can be manually resized
• Cloud offering: Resize compute workspaces in the UI or using the Management API • Self-managed offering: Change cluster configuration by updating command-line arguments or to the cluster directly.
Horizontal scaling
• Both frontend and backend nodes can be manually scaled horizontally
Self-managed offering: Increase or decrease the number of nodes in the cluster. Rebalancing required

StarRocks can scale up or out, but its tightly coupled compute and storage scale together for performance. This often results in resource contention and overprovisioning. Scaling StarRocks often requires deep expertise as there are many levels of the system that need to be managed.

SingleStore Cloud can be sized up or down using the UI or the Management API. There is no ability to scale out by increasing or decreasing the leaf and aggregator nodes in the cloud offering. In the self-managed offering, horizontal and vertical scaling can occur by updating command-line arguments or the cluster directly. Horizontal scaling does require rebalancing