Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Memory usage of milvus lite #152

Open
wangyan828 opened this issue May 30, 2024 · 15 comments
Open

Memory usage of milvus lite #152

wangyan828 opened this issue May 30, 2024 · 15 comments

Comments

@wangyan828
Copy link

We encountered the following issues when using milvus-server to start the service and using milvus lite:

  1. When starting the milvus -server service, does the service default to loading all databases into memory?
  2. Is there a way to achieve this: when starting a service without connecting to the database, the database will not be loaded into memory?
  3. Is it possible to load the relevant databases into memory when using them and release memory when the client disconnects?
@junjiejiangjjj
Copy link
Collaborator

If you are using a version <2.4.x, you can call release_collection to release memory. If you are using a version >=2.4.x, the collection will not be automatically loaded into memory. Similarly, release_collection is also used to release memory.

@wangyan828
Copy link
Author

If you are using a version <2.4.x, you can call release_collection to release memory. If you are using a version >=2.4.x, the collection will not be automatically loaded into memory. Similarly, release_collection is also used to release memory.

Has version 2.4. X and above changed the name of milvus to milvus lite?

@junjiejiangjjj
Copy link
Collaborator

If you are using a version <2.4.x, you can call release_collection to release memory. If you are using a version >=2.4.x, the collection will not be automatically loaded into memory. Similarly, release_collection is also used to release memory.

Has version 2.4. X and above changed the name of milvus to milvus lite?

yeah, 2.4.x changed the package name to milvus-lite and provided different interfaces

@wangyan828
Copy link
Author

If you are using a version <2.4.x, you can call release_collection to release memory. If you are using a version >=2.4.x, the collection will not be automatically loaded into memory. Similarly, release_collection is also used to release memory.

Has version 2.4. X and above changed the name of milvus to milvus lite?

yeah, 2.4.x changed the package name to milvus-lite and provided different interfaces

Thanks. Do you have any plans to provide a compilation and installation method, as our project rarely uses Python and mostly uses C++?

@junjiejiangjjj
Copy link
Collaborator

If you are using a version <2.4.x, you can call release_collection to release memory. If you are using a version >=2.4.x, the collection will not be automatically loaded into memory. Similarly, release_collection is also used to release memory.

Has version 2.4. X and above changed the name of milvus to milvus lite?

yeah, 2.4.x changed the package name to milvus-lite and provided different interfaces

Thanks. Do you have any plans to provide a compilation and installation method, as our project rarely uses Python and mostly uses C++?

The 2.4.x version of milvus-lite can also be started as a gRPC service and then accessed using the C++ client.

>>> from milvus_lite.server import Server
>>> s = Server('./test.db', 'localhost:19530')
>>> s.start()
True
>>> s._p.wait()

@wangyan828
Copy link
Author

If you are using a version <2.4.x, you can call release_collection to release memory. If you are using a version >=2.4.x, the collection will not be automatically loaded into memory. Similarly, release_collection is also used to release memory.

Has version 2.4. X and above changed the name of milvus to milvus lite?

yeah, 2.4.x changed the package name to milvus-lite and provided different interfaces

Thanks. Do you have any plans to provide a compilation and installation method, as our project rarely uses Python and mostly uses C++?

The 2.4.x version of milvus-lite can also be started as a gRPC service and then accessed using the C++ client.

>>> from milvus_lite.server import Server
>>> s = Server('./test.db', 'localhost:19530')
>>> s.start()
True
>>> s._p.wait()

If this method is used, is it possible for a service to only use one database? Is there any way to manage multiple local databases with one service?

@junjiejiangjjj
Copy link
Collaborator

If you are using a version <2.4.x, you can call release_collection to release memory. If you are using a version >=2.4.x, the collection will not be automatically loaded into memory. Similarly, release_collection is also used to release memory.

Has version 2.4. X and above changed the name of milvus to milvus lite?

yeah, 2.4.x changed the package name to milvus-lite and provided different interfaces

Thanks. Do you have any plans to provide a compilation and installation method, as our project rarely uses Python and mostly uses C++?

The 2.4.x version of milvus-lite can also be started as a gRPC service and then accessed using the C++ client.

>>> from milvus_lite.server import Server
>>> s = Server('./test.db', 'localhost:19530')
>>> s.start()
True
>>> s._p.wait()

If this method is used, is it possible for a service to only use one database? Is there any way to manage multiple local databases with one service?

No, a service only supports one local database

@wangyan828
Copy link
Author

If you are using a version <2.4.x, you can call release_collection to release memory. If you are using a version >=2.4.x, the collection will not be automatically loaded into memory. Similarly, release_collection is also used to release memory.

Has version 2.4. X and above changed the name of milvus to milvus lite?

yeah, 2.4.x changed the package name to milvus-lite and provided different interfaces

Thanks. Do you have any plans to provide a compilation and installation method, as our project rarely uses Python and mostly uses C++?

The 2.4.x version of milvus-lite can also be started as a gRPC service and then accessed using the C++ client.

>>> from milvus_lite.server import Server
>>> s = Server('./test.db', 'localhost:19530')
>>> s.start()
True
>>> s._p.wait()

If this method is used, is it possible for a service to only use one database? Is there any way to manage multiple local databases with one service?

No, a service only supports one local database

Why can't manage multiple databases with one service? What are the benefits of managing one database with one service? Because our current scenario may require multiple databases.

@junjiejiangjjj
Copy link
Collaborator

If you are using a version <2.4.x, you can call release_collection to release memory. If you are using a version >=2.4.x, the collection will not be automatically loaded into memory. Similarly, release_collection is also used to release memory.

Has version 2.4. X and above changed the name of milvus to milvus lite?

yeah, 2.4.x changed the package name to milvus-lite and provided different interfaces

Thanks. Do you have any plans to provide a compilation and installation method, as our project rarely uses Python and mostly uses C++?

The 2.4.x version of milvus-lite can also be started as a gRPC service and then accessed using the C++ client.

>>> from milvus_lite.server import Server
>>> s = Server('./test.db', 'localhost:19530')
>>> s.start()
True
>>> s._p.wait()

If this method is used, is it possible for a service to only use one database? Is there any way to manage multiple local databases with one service?

No, a service only supports one local database

Why can't manage multiple databases with one service? What are the benefits of managing one database with one service? Because our current scenario may require multiple databases.

The purpose of the project is to enable users to more easily utilize the vector search features of Milvus. Therefore, only a small subset of Milvus's features has been integrated. If you want to use the full range of features, it is recommended to use Milvus directly.

@wangyan828
Copy link
Author

The purpose of the project is to enable users to more easily utilize the vector search features of Milvus. Therefore, only a small subset of Milvus's features has been integrated. If you want to use the full range of features, it is recommended to use Milvus directly.

  1. Is there a plan to launch a service to access multiple databases in Milvus Lite in the future?
  2. In the information I know, Milvus is more suitable for cloud deployment, and our application scenarios require local deployment; Our scenario requires adding local document file data from computer users to the database, with a data volume of approximately millions. Would this be more suitable for using milvus or milvus lite?

@junjiejiangjjj
Copy link
Collaborator

The purpose of the project is to enable users to more easily utilize the vector search features of Milvus. Therefore, only a small subset of Milvus's features has been integrated. If you want to use the full range of features, it is recommended to use Milvus directly.

  1. Is there a plan to launch a service to access multiple databases in Milvus Lite in the future?
  2. In the information I know, Milvus is more suitable for cloud deployment, and our application scenarios require local deployment; Our scenario requires adding local document file data from computer users to the database, with a data volume of approximately millions. Would this be more suitable for using milvus or milvus lite?

Why are multiple databases necessary? Can't a single database with multiple collections meet the requirements?

The current milvus-lite version has a QPS of less than 3 for 1 million 768-dimensional vectors, so it is recommended to use Milvus.

@wangyan828
Copy link
Author

The purpose of the project is to enable users to more easily utilize the vector search features of Milvus. Therefore, only a small subset of Milvus's features has been integrated. If you want to use the full range of features, it is recommended to use Milvus directly.

  1. Is there a plan to launch a service to access multiple databases in Milvus Lite in the future?
  2. In the information I know, Milvus is more suitable for cloud deployment, and our application scenarios require local deployment; Our scenario requires adding local document file data from computer users to the database, with a data volume of approximately millions. Would this be more suitable for using milvus or milvus lite?

Why are multiple databases necessary? Can't a single database with multiple collections meet the requirements?

The current milvus-lite version has a QPS of less than 3 for 1 million 768-dimensional vectors, so it is recommended to use Milvus.

  1. We haven't used vector databases much before, and the previous design approach was to design a database for each business. We can consider creating multiple collections for a database as you mentioned.
  2. Do you have any fan groups related to Milvus Lite? Can I join the group chat for discussion?

@junjiejiangjjj
Copy link
Collaborator

  1. Do you have any fan groups related to Milvus Lite? Can I join the group chat for discussion?

English Community: https://github.com/milvus-io/milvus?tab=readme-ov-file#community
Chinese Community: https://github.com/milvus-io/milvus/blob/master/README_CN.md#%E7%A4%BE%E5%8C%BA

@wangyan828
Copy link
Author

Chinese Community: https://github.com/milvus-io/milvus/blob/master/README_CN.md#%E7%A4%BE%E5%8C%BA

Is there any way to add me to the WeChat group in China?Thanks~

@junjiejiangjjj
Copy link
Collaborator

Chinese Community: https://github.com/milvus-io/milvus/blob/master/README_CN.md#%E7%A4%BE%E5%8C%BA

Is there any way to add me to the WeChat group in China?Thanks~

Just scan the QR code above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants