Я новичок в управлении базами данных, и в моем проекте мне нужно использовать векторную базу данных для хранения векторных данных. Я выбрал для этой цели Милвус. Я планирую реализовать функцию удаления, чтобы пользователи могли удалять записи, но могли забыть имена или идентификаторы, которые они хотят удалить. Чтобы решить эту проблему, я также разрабатываю функцию «перечислить все», которая позволяет пользователям просматривать все записи в базе данных.
Вот структура моей базы данных (в виде словаря):< /p>
Код: Выделить всё
DB = {
"id": id,
"vector": vector,
"file_name": name,
}
Сейчас я загружаю все имена следующим образом:
Код: Выделить всё
client = MilvusClient(r'/my.db')
output = client.query('milvus', filter="id >= 0", output_fields=["file_name"])
Этот метод технически работает, но кажется неэффективным — загрузка всего, что каждый раз, когда пользователь хочет просмотреть записи, не кажется масштабируемой. Меня беспокоит, что по мере роста набора данных такой подход может привести к проблемам с производительностью или даже к сбою сервера.
Итак, мои вопросы:
- Является ли этот подход логичным и масштабируемым?
- Есть ли лучший способ получить все записи file_name из Milvus, не загружая все подряд?
Любые идеи об эффективных способах решения этой проблемы в Милвус был бы вам очень признателен.
Подробнее здесь:
https://stackoverflow.com/questions/791 ... or-viewing