mirror of https://github.com/milvus-io/milvus.git
182 lines
5.4 KiB
Markdown
182 lines
5.4 KiB
Markdown
![Milvuslogo](https://github.com/milvus-io/docs/blob/branch-0.5.0/assets/milvus_logo.png)
|
||
|
||
![LICENSE](https://img.shields.io/badge/license-Apache--2.0-brightgreen)
|
||
![Language](https://img.shields.io/badge/language-C%2B%2B-blue)
|
||
|
||
- [Slack Community](https://join.slack.com/t/milvusio/shared_invite/enQtNzY1OTQ0NDI3NjMzLWNmYmM1NmNjOTQ5MGI5NDhhYmRhMGU5M2NhNzhhMDMzY2MzNDdlYjM5ODQ5MmE3ODFlYzU3YjJkNmVlNDQ2ZTk)
|
||
- [Twitter](https://twitter.com/milvusio)
|
||
- [Blog](https://www.milvus.io/blog/)
|
||
- [CSDN](https://zilliz.blog.csdn.net/)
|
||
- [中文官网](https://www.milvus.io/zh-CN/)
|
||
|
||
|
||
# Welcome to Milvus
|
||
|
||
Firstly, welcome, and thanks for your interest in [Milvus](https://milvus.io)! No matter who you are, what you do, we greatly appreciate your contribution to help us reinvent data science with Milvus. :beers:
|
||
|
||
## What is Milvus
|
||
|
||
Milvus is an open source vector search engine which provides state-of-the-art similarity search and analysis for billion-scale feature vectors.
|
||
|
||
Milvus provides stable Python, Java and C++ APIs.
|
||
|
||
Keep up-to-date with newest releases and latest updates by reading Milvus [release notes](https://milvus.io/docs/en/Releases/v0.4.0/).
|
||
|
||
- GPU-accelerated search engine
|
||
|
||
Milvus uses CPU/GPU heterogeneous computing architecture to process feature vectors, and are orders of magnitudes faster than traditional databases.
|
||
|
||
- Various indexes
|
||
|
||
Milvus supports quantization indexing, tree-based indexing, and graph indexing algorithms.
|
||
|
||
- Intelligent scheduling
|
||
|
||
Milvus optimizes the search computation and index building according to your data size and available resources.
|
||
|
||
- Horizontal scalability
|
||
|
||
Milvus expands computation and storage by adding nodes during runtime, which allows you to scale the data size without redesigning the system.
|
||
|
||
## Architecture
|
||
![Milvus_arch](https://github.com/milvus-io/docs/blob/branch-0.5.0/assets/milvus_arch.jpg)
|
||
|
||
## Get started
|
||
|
||
### Hardware Requirements
|
||
|
||
| Component | Recommended configuration |
|
||
| --------- | ----------------------------------- |
|
||
| CPU | Intel CPU Haswell or higher |
|
||
| GPU | NVIDIA Pascal series or higher |
|
||
| Memory | 8 GB or more (depends on data size) |
|
||
| Storage | SATA 3.0 SSD or higher |
|
||
|
||
### Install using docker
|
||
|
||
Use Docker to install Milvus is a breeze. See the [Milvus install guide](https://milvus.io/docs/en/userguide/install_milvus/) for details.
|
||
|
||
### Build from source
|
||
|
||
#### Software requirements
|
||
|
||
- Ubuntu 18.04 or higher
|
||
- CMake 3.14 or higher
|
||
- CUDA 10.0 or higher
|
||
- NVIDIA driver 418 or higher
|
||
|
||
#### Compilation
|
||
|
||
##### Step 1 Install dependencies
|
||
|
||
```shell
|
||
$ cd [Milvus sourcecode path]/core
|
||
./ubuntu_build_deps.sh
|
||
```
|
||
|
||
##### Step 2 Build
|
||
|
||
```shell
|
||
$ cd [Milvus sourcecode path]/core
|
||
$ ./build.sh -t Debug
|
||
or
|
||
$ ./build.sh -t Release
|
||
```
|
||
|
||
When the build is completed, all the stuff that you need in order to run Milvus will be installed under `[Milvus root path]/core/milvus`.
|
||
|
||
#### Launch Milvus server
|
||
|
||
```shell
|
||
$ cd [Milvus root path]/core/milvus
|
||
```
|
||
|
||
Add `lib/` directory to `LD_LIBRARY_PATH`
|
||
|
||
```
|
||
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/milvus/lib
|
||
```
|
||
|
||
Then start Milvus server:
|
||
|
||
```
|
||
$ cd scripts
|
||
$ ./start_server.sh
|
||
```
|
||
|
||
To stop Milvus server, run:
|
||
|
||
```shell
|
||
$ ./stop_server.sh
|
||
```
|
||
|
||
To edit Milvus settings in `conf/server_config.yaml` and `conf/log_config.conf`, please read [Milvus Configuration](https://www.milvus-io/docs/master/reference/milvus_config.md).
|
||
|
||
### Try your first Milvus program
|
||
|
||
#### Run Python example code
|
||
|
||
Make sure [Python 3.4](https://www.python.org/downloads/) or higher is already installed and in use.
|
||
|
||
Install Milvus Python SDK.
|
||
|
||
```shell
|
||
# Install Milvus Python SDK
|
||
$ pip install pymilvus==0.2.0
|
||
```
|
||
|
||
Create a new file `example.py`, and add [Python example code](https://github.com/milvus-io/pymilvus/blob/master/examples/AdvancedExample.py) to it.
|
||
|
||
Run the example code.
|
||
|
||
```python
|
||
# Run Milvus Python example
|
||
$ python3 example.py
|
||
```
|
||
|
||
#### Run C++ example code
|
||
|
||
```shell
|
||
# Run Milvus C++ example
|
||
$ cd [Milvus root path]/core/milvus/bin
|
||
$ ./sdk_simple
|
||
```
|
||
|
||
#### Run Java example code
|
||
Make sure Java 8 or higher is already installed.
|
||
|
||
Refer to [this link](https://github.com/milvus-io/milvus-sdk-java/tree/master/examples) for the example code.
|
||
|
||
## Contribution guidelines
|
||
|
||
Contributions are welcomed and greatly appreciated. If you want to contribute to Milvus, please read our [contribution guidelines](CONTRIBUTING.md). This project adheres to the [code of conduct](CODE_OF_CONDUCT.md) of Milvus. By participating, you are expected to uphold this code.
|
||
|
||
We use [GitHub issues](https://github.com/milvus-io/milvus/issues/new/choose) to track issues and bugs. For general questions and public discussions, please join our community.
|
||
|
||
## Join the Milvus community
|
||
|
||
To connect with other users and contributors, welcome to join our [slack channel](https://join.slack.com/t/milvusio/shared_invite/enQtNzY1OTQ0NDI3NjMzLWNmYmM1NmNjOTQ5MGI5NDhhYmRhMGU5M2NhNzhhMDMzY2MzNDdlYjM5ODQ5MmE3ODFlYzU3YjJkNmVlNDQ2ZTk).
|
||
|
||
## Milvus Roadmap
|
||
|
||
Please read our [roadmap](https://milvus.io/docs/en/roadmap/) to learn about upcoming features.
|
||
|
||
## Resources
|
||
|
||
[Milvus official website](https://www.milvus.io)
|
||
|
||
[Milvus docs](https://www.milvus.io/docs/en/userguide/install_milvus/)
|
||
|
||
[Milvus bootcamp](https://github.com/milvus-io/bootcamp)
|
||
|
||
[Milvus blog](https://www.milvus.io/blog/)
|
||
|
||
[Milvus CSDN](https://zilliz.blog.csdn.net/)
|
||
|
||
[Milvus roadmap](https://milvus.io/docs/en/roadmap/)
|
||
|
||
|
||
## License
|
||
|
||
[Apache 2.0 license](milvus-io/milvus/LICENSE.md)
|