Skip to content

Commit

Permalink
Merge pull request #323 from milvus-io/0.5.3
Browse files Browse the repository at this point in the history
Merge from 0.5.3
  • Loading branch information
JinHai-CN authored Nov 13, 2019
2 parents 7c658f8 + 240e616 commit 69fdd13
Show file tree
Hide file tree
Showing 55 changed files with 1,443 additions and 1,925 deletions.
17 changes: 16 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,21 @@
# Changelog

Please mark all change in change log and use the ticket from JIRA.
# Milvus 0.5.3 (TODO)

## Bug
- \#258 - Bytes type in proto cause big-endian/little-endian problem

## Feature

## Improvement
- \#204 - improve grpc performance in search
- \#207 - Add more unittest for config set/get
- \#208 - optimize unittest to support run single test more easily
- \#284 - Change C++ SDK to shared library
- \#260 - C++ SDK README

## Task

# Milvus 0.5.2 (2019-11-07)

Expand All @@ -10,7 +25,7 @@ Please mark all change in change log and use the ticket from JIRA.
## Feature

## Improvement
- \#190 - Update default config:use_blas_threshold to 1100 and server version printout to 0.52
- \#190 - Update default config:use_blas_threshold to 1100 and server version printout to 0.5.2

## Task

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@
![Release](https://img.shields.io/badge/release-v0.5.2-yellowgreen)
![Release_date](https://img.shields.io/badge/release%20date-November-yellowgreen)

[中文版](README_CN.md)
[中文版](README_CN.md) | [日本語版](README_JP.md)

## What is Milvus

Milvus is the world's fastest similarity search engine for massive-scale feature vectors. Built with heterogeneous computing architecture for the best cost efficiency. Searches over billion-scale vectors take only milliseconds with minimum computing resources.

For more detailed introduction of Milvus and its architecture, see [Milvus overview](https://www.milvus.io/docs/en/aboutmilvus/overview/).

Milvus provides stable [Python](https://github.com/milvus-io/pymilvus), [Java](https://github.com/milvus-io/milvus-sdk-java) and C++ APIs.
Milvus provides stable [Python](https://github.com/milvus-io/pymilvus), [Java](https://github.com/milvus-io/milvus-sdk-java) and [C++](https://github.com/milvus-io/milvus/tree/master/core/src/sdk) APIs.

Keep up-to-date with newest releases and latest updates by reading Milvus [release notes](https://www.milvus.io/docs/en/release/v0.5.2/).

Expand Down
153 changes: 15 additions & 138 deletions README_JP.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,154 +13,34 @@

## 概要

Milvus は大規模な特徴ベクトルにむかう類似性検索エンジンです。不均質な計算アーキテクチャーに基づいて効率を最大化出来ます。数十億のベクタの中に目標を検索できるまで数ミリ秒しかかからず、最低限の計算資源だけが必要です。
Milvusは世界中一番早い特徴ベクトルにむかう類似性検索エンジンです。不均質な計算アーキテクチャーに基づいて効率を最大化出来ます。数十億のベクタの中に目標を検索できるまで数ミリ秒しかかからず、最低限の計算資源だけが必要です。

Milvus は安定的な Python、Java 又は C++ APIsを提供します。
Milvusは安定的なPython、Java又は C++ APIsを提供します。

Milvus [リリースノート](https://milvus.io/docs/en/release/v0.5.2/)を読んで最新バージョンや更新情報を手に入れます。

- 不均質な計算アーキテクチャー

Milvusは不均質な計算アーキテクチャーに基づいて効率を最大化出来ます。

- 様々な索引方法

Milvusはさまざまな索引方法を支えます。量子化、 木、 グラフに基づいて索引を作成できます。

- 知能てきな資源管理

Milvusはデータセットと利用できる資源を基づいて、自動的に検索アルゴリズムと索引作成方法を選びます。

- 水平拡張

Milvusはオンラインとオフラインに記憶域と計算を簡単な命令で拡張できます。

- 高い可用性

MilvusはKubernetes枠組みと統合するので、 単一障害点を避けられます。

- 高い互換性

Milvusはほぼ全ての深層学習モデルと主要なプログラミング言語と互換性があります。

- やすい使い方

Milvusは簡単にインストールできます。ベクタ以外のことを心配する必要がありますん。

- 視覚化てきな監視モード

Prometheusに基づいてGUIでシステムの性能を監視出来ます。

## アーキテクチャー

![Milvus_arch](https://github.com/milvus-io/docs/blob/master/assets/milvus_arch.png)

## はじめに

### ハードウェア要件
DockerでMilvusをインストールすることは簡単です。[Milvusインストール案内](https://milvus.io/docs/en/userguide/install_milvus/) を参考してください。ソースからMilvusを構築するために、[ソースから構築する](install.md)を参考してください。

| コンポーネント | お勧めの配置 |
| --------- | ----------------------------------- |
| CPU | Intel CPU Haswell 以上 |
| GPU | NVIDIA Pascal series 以上 |
| RAM メモリ | 8 GB 以上 (データ規模に関わる) |
| ハードディスク | SATA 3.0 SSD 以上 |
Milvusをコンフィグするために、[Milvusコンフィグ](https://github.com/milvus-io/docs/blob/master/reference/milvus_config.md)を読んでください。

### Dockerでインストールする
### 初めてのMilvusプログラムを試す

DockerでMilvusをインストールすることは簡単です。 [Milvusインストール案内](https://milvus.io/docs/en/userguide/install_milvus/) を参考してください
[Python](https://www.milvus.io/docs/en/userguide/example_code/)[Java](https://github.com/milvus-io/milvus-sdk-java/tree/master/examples)などのサンプルコードを使ってMilvusプログラムを試す

### ソースから構築する

#### ソフトウェア要件

- Ubuntu 18.04 以上
- CMake 3.14 以上
- CUDA 10.0 以上
- NVIDIA driver 418 以上

#### コンパイル

##### 1 依存コンポーネントをインストールする

```shell
$ cd [Milvus sourcecode path]/core
./ubuntu_build_deps.sh
```

##### 2 構築する

```shell
$ cd [Milvus sourcecode path]/core
$ ./build.sh -t Debug
or
$ ./build.sh -t Release
```

構築が完成するとき、 Milvusを実行するために必要なものは全てこのディレクトリにあります: `[Milvus root path]/core/milvus`

#### Milvusサーバーを実行する

```shell
$ cd [Milvus root path]/core/milvus
```

`lib/` ディレクトリを `LD_LIBRARY_PATH` に添付する。

```shell
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/milvus/lib
```

Milvusサーバーを実行する。

```shell
$ cd scripts
$ ./start_server.sh
```

Milvusサーバーを止めるために、次のコードを実行する:

```shell
$ ./stop_server.sh
```

`conf/server_config.yaml``conf/log_config.conf` でMilvusをコンフィグするために、 [Milvusコンフィグ](https://github.com/milvus-io/docs/blob/master/reference/milvus_config.md)を読んでください。

### 初めてのMilvusプログラムを実行する

#### Pythonサンプルコードを実行する

[Python 3.5](https://www.python.org/downloads/)以上のバージョンがインストールされていることを確かめてください。

Milvus Python SDK をインストールする。

```shell
# Install Milvus Python SDK
$ pip install pymilvus==0.2.3
```

新しいファイル `example.py` を作成し、 [Pythonサンプルコード]( https://github.com/milvus-io/pymilvus/blob/master/examples/advanced_example.py)を添付してください。

サンプルコードを実行する。

```shell
# Run Milvus Python example
$ python3 example.py
```

#### C++サンプルコードを実行する
C++サンプルコードを実行するために、次のコマンドをつかってください。

```shell
# Run Milvus C++ example
$ cd [Milvus root path]/core/milvus/bin
$ ./sdk_simple
```

#### Javaサンプルコードを実行する

Java 8以上のバージョンがインストールされていることを確かめてください。
## Milvusロードマップ

[このリンク](https://github.com/milvus-io/milvus-sdk-java/tree/master/examples)でサンプルコードを手に入れます
[ロードマップ](https://milvus.io/docs/en/roadmap/)を読んで、追加する予定の特性が分かります

## 貢献規約

Expand All @@ -172,23 +52,20 @@ Java 8以上のバージョンがインストールされていることを確

他の貢献者と交流したい場合は、Milvusの [slackチャンネル](https://join.slack.com/t/milvusio/shared_invite/enQtNzY1OTQ0NDI3NjMzLWNmYmM1NmNjOTQ5MGI5NDhhYmRhMGU5M2NhNzhhMDMzY2MzNDdlYjM5ODQ5MmE3ODFlYzU3YjJkNmVlNDQ2ZTk)に参加してください。

## Milvusロードマップ

[ロードマップ](https://milvus.io/docs/en/roadmap/)を読んで、追加する予定の特性が分かります。

## 参考情報

[Milvus公式サイト](https://www.milvus.io)
- [Milvus.io](https://www.milvus.io)

[Milvusドキュメント](https://www.milvus.io/docs/en/userguide/install_milvus/)
- [Milvus](https://github.com/milvus-io/bootcamp)

[Milvusトレーニングセンター](https://github.com/milvus-io/bootcamp)
- [Milvus Medium](https://medium.com/@milvusio)

[Milvusブロック](https://www.milvus.io/blog/)
- [Milvus CSDN](https://zilliz.blog.csdn.net/)

[Milvus CSDN](https://zilliz.blog.csdn.net/)
- [Milvus ツイッター](https://twitter.com/milvusio)

[Milvusロードマップ](https://milvus.io/docs/en/roadmap/)
- [Milvus Facebook](https://www.facebook.com/io.milvus.5)


## ライセンス
Expand Down
2 changes: 1 addition & 1 deletion ci/jenkins/Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ pipeline {
steps {
container('milvus-build-env') {
script {
load "${env.WORKSPACE}/ci/jenkins/step/package.groovy"
load "${env.WORKSPACE}/ci/jenkins/step/packaging.groovy"
}
}
}
Expand Down
13 changes: 13 additions & 0 deletions ci/jenkins/scripts/packaging.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/usr/bin/env bash

set -ex

pip3 install -r requirements.txt
./yaml_processor.py merge -f /opt/milvus/conf/server_config.yaml -m ../yaml/update_server_config.yaml -i && \
rm /opt/milvus/conf/server_config.yaml.bak

if [ -d "/opt/milvus/unittest" ]; then
rm -rf "/opt/milvus/unittest"
fi

tar -zcvf ./${PROJECT_NAME}-${PACKAGE_VERSION}.tar.gz -C /opt/ milvus
2 changes: 1 addition & 1 deletion ci/jenkins/step/deploySingle2Dev.groovy
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
sh 'helm init --client-only --skip-refresh --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts'
sh 'helm repo update'
dir ('milvus-helm') {
checkout([$class: 'GitSCM', branches: [[name: "0.5.0"]], userRemoteConfigs: [[url: "https://github.com/milvus-io/milvus-helm.git", name: 'origin', refspec: "+refs/heads/0.5.0:refs/remotes/origin/0.5.0"]]])
checkout([$class: 'GitSCM', branches: [[name: "0.5.3"]], userRemoteConfigs: [[url: "https://github.com/milvus-io/milvus-helm.git", name: 'origin', refspec: "+refs/heads/0.5.3:refs/remotes/origin/0.5.3"]]])
dir ("milvus-gpu") {
sh "helm install --wait --timeout 300 --set engine.image.tag=${DOCKER_VERSION} --set expose.type=clusterIP --name ${env.PIPELINE_NAME}-${env.BUILD_NUMBER}-single-gpu -f ci/db_backend/sqlite_values.yaml -f ci/filebeat/values.yaml --namespace milvus ."
}
Expand Down
13 changes: 0 additions & 13 deletions ci/jenkins/step/package.groovy

This file was deleted.

11 changes: 11 additions & 0 deletions ci/jenkins/step/packaging.groovy
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
timeout(time: 5, unit: 'MINUTES') {
dir ("ci/jenkins/scripts") {
sh "./packaging.sh"
withCredentials([usernamePassword(credentialsId: "${params.JFROG_CREDENTIALS_ID}", usernameVariable: 'JFROG_USERNAME', passwordVariable: 'JFROG_PASSWORD')]) {
def uploadStatus = sh(returnStatus: true, script: "curl -u${JFROG_USERNAME}:${JFROG_PASSWORD} -T ./${PROJECT_NAME}-${PACKAGE_VERSION}.tar.gz ${params.JFROG_ARTFACTORY_URL}/milvus/package/${PROJECT_NAME}-${PACKAGE_VERSION}.tar.gz")
if (uploadStatus != 0) {
error("\" ${PROJECT_NAME}-${PACKAGE_VERSION}.tar.gz \" upload to \" ${params.JFROG_ARTFACTORY_URL}/milvus/package/${PROJECT_NAME}-${PACKAGE_VERSION}.tar.gz \" failed!")
}
}
}
}
2 changes: 1 addition & 1 deletion ci/jenkins/step/singleDevNightlyTest.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ timeout(time: 90, unit: 'MINUTES') {

if (!fileExists('milvus-helm')) {
dir ("milvus-helm") {
checkout([$class: 'GitSCM', branches: [[name: "0.5.0"]], userRemoteConfigs: [[url: "https://github.com/milvus-io/milvus-helm.git", name: 'origin', refspec: "+refs/heads/0.5.0:refs/remotes/origin/0.5.0"]]])
checkout([$class: 'GitSCM', branches: [[name: "0.5.3"]], userRemoteConfigs: [[url: "https://github.com/milvus-io/milvus-helm.git", name: 'origin', refspec: "+refs/heads/0.5.3:refs/remotes/origin/0.5.3"]]])
}
}
dir ("milvus-helm") {
Expand Down
2 changes: 1 addition & 1 deletion ci/jenkins/step/singleDevTest.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ timeout(time: 60, unit: 'MINUTES') {

// if (!fileExists('milvus-helm')) {
// dir ("milvus-helm") {
// checkout([$class: 'GitSCM', branches: [[name: "0.5.0"]], userRemoteConfigs: [[url: "https://github.com/milvus-io/milvus-helm.git", name: 'origin', refspec: "+refs/heads/0.5.0:refs/remotes/origin/0.5.0"]]])
// checkout([$class: 'GitSCM', branches: [[name: "0.5.3"]], userRemoteConfigs: [[url: "https://github.com/milvus-io/milvus-helm.git", name: 'origin', refspec: "+refs/heads/0.5.3:refs/remotes/origin/0.5.3"]]])
// }
// }
// dir ("milvus-helm") {
Expand Down
3 changes: 3 additions & 0 deletions ci/jenkinsfile/packaged_milvus.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ container('milvus-build-env') {
gitlabCommitStatus(name: 'Packaged Engine') {
if (fileExists('milvus')) {
try {
if (fileExists('milvus/unittest')) {
sh "rm -rf ./milvus/unittest"
}
sh "tar -zcvf ./${PROJECT_NAME}-engine-${PACKAGE_VERSION}.tar.gz ./milvus"
def fileTransfer = load "${env.WORKSPACE}/ci/function/file_transfer.groovy"
fileTransfer.FileTransfer("${PROJECT_NAME}-engine-${PACKAGE_VERSION}.tar.gz", "${PROJECT_NAME}/engine/${JOB_NAME}-${BUILD_ID}", 'nas storage')
Expand Down
2 changes: 1 addition & 1 deletion core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ if(MILVUS_VERSION_MAJOR STREQUAL ""
OR MILVUS_VERSION_MINOR STREQUAL ""
OR MILVUS_VERSION_PATCH STREQUAL "")
message(WARNING "Failed to determine Milvus version from git branch name")
set(MILVUS_VERSION "0.5.2")
set(MILVUS_VERSION "0.5.3")
endif()

message(STATUS "Build version = ${MILVUS_VERSION}")
Expand Down
6 changes: 6 additions & 0 deletions core/src/grpc/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
We manually change two APIs in "milvus.pd.h":
add_vector_data()
add_row_id_array()
add_ids()
add_distances()
If proto files need be generated again, remember to re-change above APIs.
Loading

0 comments on commit 69fdd13

Please sign in to comment.