Skip to content
Merged

0.5.3 #145

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/vectorchord/admin/kubernetes.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ ttensorchord=> \dx
Name | Version | Schema | Description
---------+---------+------------+---------------------------------------------------------------------------------------------
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
vchord | 0.5.2 | public | vchord: Vector database plugin for Postgres, written in Rust, specifically designed for LLM
vchord | 0.5.3 | public | vchord: Vector database plugin for Postgres, written in Rust, specifically designed for LLM
vector | 0.8.1 | public | vector data type and ivfflat and hnsw access methods
(3 rows)
```
Expand Down
2 changes: 1 addition & 1 deletion src/vectorchord/admin/migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ postgres=# \dx
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
vchord | 0.1.0 | public | vchord: Vector database plugin for Postgres, written in Rust, specifically designed for LLM
vector | 0.8.0 | public | vector data type and ivfflat and hnsw access methods
vectors | 0.5.2 | vectors | vectors: Vector database plugin for Postgres, written in Rust, specifically designed for LLM
vectors | 0.4.0 | vectors | vectors: Vector database plugin for Postgres, written in Rust, specifically designed for LLM
```

:::
Expand Down
33 changes: 10 additions & 23 deletions src/vectorchord/getting-started/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
VectorChord is tested on the following operating system:

* Ubuntu (x86_64, aarch64)
* MacOS (aarch64)
* MacOS (x86_64, aarch64)
* Windows (x86_64)
* Alpine Linux (x86_64, aarch64) [^1]
* Debian (powerpc64le, s390x, riscv64) [^2]

[^1]: VectorChord is tested with PostgreSQL 15 in `community` repository, 16 and 17 in `main` repository on Alpine Linux 3.22.
[^2]: VectorChord is tested with PostgreSQL 13, 14, 15, 16, and 17 in PostgreSQL's official repository on `powerpc64le`, and PostgreSQL 15 and 17 in Debian's official repository on `s390x` and `riscv64`, with QEMU user space emulator.
[^2]: VectorChord is tested with PostgreSQL 13, 14, 15, 16, 17 and 18 in PostgreSQL's official repository on `powerpc64le`, and PostgreSQL 15 and 17 in Debian's official repository on `s390x` and `riscv64`, with QEMU user space emulator.

Please report a bug if you encounter issues on any of the above operating systems, or submit a feature request for additional platform support.

Expand All @@ -28,7 +28,7 @@ docker run \
--name vchord-demo \
-e POSTGRES_PASSWORD=mysecretpassword \
-p 5432:5432 \
-d tensorchord/vchord-postgres:pg17-v0.5.2
-d tensorchord/vchord-postgres:pg18-v0.5.3
```

2. Connect to the database using the `psql` command line tool. The default username is `postgres`.
Expand Down Expand Up @@ -96,8 +96,8 @@ If you have not installed PostgreSQL yet, please install PostgreSQL. If you have
1. Download the source code, build and install it with `make`.

```sh
curl -fsSL https://github.com/tensorchord/VectorChord/archive/refs/tags/0.5.2.tar.gz | tar -xz
cd VectorChord-0.5.2
curl -fsSL https://github.com/tensorchord/VectorChord/archive/refs/tags/0.5.3.tar.gz | tar -xz
cd VectorChord-0.5.3
make build
make install # or `sudo make install`
```
Expand Down Expand Up @@ -139,34 +139,21 @@ Please note that binaries generated with a specific `target-cpu` are not compati
You can also do it by using Cargo's configuration.

```sh
cd VectorChord-0.5.2
cd VectorChord-0.5.3
mkdir -p .cargo
touch .cargo/config.toml
echo 'build.rustflags = ["-Ctarget-cpu=icelake"]' >> ./cargo/config.toml
```

### s390x

This section applies only to version 0.5.1 and 0.5.2 and may change in the next version.

When the target is S390X, you need to use the patch we provide for the upstream crate. You can do it by using Cargo's configuration.

```sh
cd VectorChord-0.5.2
mkdir -p .cargo
touch .cargo/config.toml
echo 'patch.crates-io.pgrx = { git = "https://github.com/tensorchord/pgrx.git", branch = "big-endian" }' >> ./cargo/config.toml
```

## Debian

If you have not installed PostgreSQL yet, please install PostgreSQL following https://www.postgresql.org/download/linux/debian/. If you have not installed pgvector yet, you could install pgvector by `apt install postgresql-17-pgvector` before the 3rd step.

1. Download Debian packages in [the release page](https://github.com/tensorchord/VectorChord/releases/latest), and install them by `apt`.

```sh
wget https://github.com/tensorchord/VectorChord/releases/download/0.5.2/postgresql-17-vchord_0.5.2-1_$(dpkg --print-architecture).deb
sudo apt install ./postgresql-17-vchord_0.5.2-1_$(dpkg --print-architecture).deb
wget https://github.com/tensorchord/VectorChord/releases/download/0.5.3/postgresql-17-vchord_0.5.3-1_$(dpkg --print-architecture).deb
sudo apt install ./postgresql-17-vchord_0.5.3-1_$(dpkg --print-architecture).deb
```

2. Configure your PostgreSQL by modifying the `shared_preload_libraries` to include the extension. And then restart the PostgreSQL cluster.
Expand All @@ -189,8 +176,8 @@ If you have not installed PostgreSQL yet, please install PostgreSQL following ht
1. Download Debian packages in [the release page](https://github.com/tensorchord/VectorChord/releases/latest), and install them by `apt`.

```sh
wget https://github.com/tensorchord/VectorChord/releases/download/0.5.2/postgresql-17-vchord_0.5.2-1_$(dpkg --print-architecture).deb
sudo apt install ./postgresql-17-vchord_0.5.2-1_$(dpkg --print-architecture).deb
wget https://github.com/tensorchord/VectorChord/releases/download/0.5.3/postgresql-17-vchord_0.5.3-1_$(dpkg --print-architecture).deb
sudo apt install ./postgresql-17-vchord_0.5.3-1_$(dpkg --print-architecture).deb
```

2. Configure your PostgreSQL by modifying the `shared_preload_libraries` to include the extension. And then restart the PostgreSQL cluster.
Expand Down
2 changes: 1 addition & 1 deletion src/vectorchord/getting-started/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ docker run \
--name vectorchord-demo \
-e POSTGRES_PASSWORD=mysecretpassword \
-p 5432:5432 \
-d tensorchord/vchord-postgres:pg17-v0.5.2
-d tensorchord/vchord-postgres:pg18-v0.5.3
```
> In addition to the base image with the VectorChord extension, we provide an all-in-one image, `tensorchord/vchord-suite:pg17-latest`. This comprehensive image includes all official TensorChord extensions. Developers should select an image tag that is compatible with their extension's version, as indicated in [the support matrix](https://github.com/tensorchord/VectorChord-images?tab=readme-ov-file#support-matrix).

Expand Down
4 changes: 4 additions & 0 deletions src/vectorchord/usage/indexing.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,10 @@ The operator classes for `MaxSim` are available since version `0.3.0`.
- `build.pin = false` means that shared memory is not used.
- `build.pin = true` means that shared memory is used.

### Default Build Options <badge type="tip" text="since v0.5.3" />

This is the default value of index building. The index will not be partitioned. In terms of semantics, `build.default = {}` is similar to `build.internal.lists = []`.

### Internal Build Options <badge type="info" text="vchordrq" />

#### `build.internal.lists`
Expand Down
17 changes: 9 additions & 8 deletions src/vectorchord/usage/monitoring.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,15 @@ SELECT command, phase, round(100.0 * blocks_done / nullif(blocks_total, 0), 1) A

There are 5 steps in the index construction process of `vchordrq`. The phase name of each step are as follows:

| Step | Message | Description | Waiting time |
| ---- | --------------------------------------- | --------------------------------------------------------------------------------------------------- | ------------ |
| 1 | `initializing` | Start building index | Short |
| 2 | `initializing index, by internal build` | This step is only for internal build. It involves performing K-means clustering to obtain centroids | Long |
| 2 | `initializing index, by external build` | This step is only for external build. It loads centroids from a specified table | Short |
| 3 | `initializing index` | Initialize the data structure and storage of the index | Short |
| 4 | `inserting tuples from table to index` | Assign all vectors to their corresponding lists | Long |
| 5 | `compacting tuples in index` | Optimize the structure of the vector index to enhance performance | Medium |
| Step | Message | Description | Waiting time |
| ---- | --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ------------ |
| 1 | `initializing` | Start building index | Short |
| 2 | `initializing index, by default build` | This step is only for default build | Short |
| 2 | `initializing index, by internal build` | This step is only for internal build. It involves table sampling and performing K-means clustering to obtain centroids | Long |
| 2 | `initializing index, by external build` | This step is only for external build. It loads centroids from a specified table | Short |
| 3 | `initializing index` | Initialize the data structure and storage of the index | Short |
| 4 | `inserting tuples from table to index` | Assign all vectors to their corresponding lists | Long |
| 5 | `compacting tuples in index` | Optimize the structure of the vector index to enhance performance | Medium |

The 4th step, `inserting tuples from table to index`, takes up the majority of the time during index construction. The `tuples_done`, `blocks_done` and `blocks_total` columns indicate the progress of this step.

Expand Down