**Footnotes**
1. The BM25 index supports Postgres' multi-version concurrency control (MVCC)
rules. The index reflects the current state of the underlying table at all
times, changes to the index are atomic, and queries are transactionally
consistent with the table.
2. The BM25 index is built on block storage, Postgres' native storage API.
This means that it leverages the Postgres buffer cache, which minimizes disk
I/O.
3. All listed deployment features and limitations are specific to the BM25 index. For instance,
ParadeDB Community supports physical/logical replication, crash recovery, etc. for heap tables and other Postgres indexes like B-Tree.
4. In a primary-replica topology, BM25 indexes in ParadeDB Community are only available on the primary, as
the Community edition does not support physical (WAL) replication.
# Deploying ParadeDB
Source: https://docs.paradedb.com/deploy/overview
Explore the different ways to deploy ParadeDB into production
There are two ways to deploy ParadeDB: [self-hosting ParadeDB](/deploy/self-hosted/kubernetes) or using [ParadeDB BYOC](/deploy/byoc) (Bring Your Own Cloud).
## Self-Hosted ParadeDB
For hobby, development, or staging environments, [ParadeDB Community](https://github.com/paradedb/paradedb) can be deployed as a [Docker image](/deploy/self-hosted/docker),
inside [Kubernetes](/deploy/self-hosted/kubernetes), or as an [extension](/deploy/self-hosted/extension) inside an existing self-hosted Postgres.
For production environments, we recommend deploying the [ParadeDB Enterprise](/deploy/enterprise) binary inside Kubernetes. This unlocks support for
[logical replication](/deploy/self-hosted/logical-replication/getting-started) and [high availability](/deploy/self-hosted/high-availability/configuration), which must be configured separately.