В апреле, когда была выпущен релиз платформы с открытым исходным кодом OpenStack Icehouse, проект «СУБД как сервис» под названием Trove был одним из ее главных особенностей. Перенесемся на шесть месяцев вперед, и вот 16 октября должен дебютировать релиз OpenStack Juno с длинным списком внесенных в Trove обновлений и усовершенствований.
Грядущая облачная платформа с открытым исходным кодом OpenStack Juno теперь будет поддерживать большее число СУБД и функций СУБД.
Trove был начат в 2012 г. под названием Red Dwarf как совместный проект под руководством Hewlett-Packard и Rackspace. С тех пор компания Tesora, разработчик средств виртуализации СУБД, активно участвовала в проекте Trove и является теперь одним из его главных доноров. Кроме того, Tesora предлагает пользователям версии Trove, одна из которых поддерживается сообществом разработчиков, а другая — на коммерческой основе.
Кен Рагг, генеральный директор Tesora, рассказал корреспонденту eWeek, что когда он впервые увидел проект Red Dwarf, ему стало ясно, что этому проекту предстоит пройти еще долгий путь. После включения Red Dwarf, переименованного в Trove, в релиз OpenStack Icehouse ранее в этом году, его развитие ускорилось.
В грядущем релизе Juno нашли место как новые функции, так и поддержка новых СУБД, сказал Рагг. В Icehouse поддержка касалась главным образом СУБД MySQL. Теперь же Trove поддерживает в Juno СУБД с открытым исходным кодом PostgreSQL, а кроме того в новом релизе улучшена поддержка различных СУБД NoSQL, включая Apache Cassandra, MongoDB, Couchbase и Redis.
Что касается функций, то Trove в OpenStack Juno поддерживает теперь репликацию данных для MySQL. «Репликация в данном релизе представляет собой создание реплик только для чтения, — пояснил Рагг. — Речь идет о возможности создания множества копий главной базы данных только для чтения».
В настоящее время Trove как проект в действительности не включен в канал прохождения данных СУБД, добавил Рагг. С точки зрения репликации базы данных, это означает, что сейчас Trove не обеспечивает автоматическую отказоустойчивость с целью поддержания высокой доступности данных. «Таким образом, сам Trove не вмешивается в движение данных, в котором он может выступать в роли посредника для обеспечения транспарентной отказоустойчивости СУБД», — сказал он.
Учитывая сказанное, отказоустойчивость СУБД может быть достигнута с помощью разработанного другой компанией инструмента оркестрирования или даже проекта OpenStack Heat, предназначенного для оркестрирования облаков.
Trove в OpenStack Juno будет теперь поддерживать также кластеризацию баз данных для NoSQL-СУБД с открытым исходным кодом MongoDB. Разбиение большой базы данных на множество более мелких элементов (sharding) повышает производительность СУБД.
Новой для Trove в релизе Juno является также поддержка сетевого проекта Neutron в рамках OpenStack. Neutron обеспечивает программно-конфигурируемые сети на уровне сервисов облака OpenStack.
«Благодаря появившейся поддержке Neutron администратор может задавать, какую виртуальную сетевую карту (Network Interface Card, NIC) должна использовать СУБД», — сказал Рагг.
Что касается следующего после Juno релиза OpenStack, то уже имеются некоторые идеи относительно дальнейшего развития Trove. Как сказал Рагг, есть потенциал для поддержки СУБД Oracle и Microsoft SQL Server. В настоящее время Trove не в одинаковой мере поддерживает функции различных СУБД. Здесь есть возможности для дальнейшего совершенствования.
«Мы должны прийти к тому, чтобы все СУБД обладали всеми необходимыми функциями, включая резервное копирование, репликацию и варианты конфигурирования, — сказал Рагг. — Нам необходимо продолжать развивать Trove и доводить его до промышленного уровня».