Choosing the right database is a critical choice when building any software application. All databases have different strengths and weaknesses when it comes to performance, so deciding which database has the most benefits and the most minor downsides for your specific use case and data model is an important decision. Below you will find an overview of the key concepts, architecture, features, use cases, and pricing models of StarRocks and VictoriaMetrics so you can quickly see how they compare against each other.

The primary purpose of this article is to compare how StarRocks and VictoriaMetrics perform for workloads involving time series data, not for all possible use cases. Time series data typically presents a unique challenge in terms of database performance. This is due to the high volume of data being written and the query patterns to access that data. This article doesn’t intend to make the case for which database is better; it simply provides an overview of each database so you can make an informed decision.

StarRocks vs VictoriaMetrics Breakdown


 
Database Model

Data warehouse

Time series database

Architecture

StarRocks can be deployed on-premises, in the cloud, or in a hybrid environment, depending on your infrastructure preferences and requirements.

VictoriaMetrics can be deployed as a single-node instance for small-scale applications or as a clustered setup for large-scale applications, offering horizontal scalability and replication.

License

Apache 2.0

Apache 2.0

Use Cases

Business intelligence, analytics, real-time data processing, large-scale data storage

Monitoring, observability, IoT, real-time analytics, DevOps, application performance monitoring

Scalability

Horizontally scalable, with support for distributed storage and query processing

Horizontally scalable, supports clustering and replication for high availability and performance

StarRocks Overview

StarRocks is an open source high-performance analytical data warehouse that enables real-time, multi-dimensional, and highly concurrent data analysis. It features an MPP (Massively Parallel Processing) architecture and is equipped with a fully vectorized execution engine and a columnar storage engine that supports real-time updates.

VictoriaMetrics Overview

VictoriaMetrics is an open source time series database developed by the company VictoriaMetrics. The database aims to assist individuals and organizations in addressing their big data challenges by providing state-of-the-art monitoring and observability solutions. VictoriaMetrics is designed to be a fast, cost-effective, and scalable monitoring solution and time series database.


StarRocks for Time Series Data

StarRocks is primarily focused on data warehousing workloads but can be used for time series data. StarRocks can be used for real time analytics and historical data analysis.

VictoriaMetrics for Time Series Data

VictoriaMetrics is designed for time series data, making it a solid choice for applications that involve the storage and analysis of time-stamped data. It provides high-performance storage and retrieval capabilities, enabling efficient handling of large volumes of time series data.


StarRocks Key Concepts

  • MPP Architecture: StarRocks utilizes an MPP architecture, which enables parallel processing and distributed execution of queries, allowing for high-performance and scalability.
  • Vectorized Execution Engine: StarRocks employs a fully vectorized execution engine that leverages SIMD (Single Instruction, Multiple Data) instructions to process data in batches, resulting in optimized query performance.
  • Columnar Storage Engine: The columnar storage engine in StarRocks organizes data by column, which improves query performance by only accessing the necessary columns during query execution.
  • Cost-Based Optimizer (CBO): StarRocks includes a fully-customized cost-based optimizer that evaluates different query execution plans and selects the most efficient plan based on estimated costs.
  • Materialized View: StarRocks supports intelligent materialized views, which are precomputed summaries of data that accelerate query performance by providing faster access to aggregated data.

VictoriaMetrics Key Concepts

  • Time Series: VictoriaMetrics stores data in the form of time series, which are sequences of data points indexed by time.
  • Metric: A metric represents a specific measurement or observation that is tracked over time.
  • Tag: Tags are key-value pairs associated with a time series and are used for filtering and grouping data.
  • Field: Fields contain the actual data values associated with a time series.
  • Query Language: VictoriaMetrics supports its own query language, which allows users to retrieve and analyze time series data based on specific criteria.


StarRocks Architecture

StarRock’s architecture includes a fully vectorized execution engine and a columnar storage engine for efficient data processing and storage. It also incorporates features like a cost-based optimizer and materialized views for optimized query performance. StarRocks supports real-time and batch data ingestion from a variety of sources and enables direct analysis of data stored in data lakes without data migration

VictoriaMetrics Architecture

VictoriaMetrics is available in two forms: Single-server-VictoriaMetrics and VictoriaMetrics Cluster. The Single-server-VictoriaMetrics is an all-in-one binary that is easy to use and maintain. It vertically scales well and can handle millions of metrics per second. On the other hand, VictoriaMetrics Cluster consists of components that allow for building horizontally scalable clusters, enabling high availability and scalability in demanding environments. The architecture of VictoriaMetrics enables users to choose the deployment option that best suits their needs and scale their database infrastructure as required.

Free Time-Series Database Guide

Get a comprehensive review of alternatives and critical requirements for selecting yours.

StarRocks Features

Multi-Dimensional Analysis

StarRocks supports multi-dimensional analysis, enabling users to explore data from different dimensions and perspectives.

High Concurrency

StarRocks is designed to handle high levels of concurrency, allowing multiple users to execute queries simultaneously.

Materialized View

StarRocks supports materialized views, which provide precomputed summaries of data for faster query performance.

VictoriaMetrics Features

High performance

VictoriaMetrics is optimized for high-performance storage and retrieval of time series data. It can efficiently handle millions of metrics per second and offers fast query execution for real-time analysis.

Scalability

The architecture of VictoriaMetrics allows for both vertical and horizontal scalability, enabling users to scale their monitoring and time series database infrastructure as their data volume and demand grow.

Cost-effectiveness

VictoriaMetrics provides a cost-effective solution for managing time series data. Its efficient storage and query capabilities contribute to minimizing operational costs while maintaining high performance.


StarRocks Use Cases

Real-Time Analytics

StarRocks is well-suited for real-time analytics scenarios, where users need to analyze data as it arrives, enabling them to make timely and data-driven decisions.

Ad-Hoc Queries

With its high-performance and highly concurrent data analysis capabilities, StarRocks is ideal for ad-hoc querying, allowing users to explore and analyze data interactively.

Data Lake Analytics

StarRocks supports analyzing data directly from data lakes without the need for data migration. This makes it a valuable tool for organizations leveraging data lakes for storage and analysis.

VictoriaMetrics Use Cases

Monitoring and Observability

VictoriaMetrics is widely used for monitoring and observability purposes, allowing organizations to collect, store, and analyze metrics and performance data from various systems and applications. It provides the necessary tools and capabilities to track and visualize key performance indicators, troubleshoot issues, and gain insights into system behavior.

IoT Data Management

VictoriaMetrics is suitable for handling large volumes of time series data generated by IoT devices. It can efficiently store and process sensor data, enabling real-time monitoring and analysis of IoT ecosystems. VictoriaMetrics allows for tracking and analyzing data from factories, manufacturing plants, satellites, and other IoT devices.

Capacity Planning

VictoriaMetrics enables retrospective analysis and forecasting of metrics for capacity planning purposes. It allows organizations to analyze historical data, identify patterns and trends, and make informed decisions about resource allocation and future capacity requirements.


StarRocks Pricing Model

StarRocks can be deployed on your own hardware using the open source project. There are also a number of commercial vendors offering managed services to run StarRocks in the cloud.

VictoriaMetrics Pricing Model

VictoriaMetrics is an open source project, which means it is available for free usage and doesn’t require any licensing fees. Users can download the binary releases, Docker images, or source code to set up and deploy VictoriaMetrics without incurring any direct costs. VictoriaMetrics also has paid offerings for on-prem Enterprise products and managed VictoriaMetrics instances.

Get started with InfluxDB for free

InfluxDB Cloud is the fastest way to start storing and analyzing your time series data.