When a news site's traffic, click logs, ad impressions and content metrics grow into billions of rows over the years, running fast analytics on a traditional row-based database becomes painful. Vertica, a column-oriented, massively parallel analytical database built for exactly this kind of large-scale workload, is designed for this moment.
Related reading: Database types guide · What Is DuckDB? · What Is SAP HANA?
What Is Vertica?
Vertica is an analytical database management system that stores data in a column-oriented layout and runs queries using an MPP (Massively Parallel Processing) architecture. In short, it is positioned as an analytical data warehouse platform for large data sets.
Instead of storing data row by row, Vertica stores it column by column. This is efficient for reporting and aggregation queries that scan many rows but touch only a few columns. The system is queried with standard SQL, so existing SQL knowledge and reporting tools largely continue to work.
A Short History
Vertica traces its roots to C-Store, an academic column-store research project. That project involved researchers including Michael Stonebraker, well known for his work on relational databases. The commercial product was developed by Vertica Systems, which Stonebraker co-founded.
The company was acquired by Hewlett-Packard (HP) in 2011. Over the following years, parts of HP's software portfolio moved under Micro Focus, and Micro Focus in turn was acquired by OpenText in 2023. As a result, Vertica is today a commercial product within the OpenText portfolio.
How Column-Oriented Storage Works
Traditional row-based databases keep all fields of a record together in the same region of disk. Analytical queries, however, often need only a handful of the hundreds of columns in a table. In a column-oriented model each column is stored separately, so a query reads only the columns it needs and avoids pulling irrelevant data off disk.
- Only the columns a query needs are read, reducing disk I/O
- Because similar values sit together, compression ratios improve
- Aggregation and scan operations (SUM, COUNT, GROUP BY) run efficiently
- It scales well for wide tables and large full-scan workloads
Projections: A Different Model Instead of Indexes
The most distinctive thing that sets Vertica apart from many relational databases is that it does not use traditional B-tree indexes. Instead, data is written to physical disk as sorted, encoded column collections called projections.
A projection stores all or a subset of a table's columns in a specific sort and encoding order. The query planner picks the most suitable projection for an incoming query. This model removes the overhead of maintaining separate indexes while providing a physical layout optimized for query patterns.
- Super projection: contains all columns of a table
- Query-specific projections: subsets optimized for frequent queries
- Sort order and encoding directly affect query performance
- Projections are kept up to date automatically as data is loaded
Compression and Encoding
One natural benefit of column-oriented storage is strong compression. Because values in the same column share a type and often repeat in predictable patterns, Vertica compresses them with different encoding methods. This lowers storage cost and speeds up queries by reducing the amount of data read from disk.
| Encoding / Method | Good Fit For |
|---|---|
| RLE (Run-Length Encoding) | Sorted columns with few distinct, heavily repeated values |
| Delta encoding | Numeric or date columns where consecutive values differ by small amounts |
| Dictionary-based | Columns where a limited set of text values repeats |
| General compression | A general-purpose compression layer for other columns |
Encoding can be configured per column. Choosing the right encoding makes a meaningful difference for both storage footprint and query performance.
Eon Mode and Enterprise Mode
Vertica offers two core operating modes. In Enterprise Mode data lives on the local disks of the cluster nodes, so compute and storage are combined on the same nodes. In Eon Mode storage is separated from compute: data is kept in an object storage layer (such as cloud object storage) while compute nodes scale up or down as needed.
| Aspect | Enterprise Mode | Eon Mode |
|---|---|---|
| Storage | Local disk on nodes | Separate object storage layer |
| Scaling | Add nodes and redistribute data | Scale compute independently of storage |
| Typical environment | On-premises hardware | Cloud and elastic workloads |
| Elasticity | More static | More flexible, workload-driven |
Eon Mode stands out especially when workloads fluctuate through the day and being able to grow or shrink compute on demand is valuable.
SQL and Query Examples
Vertica is queried with standard SQL. Below is a simple analytical table holding a news site's page-view log, along with an example aggregation query.
-- Analytical table for page views
CREATE TABLE page_views (
event_time TIMESTAMP NOT NULL,
article_id INT NOT NULL,
category VARCHAR(64),
country VARCHAR(2),
device VARCHAR(16)
)
ORDER BY event_time, category; -- projection sort order
-- Example insert
INSERT INTO page_views
VALUES ('2026-09-28 08:15:00', 1042, 'software', 'TR', 'mobile');-- Views per category over the last 7 days
SELECT category,
COUNT(*) AS views,
COUNT(DISTINCT article_id) AS distinct_articles
FROM page_views
WHERE event_time >= NOW() - INTERVAL '7 days'
GROUP BY category
ORDER BY views DESC;As the query shows, the syntax is familiar SQL. Vertica also provides analytics-focused SQL extensions such as window functions, time-series features and event-sequence pattern matching.
In-Database Machine Learning
Vertica includes machine learning functions that run directly inside the database, without moving the data out. Common algorithms such as regression, classification and clustering can be used through SQL calls. This reduces the need to copy large data sets into a separate system.
- Basic models such as linear and logistic regression
- Clustering methods such as k-means
- Model training, evaluation and prediction steps run through SQL
- Running where the data lives, which reduces data movement
Data Loading and Maintenance
The value of an analytical database depends on how quickly and cleanly it can ingest large batches of data. Vertica provides an efficient COPY command for bulk loading, which writes large volumes of data straight into columns from files or streams. During loading, data is sorted, encoded and compressed as it is placed into the on-disk storage structures.
Vertica uses a background maintenance process (the Tuple Mover) that merges data blocks written to disk. This process turns the fragments created by many small writes into larger, more efficient structures, which keeps query performance healthy. Running regularly, this maintenance keeps the system behaving consistently over time.
- An efficient COPY command for bulk loading
- Automatic sorting, encoding and compression during load
- Background merging (the Tuple Mover) that tidies storage structures
- A good fit for periodically ingesting large data sets in batches
Vertica Compared to Other Systems
Every database offers different trade-offs for different workloads. The comparison below is a rough way to position Vertica; the right choice always depends on your project's requirements.
| System | Primary Model | Notable Strength |
|---|---|---|
| Vertica | Column-oriented, MPP analytics | Large-scale analysis, compression, projections |
| PostgreSQL | Row-based, object-relational | General-purpose workloads, extensibility |
| DuckDB | Column-oriented, embedded | Single-machine analytics, lightweight setup |
| SAP HANA | In-memory, column/row | In-memory analytics and enterprise app integration |
To explore different approaches, see What Is DuckDB? and What Is SAP HANA?
Typical Use Cases
- Large-scale data warehousing and business intelligence (BI) reporting
- Web and ad analytics: click, impression and conversion logs
- Aggregation and trend analysis over time-series and event data
- Analytical exploration of log and telemetry data
- In-database machine learning experiments over large data
Licensing, Editions and Deployment
Vertica is a commercial product, typically used under a subscription or license. A capacity-limited free community edition has also been offered for evaluation and small projects. Exact capacity limits, license terms and pricing can change over time and should be verified against current official sources.
Installation and Deployment Options
Vertica can be deployed in several environments, from on-premises server clusters to cloud environments and container-based deployments. Flexible deployments built on object storage with Eon Mode are especially common in the cloud.
- Installation on an on-premises server cluster
- Object-storage-based Eon Mode deployment in the cloud
- Container and Kubernetes-based deployment
- Single-node installations for evaluation
To compare managed database options on the cloud side, see Cloud Database Services.
Frequently Asked Questions
Is Vertica free?
Vertica is a commercial product, but a capacity-limited community edition has been offered for evaluation and small-scale use. Full capacity at production scale generally requires a commercial license or subscription. Verify the current terms from the official source.
Is Vertica an OLTP database?
No. Vertica is designed for analytical (OLAP) workloads. For an application's real-time transactional (OLTP) layer, row-based systems such as PostgreSQL are a better fit; Vertica sits above them as an analytics layer.
How do I choose between Vertica and PostgreSQL?
A row-based system suits high-volume single transactions and general-purpose application backends, while a column-oriented system suits reporting and analytics over large data. In many architectures both are used together: transactions accumulate in an OLTP database, and analytics are moved into Vertica.