Pull to refresh

Comments 8

Не встречал пока адекватной векторной базы даных, функционал которой не можно было легко повтороить в релиационной базе.

И я подразумеваю именно простоту "копирования". Понятное дело что при желании можно и дум на буханке хлеба запустить

Сейчас все "векторные" базы это по сути огромное хранилище ключ-значение плюс куча алгоритмов поиска и сопоставления для формирования вектора.

.

По работе проводили исследования по теме лучшей реализации веток коментариев и вектора "знакомств".

Самый лучший результат был у простых связных таблицах с простейшим алгоритмом выборки (сначала копируем нужный чанк с первичным совпадением во временную таблицу а потом уже из временной таблицы удаляем все "лишнее" по вторичным условиям)

Все новомодные "векторные DB" тем хуже отдавали, чем длиннее (или разветвленнее) становился вектор

.

В целом идея векторной базы очень крутая и практичная. Не только для машинного бучения. Но как по мне к этой проблемме нужно подходить с другой стороны. Сколько лет уже идеи, а мы до сих пор имеем просто обмазаную условиями связность таблиц

Думаю, что Вам стоит изучить устройства алгоритма поиска в векторном пространстве на примере, например, hnswlib. Сможете пересмотреть свое мнение о:

Не встречал пока адекватной векторной базы даных, функционал которой не можно было легко повтороить в релиационной базе.

Ну и это, давайте, повторяйте алгоритм в студию. Да так, чтобы в сотне миллионов векторов f32x1024 поиск был быстрым.

Векторные базы данных — набирающий устойчивость тренд в разработке систем ИИ или мимолетное увлечение?

Ну и заголовок в духе вашего комментария. Люди просто не понимают разницу.

И то что вы привели в пример либа работы с векторами с возможностью сохранить в файл.

"Сохранить в файл" и "база данных" разные сущности, второе не может без первого, но первое не означает второе. Вы же cvs или json файл не назовете базой данных?

.

Так то разных либ хватает, вопрос именно в том что бы не изобретать свой велосипед, а работать с существующим. По опыту компания не может себе позволить поддерживать отделный продукт который используется не повсеместно. А если програмист "сделал как лучше" и поддерживал в свободное так сказать время, то уход програмиста может плохо кончится.

А мне кажется, что векторные базы - это ни что иное как специально построенные данные в памяти + алгоритм(ы), чтобы быстро с этими данными работать. При этом вероятность изменения этих данных должна стремится к нулю. Иначе будут нужны доп. затраты на реоргаризацию этих данных в памяти, что будет стоит времени. Этим не имею в ввиду вообще отсутствие изменений, но по сравнению с трансакциями в релатионных базах - эти изменения на момент анализа несущественны.

Исходя из этого прихожу к мнению, что векторные базы в своей сути конечно-же есть нечто другое, чем релатионные базы. Но релатионные базы легко использовать для векторных, как это делается и в OLAP. Когда агрегация датамартов происходит например в памяти и для этого все данные легче закачать в память, ну а потом алгоритм аггрегации. Поэтому ваш опонент как-бы и прав. Что вы скажите на это?

Я скажу на это то, что репрезентации вектора в рамках реляционной базы нет (подходящей для векторного поиска), потому что на векторных базах основная операция - top K по метрике. А метрика считается не брутфорсом, с расчетом метрики (Euclide, consine) всех со всеми. Попробуйте сделать это на классике RDBMS эффективно - успехов вам.

А так-то, конечно, и для RDBMS есть модули/плагины, поддерживающие векторный поиск. Таким образом, знаете, можно все что угодно к RDBMS отнести. Да и теоремы, насколько я помню есть соответствующие о возможности полноты моделирования на RDBMS.

В целом идея векторной базы очень крутая и практичная. Не только для машинного бучения. Но как по мне к этой проблемме нужно подходить с другой стороны. Сколько лет уже идеи, а мы до сих пор имеем просто обмазаную условиями связность таблиц

Что-то мне кажется, что вы про графовую БД...

Если не секрет, что за работа, на которой приходилось заниматься векторами? Просто интересно, кто уже реально этой технологией пользовался для работы, а не для тестирования.

Sign up to leave a comment.