Skip to content

Commit

Permalink
Release new docs
Browse files Browse the repository at this point in the history
  • Loading branch information
Milvus-doc-bot authored and Milvus-doc-bot committed Jan 29, 2024
1 parent 0f375f4 commit eb470c2
Show file tree
Hide file tree
Showing 21 changed files with 278 additions and 91 deletions.
10 changes: 5 additions & 5 deletions v2.3.x/Variables.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"milvus_release_version": "2.3.5",
"milvus_release_tag": "2.3.5",
"milvus_release_version": "2.3.7",
"milvus_release_tag": "2.3.7",
"milvus_deb_name": "milvus_2.2.0-1_amd64",
"milvus_rpm_name": "milvus-2.2.0-1.el7.x86_64",
"milvus_python_sdk_version": "2.3.x",
Expand All @@ -15,9 +15,9 @@
"milvus_csharp_sdk_real_version": "2.2.14",
"milvus_restful_sdk_version": "2.3.x",
"milvus_restful_sdk_real_version": "2.3.5",
"milvus_operator_version": "0.8.8",
"milvus_helm_chart_version": "4.1.12",
"milvus_image": "2.3.5",
"milvus_operator_version": "0.9.3",
"milvus_helm_chart_version": "4.1.16",
"milvus_image": "2.3.7",
"attu_release": "2.3.6",
"milvus_backup_release": "0.4.6-beta",
"birdwatcher_release": "1.0.3"
Expand Down
55 changes: 55 additions & 0 deletions v2.3.x/site/en/adminGuide/chunk_cache.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
id: chunk_cache.md
title: Configure Chunk Cache
---

# Connfigure Chunk Cache

The chunk cache mechanism enables Milvus to pre-load data into cache memory on the local hard disk of the query nodes before it is needed. This mechanism significantly improves vector retrieval performance by reducing the time it takes to load data from disk to memory.

## Background

Before conducting queries to retrieve vectors, you need to load the data from object storage to the memory cache on the local hard disk of the query nodes. This is a time-consuming process. Before all data is loaded, Milvus may respond to some vector retrieval requests with a delay.

To improve the query performance, Milvus provides a chunk cache mechanism to pre-load data from object storage into the cache memory on the local hard disk before it is needed. When a query request is received, the Segcore first checks if the data is in the cache memory, instead of the object storage. If the data is in the cache memory, Segcore can quickly retrieve it from the cache memory and return the result to the client.

## Configure Chunk Cache

This guide provides instructions on how to configure the chunk cache mechanism for a Milvus instance. Configuration varies with the way you install the Milvus instance.

- For Milvus instances installed using Helm Charts

Add the configuration to the `values.yaml` file under the `config` section. For details, refer to [Configure Milvus with Helm Charts](configure-helm.md).

- For Milvus instances installed using Docker Compose

Add the configuration to the `milvus.yaml` file you have used to start the Milvus instance. For details, refer to [Configure Milvus with Docker Compose](configure-docker.md).

- For Milvus instances installed using Operator

Add the configuration to the `spec.components` section of the `Milvus` custom resource. For details, refer to [Configure Milvus with Operator](configure_operator.md).

### Configuration options

```yaml
queryNode:
cache:
warmup: async
```
The `warmup` parameter determines whether Milvus pre-loads data from the object storage into the memory cache on the local hard disk of the query nodes before it is needed. This parameter defaults to `async`. Possible options are as follows:

- `async`: Milvus pre-loads data asynchronously in the background, which does not affect the time it takes to load a collection. However, users may experience a delay when retrieving vectors for a short period of time after the load process is complete. This is the default option.
- `sync`: Milvus pre-loads data synchronously, which may affect the time it takes to load a collection. However, users can perform queries immediately after the load process is complete without any delay.
- `off`: Milvus does not pre-load data into the memory cache.

Note that the chunk cache settings also apply when new data is inserted into collections or the collection indexes are rebuilt.

### FAQ

- **How can I determine whether the chunk cache mechanism is working correctly?**

You are advised to check the latency of a search or query request after loading a collection. If the latency is significantly higher than expected (e.g., several seconds), it may indicate that the chunk cache mechanism is still working.

If the query latency stays high for a long time. You can check the throughput of the object storage to ensure that the chunk cache is still working. In normal cases, the working chunk cache will generate high throughput on the object storage. Alternatively, you can simply try chunk cache in the `sync` mode.

8 changes: 4 additions & 4 deletions v2.3.x/site/en/adminGuide/configure-docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ In current release, all parameters take effect only after Milvus restarts.

## Download a configuration file

[Download](https://raw.githubusercontent.com/milvus-io/milvus/v2.3.5/configs/milvus.yaml) `milvus.yaml` directly or with the following command.
[Download](https://raw.githubusercontent.com/milvus-io/milvus/v2.3.7/configs/milvus.yaml) `milvus.yaml` directly or with the following command.

```
$ wget https://raw.githubusercontent.com/milvus-io/milvus/v2.3.5/configs/milvus.yaml
$ wget https://raw.githubusercontent.com/milvus-io/milvus/v2.3.7/configs/milvus.yaml
```

## Modify the configuration file
Expand Down Expand Up @@ -171,13 +171,13 @@ Sorted by:

## Download an installation file

Download the installation file for Milvus [standalone](https://github.com/milvus-io/milvus/releases/download/v2.3.5/milvus-standalone-docker-compose.yml), and save it as `docker-compose.yml`.
Download the installation file for Milvus [standalone](https://github.com/milvus-io/milvus/releases/download/v2.3.7/milvus-standalone-docker-compose.yml), and save it as `docker-compose.yml`.

You can also simply run the following command.

```
# For Milvus standalone
$ wget https://github.com/milvus-io/milvus/releases/download/v2.3.5/milvus-standalone-docker-compose.yml -O docker-compose.yml
$ wget https://github.com/milvus-io/milvus/releases/download/v2.3.7/milvus-standalone-docker-compose.yml -O docker-compose.yml
```

## Modify the installation file
Expand Down
51 changes: 51 additions & 0 deletions v2.3.x/site/en/adminGuide/limit_collection_counts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
id: limit_collection_counts.md
title: Set Limits on Collection Number
---

# Limit Collection Counts

A Milvus instance allows up to 65,536 collections. However, too many collections may result in performance issues. Therefore, it is recommended to limit the number of collections created in a Milvus instance.

This guide provides instructions on how to set limits on the number of collections in a Milvus instance.

Configuration varies with the way you install the Milvus instance.

- For Milvus instances installed using Helm Charts

Add the configuration to the `values.yaml` file under the `config` section. For details, refer to [Configure Milvus with Helm Charts](configure-helm.md).

- For Milvus instances installed using Docker Compose

Add the configuration to the `milvus.yaml` file you have used to start the Milvus instance. For details, refer to [Configure Milvus with Docker Compose](configure-docker.md).

- For Milvus instances installed using Operator

Add the configuration to the `spec.components` section of the `Milvus` custom resource. For details, refer to [Configure Milvus with Operator](configure_operator.md).

## Configuration options

```yaml
rootCoord:
maxGeneralCapacity: 1024
```
The `maxGeneralCapacity` parameter sets the maximum number of collections that the current Milvus instance can hold. The default value is `1024`.

## Calculating the number of collections

In a collection, you can set up multiple shards and partitions. Shards are logical units used to distribute data write operations among multiple data nodes. Partitions are logical units used to improve data retrieval efficiency by loading only a subset of collection data. When calculating the number of collections in the current Milvus instance, you also need to count the shards and partitions.

For example, let's assume you have already created **100** collections, with **2** shards and **4** partitions in **60** of them and with **1** shard and **12** partitions in the rest **40** collections. The current number of collections can be calculated as:

```
60 (collections) x 2 (shards) x 4 (partitions) + 40 (collections) x 1 (shard) x 12 (partitions) = 960
```

In the above example, you have already used **960** out of the default limits. Now if you want to create a new collection with **4** shards and **20** partitions, you will receive the following error prompt because the total number of collections exceeds the maximum capacity:

```shell
failed checking constraint: sum_collections(parition*shard) exceeding the max general capacity:
```

To avoid this error, you can either reduce the number of shards or partitions in existing or new collections, delete some collections, or increase the `maxGeneralCapacity` value.
2 changes: 1 addition & 1 deletion v2.3.x/site/en/adminGuide/operator.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Milvus cluster depends on components including object storage, etcd, and Pulsar.

This topic assumes that you have deployed Milvus Operator.

<div class="alert note">See <a href="https://milvus.io/docs/v2.3.5/install_cluster-milvusoperator.md">Deploy Milvus Operator</a> for more information. </div>
<div class="alert note">See <a href="https://milvus.io/docs/v2.3.7/install_cluster-milvusoperator.md">Deploy Milvus Operator</a> for more information. </div>

You need to specify a configuration file for using Milvus Operator to start a Milvus cluster.

Expand Down
20 changes: 10 additions & 10 deletions v2.3.x/site/en/adminGuide/upgrade_milvus_cluster-docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ summary: Learn how to upgrade Milvus cluster with Docker Compose.

This topic describes how to upgrade your Milvus using Docker Compose.

In normal cases, you can [upgrade Milvus by changing its image](#Upgrade-Milvus-by-changing-its-image). However, you need to [migrate the metadata](#Migrate-the-metadata) before any upgrade from v2.1.x to v2.3.5.
In normal cases, you can [upgrade Milvus by changing its image](#Upgrade-Milvus-by-changing-its-image). However, you need to [migrate the metadata](#Migrate-the-metadata) before any upgrade from v2.1.x to v2.3.7.

## Upgrade Milvus by changing its image

Expand All @@ -23,35 +23,35 @@ In normal cases, you can upgrade Milvus as follows:
...
rootcoord:
container_name: milvus-rootcoord
image: milvusdb/milvus:v2.3.5
image: milvusdb/milvus:v2.3.7
...
proxy:
container_name: milvus-proxy
image: milvusdb/milvus:v2.3.5
image: milvusdb/milvus:v2.3.7
...
querycoord:
container_name: milvus-querycoord
image: milvusdb/milvus:v2.3.5
image: milvusdb/milvus:v2.3.7
...
querynode:
container_name: milvus-querynode
image: milvusdb/milvus:v2.3.5
image: milvusdb/milvus:v2.3.7
...
indexcoord:
container_name: milvus-indexcoord
image: milvusdb/milvus:v2.3.5
image: milvusdb/milvus:v2.3.7
...
indexnode:
container_name: milvus-indexnode
image: milvusdb/milvus:v2.3.5
image: milvusdb/milvus:v2.3.7
...
datacoord:
container_name: milvus-datacoord
image: milvusdb/milvus:v2.3.5
image: milvusdb/milvus:v2.3.7
...
datanode:
container_name: milvus-datanode
image: milvusdb/milvus:v2.3.5
image: milvusdb/milvus:v2.3.7
```
2. Run the following commands to perform the upgrade.
Expand Down Expand Up @@ -79,7 +79,7 @@ In normal cases, you can upgrade Milvus as follows:
runWithBackup: true
config:
sourceVersion: 2.1.4 # Specify your milvus version
targetVersion: 2.3.5
targetVersion: 2.3.7
backupFilePath: /tmp/migration.bak
metastore:
type: etcd
Expand Down
30 changes: 15 additions & 15 deletions v2.3.x/site/en/adminGuide/upgrade_milvus_cluster-helm.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,9 @@ zilliztech/milvus 4.1.0 2.3.0 Milvus is an ope

You can choose the upgrade path for your Milvus as follows:

- [Conduct a rolling upgrade](#Conduct-a-rolling-upgrade) from Milvus v2.2.3 and later releases to v2.3.5.
- [Upgrade Milvus using Helm](#Upgrade-Milvus-using-Helm) for an upgrade from a minor release before v2.2.3 to v2.3.5.
- [Migrate the metadata](#Migrate-the-metadata) before the upgrade from Milvus v2.1.x to v2.3.5.
- [Conduct a rolling upgrade](#Conduct-a-rolling-upgrade) from Milvus v2.2.3 and later releases to v2.3.7.
- [Upgrade Milvus using Helm](#Upgrade-Milvus-using-Helm) for an upgrade from a minor release before v2.2.3 to v2.3.7.
- [Migrate the metadata](#Migrate-the-metadata) before the upgrade from Milvus v2.1.x to v2.3.7.

<div style="display: none;">

Expand All @@ -82,10 +82,10 @@ The script applies only to the upgrade of Milvus installed with Helm. The follow
| `w` | New Milvus image tag | `milvusdb/milvus:v2.2.3` | True |
| `o` | Operation | `update` | False |

Once you have ensured that all deployments in your Milvus instance are in their normal status. You can run the following command to upgrade the Milvus instance to 2.3.5.
Once you have ensured that all deployments in your Milvus instance are in their normal status. You can run the following command to upgrade the Milvus instance to 2.3.7.

```shell
sh rollingUpdate.sh -n default -i my-release -o update -t 2.3.5 -w 'milvusdb/milvus:v2.3.5'
sh rollingUpdate.sh -n default -i my-release -o update -t 2.3.7 -w 'milvusdb/milvus:v2.3.7'
```

<div class="alert note">
Expand All @@ -104,7 +104,7 @@ To upgrade Milvus from a minor release before v2.2.3 to the latest, run the foll

```shell
helm repo update
helm upgrade my-release zilliztech/milvus --reuse-values --version=4.1.12 # use the helm chart version here
helm upgrade my-release zilliztech/milvus --reuse-values --version=4.1.16 # use the helm chart version here
```

Use the Helm chart version in the preceding command. For details on how to obtain the Helm chart version, refer to [Check the Milvus version](#Check-the-Milvus-version).
Expand Down Expand Up @@ -195,43 +195,43 @@ The following table lists the operations you can do for meta migration.
4. Migrate the Milvus metadata.
5. Start Milvus components with a new image.

#### 2. Upgrade Milvus from v2.1.x to 2.3.5
#### 2. Upgrade Milvus from v2.1.x to 2.3.7

The following commands assume that you upgrade Milvus from v2.1.4 to 2.3.5. Change them to the versions that fit your needs.
The following commands assume that you upgrade Milvus from v2.1.4 to 2.3.7. Change them to the versions that fit your needs.

1. Specify Milvus instance name, source Milvus version, and target Milvus version.

```
./migrate.sh -i my-release -s 2.1.4 -t 2.3.5
./migrate.sh -i my-release -s 2.1.4 -t 2.3.7
```
2. Specify the namespace with `-n` if your Milvus is not installed in the default K8s namespace.
```
./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.3.5
./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.3.7
```
3. Specify the root path with `-r` if your Milvus is installed with the custom `rootpath`.
```
./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.3.5 -r by-dev
./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.3.7 -r by-dev
```
4. Specify the image tag with `-w` if your Milvus is installed with a custom `image`.
```
./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.3.5 -r by-dev -w milvusdb/milvus:v2.3.5
./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.3.7 -r by-dev -w milvusdb/milvus:v2.3.7
```
5. Set `-d true` if you want to automatically remove the migration pod after the migration is completed.
```
./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.3.5 -w milvusdb/milvus:v2.3.5 -d true
./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.3.7 -w milvusdb/milvus:v2.3.7 -d true
```
6. Rollback and migrate again if the migration fails.
```
./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.3.5 -r by-dev -o rollback -w milvusdb/milvus:v2.1.1
./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.3.5 -r by-dev -o migrate -w milvusdb/milvus:v2.3.5
./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.3.7 -r by-dev -o rollback -w milvusdb/milvus:v2.1.1
./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.3.7 -r by-dev -o migrate -w milvusdb/milvus:v2.3.7
```
22 changes: 11 additions & 11 deletions v2.3.x/site/en/adminGuide/upgrade_milvus_cluster-operator.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ This guide describes how to upgrade your Milvus cluster with Milvus operator.

## Upgrade your Milvus operator

Run the following command to upgrade the version of your Milvus Operator to v0.8.8.
Run the following command to upgrade the version of your Milvus Operator to v0.9.3.

```
helm repo add zilliztech-milvus-operator https://zilliztech.github.io/milvus-operator/
Expand All @@ -25,9 +25,9 @@ helm -n milvus-operator upgrade milvus-operator zilliztech-milvus-operator/milvu

Once you have upgraded your Milvus operator to the latest version, you have the following choices:

- To upgrade Milvus from v2.2.3 or later releases to 2.3.5, you can [conduct a rolling upgrade](#Conduct-a-rolling-upgrade).
- To upgrade Milvus from a minor release before v2.2.3 to 2.3.5, you are advised to [upgrade Milvus by changing its image version](#Upgrade-Milvus-by-changing-its-image).
- To upgrade Milvus from v2.1.x to 2.3.5, you need to [migrate the metadata](#Migrate-the-metadata) before the actual upgrade.
- To upgrade Milvus from v2.2.3 or later releases to 2.3.7, you can [conduct a rolling upgrade](#Conduct-a-rolling-upgrade).
- To upgrade Milvus from a minor release before v2.2.3 to 2.3.7, you are advised to [upgrade Milvus by changing its image version](#Upgrade-Milvus-by-changing-its-image).
- To upgrade Milvus from v2.1.x to 2.3.7, you need to [migrate the metadata](#Migrate-the-metadata) before the actual upgrade.

## Conduct a rolling upgrade

Expand All @@ -46,7 +46,7 @@ spec:
components:
enableRollingUpdate: true
imageUpdateMode: rollingUpgrade # Default value, can be omitted
image: milvusdb/milvus:v2.3.5
image: milvusdb/milvus:v2.3.7
```
In this above configuration file, set `spec.components.enableRollingUpdate` to `true` and set `spec.components.image` to the desired Milvus version.
Expand All @@ -62,7 +62,7 @@ spec:
components:
enableRollingUpdate: true
imageUpdateMode: all
image: milvusdb/milvus:v2.3.5
image: milvusdb/milvus:v2.3.7
```

You can set `spec.components.imageUpdateMode` to `rollingDowngrade` to have Milvus replace coordinator pod images with a lower version.
Expand Down Expand Up @@ -100,7 +100,7 @@ metadata:
spec:
# Omit other fields ...
components:
image: milvusdb/milvus:v2.3.5
image: milvusdb/milvus:v2.3.7
```

Then run the following to perform the upgrade:
Expand All @@ -111,11 +111,11 @@ kubectl apply -f milvusupgrade.yaml

## Migrate the metadata

Since Milvus 2.2.0, the metadata is incompatible with that in previous releases. The following example snippets assume an upgrade from Milvus 2.1.4 to Milvus 2.3.5.
Since Milvus 2.2.0, the metadata is incompatible with that in previous releases. The following example snippets assume an upgrade from Milvus 2.1.4 to Milvus 2.3.7.

### 1. Create a `.yaml` file for metadata migration

Create a metadata migration file. The following is an example. You need to specify the `name`, `sourceVersion`, and `targetVersion` in the configuration file. The following example sets the `name` to `my-release-upgrade`, `sourceVersion` to `v2.1.4`, and `targetVersion` to `v2.3.5`. This means that your Milvus cluster will be upgraded from v2.1.4 to v2.3.5.
Create a metadata migration file. The following is an example. You need to specify the `name`, `sourceVersion`, and `targetVersion` in the configuration file. The following example sets the `name` to `my-release-upgrade`, `sourceVersion` to `v2.1.4`, and `targetVersion` to `v2.3.7`. This means that your Milvus cluster will be upgraded from v2.1.4 to v2.3.7.

```
apiVersion: milvus.io/v1beta1
Expand All @@ -127,9 +127,9 @@ spec:
namespace: default
name: my-release
sourceVersion: "v2.1.4"
targetVersion: "v2.3.5"
targetVersion: "v2.3.7"
# below are some omit default values:
# targetImage: "milvusdb/milvus:v2.3.5"
# targetImage: "milvusdb/milvus:v2.3.7"
# toolImage: "milvusdb/meta-migration:v2.2.0"
# operation: upgrade
# rollbackIfFailed: true
Expand Down
Loading

0 comments on commit eb470c2

Please sign in to comment.