Классика баз данных - статьи

       

От переводчика, или XQuery и эластичность Web-приложений баз данных


Хотя "облачные" вычисления (cloud computing) постепенно входят в практику все большего числа разработчиков приложений, остается открытым вопрос, какими должны быть средства управления данными "в облаках"? Некоторые люди полагаются на использование распределенных файловых систем и подхода map/reduce, другие говорят о целесообразности использования массивно-параллельных систем баз данных (см., например, статью Майкла Стоунбрейкера и др. ), третьи пытаются приспособить к облачной инфраструктуре традиционные SQL-ориентированные СУБД (например, SQL Azur от Microsoft).

Даниела Флореску и Дональд Коссман предлагают начать с критериев, на которые должна опираться архитектура "облачных" систем управления данными. И в качестве основного такого критерия они выставляют минимизацию расходов при заданных требованиях к производительности приложений баз данных. Для сервис-ориентированной архитектуры, на которую опирается cloud computing в целом, это очень естественно.

На мой взгляд, статья написана очень последовательно и логично. Единственное, что меня несколько смущает, – это сходство предлагаемой архитектуры приложений баз данных с архитектурами файл-серверных СУБД. Фактически, в подходе Флореску и Коссмана Amazon S3 выполняет роль файл-сервера, а вынесение службы запросов и других функций СУБД на уровень приложения до боли напоминает организацию, например, Informix SE.

И, конечно, некоторые сомнения вызывает передача по Internet от узлов Amazon S3 в узлы серверов приложений, как минимум, XML-документов целиком (а может быть, и коллекций XML-документов). Непонятно, как при этом удается гарантировать, что время ответа на запрос не превышает заданные ограничения (если, конечно, не считать, что пользователи могут спокойно подождать и несколько минут).

Кроме того, я не уверен, что разработчики приложений придут в полный восторг от необходимости использования XQuery не только для запросов XML-данных, но и для написания логики приложений. Для системы это, конечно, очень удобно, а на месте разработчиков я бы, пожалуй, предпочел использовать для программирования что-нибудь более привычное.



Содержание  Назад  Вперед