Welcome to the XTDB 2.x Early Access documentation
XTDB in a nutshell
XTDB is a bitemporal and dynamic relational database for SQL and Datalog.
Cloud native: modern columnar architecture built around Apache Arrow.
Bitemporal: all data is accurately versioned as updates are made (system time), and all data exists within a universal domain timeline for representing 'validity'/'effectivity' (valid time).
Dynamic: no upfront schema needs to be specified before records can be inserted. Complex and nested data is automatically represented using Apache Arrow types.
Relational: the full spectrum of traditional SQL database capabilities is available - including joins, transactions, bag/multiset semantics, three-valued logic, multiple N-ary relations etc.
SQL: immediate accessibility for a mainstream audience and an eye to the future with preliminary Flight SQL driver support.
Datalog: programmer-friendly API for complex relational querying that overcomes many of SQL’s compositional challenges.
Check out our What is XTDB? breakdown to learn more about what makes XTDB special. ✨
Try it out right now:
docker pull ghcr.io/xtdb/xtdb-ea docker run -ti --rm -p 5432:5432 -p 9832:9832 -p 3001:3000 ghcr.io/xtdb/xtdb-ea
Now follow the instructions for the example snippets over on the 2.x Early Access landing page.
To start querying XTDB from your application code, you can currently use the Clojure client library or the HTTP interfaces directly, for both SQL and Datalog. The HTTP SQL interface is stateless. An experimental pgwire-server is also available to connect from any Postgres client driver if you wish to use SQL.
Join our Community
Join us in Discuss XTDB to share with and get help from an active, friendly community!
💬 Say hello, ask questions, make suggestions…share what you’ve been working on!
NextWhat is XTDB?