В свое время создание Эдгаром Коддом реляционной алгебры заложило формальные основы для разработки SQL и формирования многомиллиардного рынка реляционных СУБД (Фото: IBM) |
По мнению двух исследователей из корпорации Microsoft, постоянно растущее число нереляционных СУБД (или СУБД NoSQL) порождает потребность в их стандартизации.
«Зарождающийся рынок NoSQL еще сильно фрагментирован, — отмечают Эрик Мейер и Гевин Бирман в апрельском выпуске издания Communications, выпускаемого Association for Computing Machinery. — Здесь присутствует множество конкурирующих поставщиков и технологий. Программирование, развертывание и управление решениями NoSQL требует специальных знаний низкоуровневых технологий, которые непросто перенести от продукта одного поставщика к продукту другого».
В работе, которую исследователи назвали coSQL, предлагаются математическая модель обработки данных и стандартизированный язык запросов, с помощью которых можно было бы унифицировать модели данных SQL и NoSQL.
«Опубликованный документ не вызывает особых возражений, — согласился Джеймс Филлипс, вице-президент компании Couchbase, выпускающей продукты для СУБД NoSQL. — Лично я поддерживаю вывод о том, что стандартизированный язык манипулирования данными ускорил бы продвижение на рынок технологий СУБД NoSQL за счет исключения фрагментации, обусловленной влиянием разработчиков».
За последние годы разнообразие нереляционных СУБД резко увеличилось. К их числу относятся, в частности, программные продукты CouchDB, Cassandra и MongoDB. ИТ-администраторы полагают, что для распределения больших объемов данных между множеством серверов или для размещения данных, при котором не требуется индексирование в целях последующего выполнения сложных запросов, такие хранилища подходят лучше, чем реляционные базы данных.
Мейер и Бирман сравнивают нынешнее процветание нереляционных СУБД с распространением реляционных баз данных в начале 70-х годов. В то время разработчики должны были понимать особенности каждой СУБД, а также порядок ее взаимодействия с оборудованием. Тогда роль объединяющего фактора для отрасли сыграло широкое распространение языка запросов SQL (Structured Query Language).
Язык SQL представляет собой реализацию реляционной модели Эдгара Кодда, который перевел моделирование баз данных на алгебраическую основу. Математическая модель гарантировала возврат всеми СУБД SQL одинаковых результатов при выполнении одинаковых запросов к одинаковым наборам данных. А поскольку большинство производителей СУБД, начиная с корпорации IBM, приняли эту модель, программистам вместо изучения нового языка для каждой СУБД достаточно было освоить только язык SQL.
Мейер и Бирман утверждают, что от стандартизации СУБД NoSQL только выиграют. «В свое время создание Коддом реляционной алгебры заложило формальные основы для разработки SQL и формирования вокруг этого языка отрасли с многомиллиардным оборотом, — пишут исследователи. — Сегодня наша категориальная формализация модели данных и монадический язык запросов тоже будут способствовать дальнейшему экономическому росту и развитию хранилищ coSQL типа ключ-значение».
Исследователи подвергают сомнению популярную точку зрения, согласно которой только СУБД NoSQL подходят для хранения больших данных (Big Data).
«При должном уровне декомпозиции СУБД на основе SQL тоже вполне способны обеспечивать надлежащую масштабируемость, — утверждается в статье. — Несмотря на распространенное мнение, модели SQL и noSQL не являются несовместимыми антагонистами, а, напротив, прекрасно сочетаются друг с другом в рамках красивой математической теории».