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

MPP and Shared-Nothing Architecture

Vertica is designed to run on a cluster of multiple servers (nodes). In the MPP approach a query is split across the nodes in the cluster in parallel, and each node works on its own slice of the data. The partial results are combined and returned to the client.

The classic deployment is a shared-nothing architecture: each node has its own CPU, memory and (in Enterprise Mode) its own disk. As nodes are added, both storage and processing capacity grow, giving horizontal scalability.

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 / MethodGood Fit For
RLE (Run-Length Encoding)Sorted columns with few distinct, heavily repeated values
Delta encodingNumeric or date columns where consecutive values differ by small amounts
Dictionary-basedColumns where a limited set of text values repeats
General compressionA 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.

AspectEnterprise ModeEon Mode
StorageLocal disk on nodesSeparate object storage layer
ScalingAdd nodes and redistribute dataScale compute independently of storage
Typical environmentOn-premises hardwareCloud and elastic workloads
ElasticityMore staticMore 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.

sql
-- 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');
sql
-- 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.

SystemPrimary ModelNotable Strength
VerticaColumn-oriented, MPP analyticsLarge-scale analysis, compression, projections
PostgreSQLRow-based, object-relationalGeneral-purpose workloads, extensibility
DuckDBColumn-oriented, embeddedSingle-machine analytics, lightweight setup
SAP HANAIn-memory, column/rowIn-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.