# How to read the visualization

Revision 1 (11 October 2026) · Modeled snapshot · through 8 October 2026.

All figures are research-informed estimates of analytical activity. Significant errors may remain; decimal places do not imply measurement precision.

## 1991: One database, three layers

Oracle’s **access** interface, **compute** engine, and native **storage** were tightly coupled. Follow the highlighted boxes from top to bottom. Most applications used their database’s own interface; some desktop products already shared languages and file conventions.

Each layer totals 100%; widths are estimates of analytical activity.

[Explore 1991](https://history.columnar.tech/years/1991.md)

## 1992: ODBC opens a portable path

ODBC introduces a common client interface across a broad range of databases. Its small first slice marks the start of ODBC adoption; database-specific interfaces remain widely used.

Use the timeline to compare years and watch adoption unfold.

[Explore 1992](https://history.columnar.tech/years/1992.md)

## 2003: Most storage is still database-specific

Portable access has spread, but most analytical storage still uses a database’s native format. Hadoop later expands the scale of analytics over shared files.

A common way to query databases does not mean they share a storage format.

[Explore 2003](https://history.columnar.tech/years/2003.md)

## 2009: SQL reaches shared files

Hadoop and Hive bring analytical work to shared files in HDFS. The highlighted slice sits outside the databases’ native stores: the files can outlive, and be read by more than, one query engine.

Within each layer, older surviving technologies generally sit to the left of newer ones.

[Explore 2009](https://history.columnar.tech/years/2009.md)

## 2026: Open storage has grown

Shared files and open tables now account for a much larger share. Formats such as Parquet, Iceberg, and Delta let multiple engines work with the same data, loosening the link between storage and a particular database.

Open formats make sharing possible; catalogs and engine features can still limit interchangeability.

[Explore 2026](https://history.columnar.tech/years/2026.md)

## 2020: Decades of portable access

Back in the access layer, ODBC, JDBC, Python DB-API, and other portable interfaces dominate, decades after ODBC arrived. Engines and storage have changed enormously beneath interfaces that many applications still rely on.

Portable access and open storage evolved at different times. Follow each layer separately.

[Explore 2020](https://history.columnar.tech/years/2020.md)

## 2026: Arrow changes how data moves

Arrow-based interfaces, including ADBC, are gaining share as some workloads move off older interfaces. This includes Python and notebook workflows: Arrow transfers column-oriented data efficiently. The older portable interfaces still dominate, but access is changing again.

Try selecting a box or choosing an engine to trace its connections across the layers.

[Explore 2026](https://history.columnar.tech/years/2026.md)

## Widths, order, and the key

Each of the three layers totals 100%. Widths represent shares of analytical activity. Within each part of a layer, older surviving technologies generally sit to the left of newer ones. Database-specific access and native storage remain on the left; portable access and shared storage sit to the right. Catch-all categories can contain newer technologies that are not listed separately.

In access and storage, gray identifies system-specific interfaces or representations, and white identifies portable or shared ones. Hatching identifies vendor-managed open formats or APIs. Compute uses a uniform fill.

Managed and unmanaged subdivisions add to their parent category. Their global percentages use the full layer as the denominator; their within-parent percentages use the parent alone. Unmanaged means customer-managed. A vendor-managed table service performs ongoing maintenance; a hosted catalog by itself does not qualify.

Access-to-compute and compute-to-storage connections are estimated separately. Their widths show estimated use, not every possible integration. Following both through an engine does not identify which interface queried a particular storage format.

## Use the interactive version

Play animates the history; the timeline and previous/next buttons choose a year. Speed controls playback. Highlights toggles caption emphasis and the corresponding outlines in both playback and stills.

Select a box, its outside label, or an engine in the dropdown to trace connections and open its details. Hover or focus a narrow box to reveal its name. The All percentages section lists the selected year’s values. The circled question mark opens the guided tour.

Open a year directly by appending its year to the URL, for example [1997](https://history.columnar.tech/?1997). The footer opens the methodology, terms, and revision history.

## Reading the Markdown tables

Annual layer tables preserve the precision shown in All percentages. Connection tables use the inspection panel’s rounding, including <0.1% for small positive values. Rounded values may not sum exactly. A category’s first appearance is a modeled availability date, not necessarily its invention or first commercial release. An absent category does not establish that it had no users.

---

[Markdown overview](https://history.columnar.tech/index.md) · [Interactive visualization](https://history.columnar.tech/) · [Methodology](https://history.columnar.tech/methodology.md) · [Terms of use](https://history.columnar.tech/terms.md)

© 2026 Columnar Technologies Inc.
