Витаем в облаках. Часть 2

В прошлой части мы устроили обзор самых крупных и перспективных игроков, специализирующихся на популярных ныне облачных CRM SaaS-сервисах. Поскольку концепция облачных вычислений продолжает победно захватывать все новые и новые человеческие умы, вместе с тем постоянно расширяя сферы своего практического применения и не останавливаясь в своем развитии лишь на одних CRM-системах, дополним наше предыдущее описание и другим популярным облачным направлением. Итак, сегодня мы рассмотрим приложение концепций SaaS применительно уже к базам данных, и в рамках этой статьи обзорно представим как крупных игроков в сфере DaaS (Data as a Service), так и известные реализации подлинно-облачных СУБД.

Сразу следует подчеркнуть, что данная отрасль находится еще в стадии ранней зрелости и проходит период быстрого формирования, поэтому пока не существует какого-то единого стандарта или четкой спецификации, описывающих набор обязательных или хотя бы типичных сервисов, входящих в эту парадигму, но основные преимущества такого рода баз данных можно кратко сформулировать и перечислить. Это, прежде всего, повышенная надежность и “гарантированность сервиса по первому запросу”, далее следует большая масштабируемость (что в большинстве случаев означает способность БД обслуживать любое количество запросов, каким бы гигантским оно ни было), и замыкают список такие преимущества, как экономическая выгодность и простота настройки и запуска сервиса. Как отмечает аналитическая компания Forrester Research в исследовании "Database-as-a-Service Explodes on the Scene", при правильном использовании "заоблачные" базы данных могут обеспечить немалую экономию и существенно упростить администрирование БД, также, в свою очередь, при таком подходе можно существенно сэкономить и на штате своего IT-персонала. “Когда сорок лет назад появились первые технологии баз данных, помню, никто не решался использовать их в своих ответственных приложениях, — говорит Юханна из Forrester Research. — Надежными тогда считались COBOL, обычные файлы, а еще лучше - записи на бумаге. Но со временем все изменилось. То же самое повторяется сейчас и с DaaS: такие облачные базы данных выйдут на первый план года через три-четыре, когда смогут обслуживать крупные приложения, столь важные для бизнеса”.
Также важно понять, что уже всем привычные некоторые возможности реляционных баз данных часто не имеют никакого отношения к облачным базам данных, и в большинстве случаев (особенно когда мы имеем дело с подлинно-облачными СУБД) нам вынужденно придется иметь дело с NoSQL-концепцией в той или иной форме, что часто делает эти облачные БД очень специфическим сервисом.

Итак, переходим наконец к нашему обзору. На рынке облачных СУБД сейчас главенствуют три основных игрока, это: Amazon, Google, Microsoft, а также очень перспективно смотрится совсем недавно присоединившаяся к ним Salesforce. Давайте рассмотрим каждого из них.

Amazon's SimpleDB

Amazon – безусловный лидер и пионер рынка облачных вычислений, успешно продвигающий в рамках концепции PaaS свою облачную платформу Amazon EC2. В числе этой платформы имеется и собственная облачная БД – SimpleDB. Это очень простая по устройству БД, которая позволяет хранить пары значений имя-значение, и которая является классическим воплощение подхода NoSQL. API к базе также чрезвычайно прост, и состоит всего из четырех запросов: Get, Post, Delete and Query. Несмотря на такую зримую простоту, как утверждают разработчики этой облачной БД, этих возможностей на самом деле должно хватить 80% всех Web-приложений в мире. Обратная сторона такого подхода – это просто гигантская производительность и масштабируемость, которую способна демонстрировать подобная СУБД. Также в качестве иллюстрации второго очевидного преимущества такой модели хочу просто привести один из слоганов Amazon при продвижении SimpleDB – “теперь вам не нужен свой администратор баз данных”. С другой стороны, такой ярко выраженный NoSQL-подход противоположен тому, что используется в архитектуре традиционных БД, например, главный архитектор Oracle Том Кэйт испытывает сильнейшее эмоциональное отвращение по отношению к модели построения SimpleDB, называя этот путь “тупиковым” и “совершенно неприемлемым”. Впрочем, это не мешает быть Amazon первым и самым успешным DaaS-сервисом из всех ныне существующих.

Также отмечу, что хотя существует формальное разделение на Amazon Simple Storage Service (Amazon S3) и Amazon Elastic Compute Cloud (Amazon EC2), на самом деле, все эти сервисы очень тесно взаимосвязаны и дополняют один другого, поэтому не стоит планировать изолированное от родной платформы использование SimpleDB в ваших решениях.

Google App's Bigtable

Google присоединился к этой облачной гонке позже, чем Amazon, но попытался сразу наверстать лидера сильными маркетинговыми ходами. На данный момент для полностью бесплатного использования доступно Google App Engine (GAE) с ограничением места до 500 Gb и максимум на 5 миллионов просмотров страниц в месяц. В рамках GAE используется облачное хранилище на базе Google's Big Table (GBT), которое устроено более сложно, чем его аналог из Amazon. Главная особенность GBT — использование своего языка выборки GQL. GQL, хоть и очень похож на традиционный SQL, все же имеет много специфики, при этом не совсем понятно, зачем он вообще был нужен, так как его возможности мало чем превосходят обычный SQL. Я думаю, здесь нет никакого смысла погружаться в технические детали, чтобы показать, насколько радикально разными путями реализуют свои облачные платформы таких два гиганта, как Google и Amazon, стоить лишь отметить сам факт того, что видение облачных баз данных у этих двух лидеров чрезвычайно различается (что лишний раз доказывает, что как таковая концепция облачных БД еще окончательно не сформирована).

Microsoft Azure

В рамках модели PaaS Windows Azure поставляется DaaS-сервис SQL Azure (первоначально назывался SQL Server Data Services и позже SQL Services) - это настоящая реляционная база данных (в отличие от вышеприведенных SimpleBD и GBT), распределенная в облаке и построенная на базе технологии Microsoft SQL Server. Благодаря облачной архитектуре эта база данных характеризуется высокой надежностью и масштабируемостью. Здесь разработчику не надо устанавливать или настраивать какой-либо софт вообще. Не нужно заботиться о мониторинге загрузки жестких дисков, репликации и логировании, или нанимать для всего этого DBA-администратора, здесь можно сразу сфокусироваться на главном - данных. Значительно повышает универсальность этого решения то, что для доступа к данным можно использовать стандартные ADO.NET, LINQ, SOAP, REST или ODBC. Для запросов используется уже хорошо известный диалект SQL от Microsoft – TSQL.

Salesforce Database.com

Буквально месяц назад известный поставщик SaaS-решений компания Salesforce.com представила свой новый сервис Database.com - онлайновое хранилище данных, которое могут применять разработчики для создания приложений любого типа. В отличие от GAE, в котором используется только Python, в решении от Salesforce возможно использовать более десяти наиболее популярных языков программирования, а также имеется встроенная поддержка почти всех мобильных клиентских устройств. Благодаря использованию унифицированного облачного API созданные с использованием Database.com приложения смогут находиться как на портале Salesforce.com, так и в корпоративной сети, либо почти в любой другой облачной службе. Saleforce постаралась создать максимально продвинутое решение на рынке облачных СУБД, в частности, ее новый сервис автоматически масштабируется и обновляется, создает архивные копии и поддерживает SSL-соединения, а также управление доступом через oAuth или SAML, и многое другое.

За кадром этой краткой статьи остались более мелкие, но не мене перспективные игроки рынка облачных баз данных, которых стоит хотя бы упомянуть, такие как VMforce, EnterpriseDB's Postgres Plus, Vertica Columnar Cloud и некоторые другие, которые также очень перспективны и интересны. Мы не коснулись такой интересной темы, как размещение “в облаке” в рамках DaaS-сервиса ваших образов традиционных БД, например, Amazon и Google предлагают подобный сервис для MySQL.

В заключение хочется отметить, что сейчас рынок облачных баз данных очень быстро развивается и формируется, поэтому новые игроки появляются один за другим. Например, самый крупный в мире разработчик корпоративного ПО SAP совсем недавно приобрел за $5,8 млрд компанию Sybase, которая известна, прежде всего, как один из ведущих разработчиков СУБД. SAP собирается на базе этой СУБД заняться продвижением облачных сервисов и созданием собственной SaaS-платформы для SAP Business ByDesign. Недавно Sybase выпустила уже готовую облачную версию своей СУБД, которая в первую очередь предназначена для запуска на платформе Amazon EC2. Поскольку Sybase имеет очень большую производительность именно для операций выборки, на ее базе может получиться замечательная аналитическая система. Подобные же шаги изучаются или уже даже готовятся многими другими известными мировыми IT-игроками. Постепенно внедряется универсальный протокол (API) взаимодействия с облачными базами данных AtomPub, который сделает в будущем перенос приложений от одного поставщика к другому делом всего нескольких минут.

Игорь Савчук


Компьютерная газета. Статья была опубликована в номере 05 за 2011 год в рубрике soft

©1997-2024 Компьютерная газета