Couchbase, база данных NoSQL, любимая современными разработчиками приложений, пытается навести мост в старый мир с выпуском 7.0.
Последняя итерация базы данных хранилища документов с открытым исходным кодом предлагает транзакции SQL с несколькими операторами и подход к созданию структур, подобных схемам, в базе данных, что позволяет ей поддерживать несколько приложений на основе одних и тех же данных.
Один эксперт в области баз данных сказал, что Couchbase 7.0 будет приветствоваться разработчиками, которые хотят делать больше со своими данными в одной системе, но неясно, сможет ли он выдержать корпоративные рабочие нагрузки из нескольких приложений.
Couchbase – это база данных документов JSON с глобальными пользователями, включая PayPal, eBay и систему распределения путешествий Amadeus. Ранее в этом году исходная лицензия была изменена с Apache на бизнес-лицензию. Исходный код Couchbase Server Community Edition размещен в репозитории GitHub.
К последнему выпуску Couchbase добавила «транзакции SQL с несколькими операторами», что означает операторы, которые фиксируются или откатываются вместе. Таким образом, разработка поддерживает многодокументные SQL-транзакции с «взаимодействиями за микросекунды в рамках одной унифицированной платформы базы данных», заявил поставщик.
Couchbase уже разработала собственный язык запросов, N1QL, который соответствует повсеместному синтаксису SQL и поддерживает транзакции ACID для отдельных документов. По словам технического директора Рави Маюрам, начиная с версии 6.5 он вводит транзакции SQL с несколькими документами.
«В версии 7.0 мы предлагаем транзакции SQL с несколькими операторами, которые охватывают то, что реляционные системы могут предложить с точки зрения гарантий OLTP, и при этом мы сохраняем производительность, масштабируемость и гибкость – что наиболее важно – систем NoSQL. Вам больше не нужны две отдельные системы : один для гибкости, маневренности, производительности и масштабируемости, а другой – для классической обработки транзакций ».
Другая функция, которая, как надеется Couchbase, убедит разработчиков делать больше с ее платформой, – это набор функций, которые придают базе данных без схемы вид схемы. Он делает это с помощью схем и табличных организационных структур, называемых «областями и коллекциями».
«Мы хотели ввести эквивалент этого, потому что мы должны использовать 40 лет исследований баз данных», – сказал он.
В мире Couchbase база данных – это «корзина», схема – это «область действия», таблица – это «коллекция», строка – это «документ», а столбец – это «канал». Таким образом, Couchbase 7.0 поддерживает использование одних и тех же данных несколькими приложениями, позволяя разработчикам «ограждать данные» и иметь модель безопасности, которая очень детально фильтрует видимость и доступ к данным от одного пользователя к другому, “Сказал Маюрам.
Конечно, некоторые из этих заявлений в прошлом встречались с критическим эквивалентом медленных хлопков в ладоши и комментариями «хорошо, вы создали схему, что мир отношений сделал более 40 лет назад».
Говоря с , Маюрам ответил: «Это хороший момент, но если вы посмотрите на это с другой стороны, у реляционных систем есть два основных ограничения: одно – гибкость, а другое – масштаб. Мы решили обе эти проблемы, сохранив семантику и структура, которую предлагают реляционные системы “.
Карл Олофсон, вице-президент IDC по исследованиям, сказал, что модель базы данных документов «освободила разработчика от администратора баз данных: им не нужно запрашивать изменения схемы или иметь дело со всеми этими неприятными стандартизированными определениями данных». Но есть цена, которую нужно заплатить.
Когда приложения начинают обмениваться данными, а их структуры не совпадают, им приходится идти на компромисс. Выполнение запросов к чистой базе данных документов, не имеющей индексов, очень неэффективно. Наконец, если разные приложения начинают собирать перекрывающиеся данные, могут возникнуть несоответствия.
Олофсон охарактеризовал подход Couchbase к преодолению этих проблем как «несколько элегантный».
«Он сохраняет как можно больше базовой модели документа – у вас все еще есть эта гибкость – но также позволяет вам быть несколько дисциплинированным в том, как вы это делаете, чтобы вы могли обеспечить согласованность и лучше обмениваться данными, а также вы могли лучше выполнять запросы, ” он сказал.
«У вас достаточно операционных возможностей, чтобы быть довольно конкурентоспособным с операционными реляционными базами данных, хотя вы не собираетесь использовать их в хранилище данных: все базы данных имеют ограничения», – сказал он.
Он сказал, что в случае, когда приложение электронной коммерции использует Couchbase для приложений, ориентированных на клиентов, и приложение реляционной базы данных для серверной части, они могут рассмотреть Couchbase для обоих.
“Это правдоподобно, но реальный вопрос заключается в том, каким будет пользовательский опыт, когда люди начнут подвергать эту технологию реальным нагрузкам. Я не могу ответить на этот вопрос, но, возможно, если он встанет, это может быть действительно большое дело, – сказал Олофсон. ®