Искусственный интеллект — это не только чатботы, отвечающие на любые вопросы, но и инструменты, которые трансформируют все уровни стека программного обеспечения, в том числе СУБД. Как именно меняются базы данных благодаря ИИ?
Данные, на которых обучаются модели ИИ, после извлечения из базы приходится преобразовывать в специальный формат — векторы. Это возможно для данных любого типа, но наиболее широко применяются методы векторного представления (или «вложения», embedding) слов: различным словам и фразам сопоставляются векторы из некоторого набора, кодирующие не только само слово, но и его значение: векторы, «близкие» друг к другу по направлению в пространстве, соответствуют схожим по значению словам. При этом векторов в наборе гораздо меньше, чем количество слов, которые они кодируют. Для формирования такого набора используют разные подходы, в том числе обработку с помощью нейронных сетей.
Поддержка работы с векторами появилась в PostgreSQL и других традиционных СУБД, но существуют и специализированные базы данных, хранящие их в форме векторов, например, Pinecone, Vespa, Milvus и др. Механизмы обработки запросов в таких СУБД способны выдавать не только точные соответствия, но и близкие или наиболее подходящие, словно «угадывая» намерение пользователя. Если раньше для реализации подобных возможностей применялись самостоятельные приложения, то теперь соответствующие алгоритмы встраиваются непосредственно в СУБД. В частности, Oracle предлагает такие решения, адаптированные для различных отраслей, например, для интернет-магазинов.
В традиционных СУБД формируются индексы, ускоряющие поиск информации по конкретным столбцам. Векторные же позволяют создавать индексы, охватывающие весь объем данных и позволяющие легко находить «близкие» друг к другу векторы. К тому же запросы к таким базам можно делать на естественном языке, а не на SQL.
Средства ИИ также применяются для автоматической классификации неструктурированных данных и размещения их в таблицах СУБД. Алгоритмы могут упорядочивать информацию, фильтровать «шум», классифицировать текст по эмоциональной окраске или фотопортреты по выражению лица. Сервисы классификации данных и автоматического размещения в базах предлагает, например, компания Amazon Web Services.
Оптимизация производительности традиционных СУБД — сложная задача, связанная с настройкой многочисленных параметров и схем. Обычно этим занимается администратор базы данных, но теперь оптимизацию могут выполнять алгоритмы машинного обучения, учитывающие закономерности запросов и структур данных. Они могут следить за трафиком на сервере, адаптировать настройки в зависимости от нагрузки в режиме реального времени и прогнозировать потребности пользователей. В Oracle стали позиционировать свои СУБД в качестве автономных и не требующих администратора, так как они с помощью алгоритмов ИИ сами регулируют свою производительность «на лету».
ИИ может помогать в очистке данных: алгоритмы способны обнаруживать аномалии и предлагать корректировки. Автоматизированная система, к примеру, может найти неверно записанную фамилию клиента и исправить на правильный вариант с учетом остальных вхождений. Microsoft для своей СУБД SQL Server предлагает решение Data Quality Services, которое автоматически устраняет проблемы наподобие незаполненных полей, дублирующихся вхождений и др.
Алгоритмы ИИ, регистрирующие аномалии в данных, позволяют превратить СУБД в систему обнаружения мошенничества. Например, если кто-то впервые для себя воспользовался банкоматом поздно ночью или кредиткой в чужой стране, это может быть сигналом, на который среагирует подобная система. Возможности интеграции механизмов обнаружения мошенничества в стек ПО для работы с данными предлагает, например, облако Google.
Похожие алгоритмы применяются в организациях для нужд безопасности: ИИ способен обнаруживать отклонения от стандартных закономерностей работы с СУБД, могущие указывать на попытку взлома. Например, если пользователь удаленно запрашивает полные копии каких-либо таблиц, это повод забить тревогу. Пример инструмента, интегрируемого с уровнями хранения данных для управления доступом и регистрации аномалий, — IBM Guardian Security.
Итак, ИИ обучается на данных, хранимых непосредственно в СУБД, и позволяет делать к ним запросы на естественном языке. Чатботы вроде ChatGPT, Bard и Bing Chat сегодня претендуют на роль альтернативы традиционным системам веб-поиска, а возможна ли замена СУБД на подобный сервис? ИИ нередко «галлюцинирует», выдавая «выдуманные» ответы, или меняет формат выдачи по своей «прихоти». Но если предметная область достаточно узкая, а обучающая выборка по ней была исчерпывающей и свободной от ошибок, то для каких-то из задач ИИ вполне мог бы с успехом заменить и СУБД.