Типы данных в различных базах данных

Давайте продолжим разбираться с типами данных и их хранением в разных базах данных. В реляционных базах данных мы имеем дело с таблицами и отношениями между этими таблицами. В нереляционных, документо-ориентированных базах данных мы, как правило, работаем с коллекциями документов, чаще всего JSON-объектами.

Особенности хранения неструктурированных данных

Если мы говорим о неструктурированных данных, то мы не можем их разместить в традиционные форматы данных, которые предназначены для работы с определенной структурой. Так как эти данные могут быть совершенно различными и не имеют какой-то определенной структуры, мы не можем хранить их в обычных таблицах или JSON-документах.

Для хранения неструктурированных наборов данных их переводят в специальный математический формат - некое закодированное вложение. Специальный английский термин, который для этого используется - это термин "embedding" (вложение). Мы специальными программными инструментами, о которых будем говорить далее, переводим набор данных, будь то картинка, видео, текст или любой другой формат информации, в набор чисел.

Эти закодированные наборы чисел (embeddings) хранятся в векторной базе данных. В нашей векторной базе данных есть колонка идентификаторов, по которой мы можем найти нужное вложение, зная ID. Это обычный уникальный код, как в реляционных базах данных, по которому мы можем искать вложение.

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

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

Место, где хранятся все эти данные, может в разных базах данных называться по-разному: где-то это называется индексом, где-то коллекцией. Суть от этого не меняется - это что-то похожее на таблицу, как в реляционных базах данных, или на документ в документо-ориентированных базах данных. Чаще всего это называется индексом элементов. Таких элементов может быть достаточно много в базе данных.