--- title: "Overview" slug: "dev-database-overview" description: "VAST DataBase offers ACID transactions, row-level updates, and seamless integration with Python, Trino, and Spark for high-volume structured data." updated: 2026-10-30T18:19:06Z published: 2026-10-30T18:19:06Z canonical: "docs.vastdata.com/dev-database-overview" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.vastdata.com/llms.txt > Use this file to discover all available pages before exploring further. # Overview *Applies to VAST Cluster 5.5.* New here? Start with the [developer docs overview](/develop/docs/dev-start-overview). VAST DataBase is a transactional database for tables, built into the VAST cluster. Its tables live on the same storage as the cluster's files and objects. You work with them from the Python SDK, from query engines such as Trino and Spark, or through the VAST Query Engine, which runs on the cluster itself. These docs are for people who **build on** VAST DataBase: developers, data engineers and data scientists. To enable, configure or run VAST DataBase on a cluster, see the [VAST knowledge base](/docs-5-5/docs/vast-database); those are tasks for your platform team. ## What you get - **ACID transactions for every operation.** Each read and write runs in a transaction, and a transaction can cover as much work as you need. For what this means in practice, see [transactions in practice](/develop/docs/dev-database-guides-transactions-in-practice). - **Row-level updates and deletes.** You can change individual rows, or individual columns, and updates and deletes are low-latency. - **Work pushed down to the data.** Query engines hand filtering and column selection to the database, which runs it on the cluster's CNodes, close to the data. Less data travels back to the engine. See [pushdowns](/develop/docs/dev-database-reference-pushdowns). - **Schema management built in.** Adding and dropping columns are transactional operations, and there's no separate metastore to run. - **Tables are ordinary cluster storage,** so they share the cluster's snapshots, data reduction and capacity. You can read a table from a snapshot; see [snapshots and replication](/develop/docs/dev-database-operations-snapshots-and-replication). - **Room to grow.** VAST DataBase is designed for analytical and very high-volume structured data, including tables that keep growing, without re-sharding as they do. ## How you access it ![Your application can work with the same VAST DataBase tables through any of four clients: the Python SDK, Trino, Apache Spark, or the VAST ADBC driver, which sends SQL to the VAST Query Engine inside the cluster. The SDK, Trino and Spark hand filtering and column selection to the database, which runs it on the cluster's CNodes, close to the data. Every read and write runs in a transaction, and once an SDK transaction commits, Trino can query the rows it loaded.](https://cdn.us.document360.io/89b91113-5dc6-49db-86ec-57b16dc8ce56/Images/Documentation/overview-clients-v2.svg?sv=2026-02-06&spr=https&st=2026-11-08T08%3A54%3A45Z&se=2026-11-08T09%3A54%3A45Z&sr=c&sp=r&sig=o7VwUkgJdBer3DtYZLoD8WzHYKFSuLYKUSTTlFwM3UU%3D) *Every client works on the same tables.* | Client | Use it for | Start here | | --- | --- | --- | | **Python SDK** (`vastdb`) | Creating tables, loading data and querying from Python, with Arrow in and out | [Quickstart](/develop/docs/dev-database-quickstart), [Python SDK](/develop/docs/dev-database-integrations-python-sdk) | | **Trino** | SQL analytics, with VAST as a Trino catalog | [Trino](/develop/docs/dev-database-integrations-trino) | | **Apache Spark** | DataFrame pipelines and Spark SQL | [Spark](/develop/docs/dev-database-integrations-spark) | | **VAST Query Engine** | SQL that runs inside the cluster, from your own applications through the VAST ADBC driver | [VAST Query Engine (ADBC)](/develop/docs/dev-database-integrations-adbc), [SQL reference](/develop/docs/dev-database-reference-sql-index) | All of these work on the same tables. For example, once your SDK transaction commits, Trino can query the rows you loaded. For which client versions go with which cluster version, see [versions](/develop/docs/dev-database-reference-versions). ## Use cases and considerations Example use cases: - **Analytical and high-volume workloads** on structured data that's large and keeps growing. - **Data that changes.** You need row-level updates and deletes, with transactional guarantees, rather than append-only files. - **Several engines on one copy of the data.** For example, Python ingest, Trino dashboards and Spark jobs can all read the same tables without separate exports. Important to note: - **Table layouts can't all be combined.** Sorted tables, partitioned tables, semi-sorted projections, user-defined row IDs, vector indexes and replication have documented restrictions on each other. Some choices also can't be changed after the table is created. Read [table structures](/develop/docs/dev-database-concepts-architecture-table-structures) and [limits](/develop/docs/dev-database-reference-limits) before you choose. - **The VAST Query Engine supports a defined subset of SQL.** For anything outside it, use Trino or Spark. See the [SQL reference](/develop/docs/dev-database-reference-sql-index). - **Size limits apply** to cells and to individual requests. See [limits](/develop/docs/dev-database-reference-limits). ## Related products and features These have their own documentation: | You want to… | Go to | | --- | --- | | Store embeddings and run similarity search | [VAST Vector Search](/develop/docs/dev-vector-search-overview). These pages cover only the table side of vector tables, such as how they're created and what they can be combined with. | | Stream events into tables, or expand JSON event payloads into columns | [VAST Event Broker](/develop/docs/dev-event-broker-overview) | | Query metadata about every file and object on the cluster | [VAST Catalog](/develop/docs/dev-catalog-overview). The Catalog is a table you query through the database, for example with `tx.catalog()` in the Python SDK. | | Query who did what on the cluster | The audit log is also a table you query through the database (`tx.audit_log()` in the Python SDK). See [query the audit log](/develop/docs/dev-catalog-guides-audit-log). | | Create views, policies, keys and tables from CI with the REST API, vastpy, Terraform or the admin MCP server | [CI/CD and automation](/develop/docs/dev-database-operations-ci-cd); [automation tools compared](/develop/docs/dev-database-reference-automation-tools) | | Run Trino or Spark as managed applications on the cluster | [DataEngine docs](/dataengine/). For how managed engines relate to the work you control, see [performance](/develop/docs/dev-database-operations-performance). | ## Where to go next 1. [Quickstart](/develop/docs/dev-database-quickstart): connect, create a table, and insert and query rows in about 10 minutes. 2. [Concepts](/develop/docs/dev-database-concepts-index): the mental model behind databases, schemas, tables and transactions. 3. [Setup prerequisites](/develop/docs/dev-database-operations-setup-prerequisites): what to ask your platform team for before you start.