# Concepts

> How NYXDB stores tables, orders versions, publishes committed changes and maintains derived and streaming results.

These pages explain how NYXDB works. The [capabilities page](/docs/capabilities)
lists everything it provides.

- [Architecture](https://nyxdb.io/docs/concepts/architecture/) — Nodes, the gateway, SQL, tablets, PSI and the derived consumers.
- [Tables](https://nyxdb.io/docs/concepts/tables/) — APPEND, UPSERT and VERSIONED tables, keys, shards and partitions.
- [Attribute groups](https://nyxdb.io/docs/concepts/attribute-groups/) — Independently written column groups inside one keyed row.
- [Versioned tables](https://nyxdb.io/docs/concepts/versioned-tables/) — VALID BY, REVISION BY and AS OF COMMIT reads.
- [Consistency](https://nyxdb.io/docs/concepts/consistency/) — Atomic statements, transactions and what a read observes.
- [Transformations](https://nyxdb.io/docs/concepts/transformations/) — Continuous writers that maintain a result in an existing table.
- [PSI](https://nyxdb.io/docs/concepts/psi/) — The committed-change feed every derived consumer subscribes to.
- [Streaming reads](https://nyxdb.io/docs/concepts/streaming-reads/) — STREAM SELECT: one snapshot, then exact changes.
- [Indexes](https://nyxdb.io/docs/concepts/indexes/) — MINMAX, BLOOM and POSTINGS indexes and their scopes.
- [Storage](https://nyxdb.io/docs/concepts/storage/) — Storage profiles, column codecs and the write-ahead log.
- [Federation](https://nyxdb.io/docs/concepts/federation/) — Reading another instance's tables as external relations.
- [Authentication](https://nyxdb.io/docs/concepts/authentication/) — Bearers, sessions, users, passwords and API keys.

---

Source: https://nyxdb.io/docs/concepts/
