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

Семантический слой — это абстракция, которая находится между данными компании и бизнес-метриками, выбранными ею в качестве стандартных единиц измерения. Это критически важный слой для обеспечения корректности.

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

Традиционно семантический слой привязан к инструментам бизнес-аналитики или анализа данных. Если вы работали с Tableau, Qlik, Microsoft PowerBI, ThoughtSpot или Looker, для определения своих бизнес-метрик вы использовали семантический слой, предоставляемый этими поставщиками.

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

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

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

ИИ на естественном языке

В последнее время всплеск интереса к семантическому слою вызвал еще один фактор — генеративный ИИ (GenAI). Большие языковые модели (LLM), такие как ChatGPT, заставляют многие компании экспериментировать с использованием естественного языка в качестве интерфейса для различных приложений. LLM продемонстрировали способность генерировать текст на любом количестве языков, включая естественные и SQL.

В то время как вывод на естественном языке, создаваемый LLM, обычно довольно хорош, этого нельзя сказать про SQL. По словам Тристана Хэнди, генерального директора dbt Labs, компании, стоящей за популярным инструментом dbt, и разработчика универсального семантического слоя, недавно было обнаружено, что LLM генерируют точный SQL в среднем только в одной трети случаев.

«Многие люди, экспериментирующие в этом пространстве, — это ИИ-инженеры или инженеры-программисты, которые на самом деле не имеют представления о том, как работает BI, — отмечает он. — Поэтому они просто говорят: „Я в этом не разбираюсь, так что пусть модель напишет SQL за меня“. Но это не работает так хорошо, как хотелось бы».

Хорошая новость заключается в том, что внедрить семантический слой в стек вызовов GenAI несложно. Используя такой инструмент, как LangChain, можно просто указать LLM использовать универсальный семантический слой для генерации SQL-запроса, который получит данные из базы данных, вместо того чтобы позволить LLM делать это самостоятельно, говорит Хэнди. В конце концов, именно для этого и были созданы семантические слои, отмечает он. По словам Хэнди, использование такого подхода повышает точность запросов на естественном языке при использовании LLM примерно до 90%.

«Мы ведем много разговоров о семантическом слое, и многие из них вызваны вопросом о интерфейсе на естественном языке», — отмечает он.

Не только семантика

dbt Labs — не единственный поставщик, бороздящий воды универсального семантического слоя. Еще два поставщика, включая AtScale и Cube, заявили о себе в этом пространстве.

AtScale недавно объявила, что ее платформа Semantic Layer Platform теперь доступна на Snowflake Marketplace. Эта поддержка гарантирует, что клиенты Snowflake смогут продолжать полагаться на данные, которые они генерируют, независимо от того, какой инструмент ИИ или BI они используют в облаке Snowflake.

«Семантические модели, которые вы определяете в AtScale, представляют собой метрики, расчетные показатели и измерения, которые необходимо анализировать для достижения бизнес-целей, — поясняет вице-президент AtScale по развитию Корт Джонсон. — После определения семантики в AtScale она может быть использована любым BI-приложением, ИИ/МО-приложением или LLM в вашей организации».

Databricks также включается в семантическую игру. Недавно компания объявила о добавлении первоклассной поддержки метрик в Unity Catalog, свой каталог данных и инструмент управления.

«Идея заключается в том, что вы можете определять метрики внутри Unity Catalog и управлять ими вместе со всеми остальными активами, — говорит технический директор Databricks Матей Захария. — Мы хотим, чтобы вы могли использовать метрики в любом последующем инструменте. Мы собираемся предоставить их нескольким BI-инструментам, чтобы вы могли выбрать BI-инструмент по своему вкусу. И вы сможете просто использовать их через SQL, через табличные функции, которые вы можете вычислять».

По его словам, Databricks также вступила в партнерство с dbt, Cube и AtScale в качестве «поставщиков внешних метрик», чтобы упростить ввод и управление метриками из инструментов этих поставщиков в Unity Catalog.

Cube только что запустила несколько новых продуктов, в том числе новый Semantic Catalog, который призван дать пользователям «всеобъемлющее, единое представление о связанных активах данных», утверждает Дэвид Джаятиллаке, вице-президент Cube по ИИ.

«Независимо от того, ищете ли вы смоделированные данные в Cube Cloud, последующий BI-контент или предыдущие таблицы, теперь вы можете получить все это в едином, целостном интерфейсе, — отмечает он. — Это сокращает время, затрачиваемое на переходы между различными источниками данных и платформами, обеспечивая более рациональный и эффективный процесс поиска данных как для инженеров, так и для потребителей».

Другой новый продукт, анонсированный Cube, которая недавно привлекла 25 млн. долл. от Databricks и других венчурных фирм, — ИИ-помощник. Это новое предложение призвано «дать возможность нетехническим пользователям задавать вопросы на естественном языке и получать достоверные ответы, основанные на универсальном семантическом слое», поясняет Джаятиллаке.

Открытие большего количества данных

Возможно, GenAI является самым большим фактором, стимулирующим интерес к универсальному семантическому слою сегодня, но потребность в нем возникла еще до появления GenAI.

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

dbt Labs изначально занялась созданием универсального семантического слоя, потому что рассматривала его как «кросс-платформенный источник истины», отмечает он.

«Он должен присутствовать в различных инструментах работы с данными, в BI-инструментах, — говорит Хэнди. — Точно так же, как вы управляете преобразованием своих данных таким независимым образом, вы должны управлять и своими бизнес-показателями таким же образом».

Появление таких открытых форматов таблиц, как Apache Iceberg, Apache Hudi и Delta Lake, а также открытых каталогов метаданных, таких как Snowflake Polaris и Databricks Unity Catalog, свидетельствует о том, что существует потребность в преобразовании традиционной монолитной базы данных и структур данных в набор независимых компонентов, связанных между собой посредством федеративной архитектуры.

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

«Раньше семантические слои были чем-то вроде ниши, — говорит он, — а теперь это становится горячей темой».