База данных, работающая на платформе облачных вычислений
Облачная база данных — это база данных , которая обычно работает на платформе облачных вычислений , а доступ к ней предоставляется как услуга. Существует две распространенные модели развертывания: пользователи могут запускать базы данных в облаке независимо, используя образ виртуальной машины , или они могут приобрести доступ к службе базы данных, поддерживаемой поставщиком облачной базы данных. Из баз данных, доступных в облаке, некоторые основаны на SQL , а некоторые используют модель данных NoSQL .
Службы баз данных заботятся о масштабируемости и высокой доступности базы данных. Службы баз данных делают базовый программный стек прозрачным для пользователя. [1]
Модели развертывания
Существует два основных способа запуска базы данных на облачной платформе:
- Образ виртуальной машины
- Облачные платформы позволяют пользователям приобретать экземпляры виртуальных машин на ограниченное время, и на таких виртуальных машинах можно запускать базу данных. Пользователи могут либо загрузить собственный образ машины с установленной на нем базой данных, либо использовать готовые образы машин, которые уже включают оптимизированную установку базы данных. [2]
- База данных как услуга (DBaaS)
- При использовании модели «база данных как услуга» пользователи платят поставщику облачных услуг за услуги и вычислительные ресурсы, что сокращает объем денег и усилий, необходимых для разработки и управления базами данных. [2] Пользователям предоставляются инструменты для создания и управления экземплярами баз данных, а также для контроля пользователей. Некоторые поставщики облачных услуг также предлагают инструменты для управления структурами баз данных и данными. [3] Многие поставщики облачных услуг предлагают как реляционные (Amazon RDS, SQL Server), так и NoSQL (MongoDB, Amazon DynamoDB) базы данных. [3] Это тип программного обеспечения как услуги (SaaS).
Архитектура и общие характеристики
- Большинство служб баз данных предлагают веб-консоли, которые конечный пользователь может использовать для подготовки и настройки экземпляров базы данных.
- Службы баз данных состоят из компонента менеджера баз данных, который управляет базовыми экземплярами баз данных с помощью API службы. API службы предоставляется конечному пользователю и позволяет пользователям выполнять операции по обслуживанию и масштабированию своих экземпляров баз данных.
- Базовый стек программного обеспечения обычно включает операционную систему, базу данных и стороннее программное обеспечение, используемое для управления базой данных. Поставщик услуг отвечает за установку, исправление и обновление базового стека программного обеспечения и обеспечение общей работоспособности и производительности базы данных.
- Функции масштабируемости различаются у разных поставщиков: некоторые предлагают автоматическое масштабирование, другие позволяют пользователю масштабировать систему с помощью API, но не масштабируют автоматически. [2]
- Обычно существует обязательство по определенному уровню высокой доступности (например, 99,9% или 99,99%). Это достигается путем репликации данных и переключения экземпляров на другие экземпляры базы данных. [4]
Модель данных
Проектирование и разработка типичных систем используют управление данными и реляционные базы данных в качестве ключевых строительных блоков. Расширенные запросы, выраженные в SQL, хорошо работают со строгими отношениями, которые налагаются на информацию реляционными базами данных. Однако технология реляционных баз данных изначально не была спроектирована или разработана для использования в распределенных системах. Эта проблема была решена путем добавления улучшений кластеризации в реляционные базы данных, хотя некоторые базовые задачи требуют сложных и дорогих протоколов, таких как синхронизация данных. [5]
Современные реляционные базы данных показали низкую производительность в системах с интенсивным использованием данных, поэтому идея NoSQL была использована в системах управления базами данных для облачных систем. [6] В хранилище, реализованном на основе NoSQL , нет требований к фиксированным схемам таблиц, и избегается использование операций соединения. «Базы данных NoSQL доказали свою эффективность в обеспечении горизонтальной масштабируемости, хорошей производительности и простоты сборки в облачные приложения». [7] Модели данных, основанные на упрощенных алгоритмах ретрансляции, также использовались в приложениях с интенсивным использованием данных в облаке, уникальных для виртуальных фреймворков. [8]
Также важно различать облачные базы данных, которые являются реляционными, и нереляционные или NoSQL: [9]
- базы данных SQL
- Базы данных SQL — это один из типов баз данных, которые могут работать в облаке, как на виртуальной машине, так и в качестве сервиса, в зависимости от поставщика. В то время как базы данных SQL легко масштабируются вертикально, горизонтальная масштабируемость представляет собой проблему, которую начали решать облачные службы баз данных на основе SQL. [10] [ нужна цитата для проверки ]
- Базы данных NoSQL
- Базы данных NoSQL — это еще один тип баз данных, которые могут работать в облаке. Базы данных NoSQL созданы для обслуживания больших нагрузок чтения/записи и могут легко масштабироваться вверх и вниз, [11] и поэтому они изначально больше подходят для работы в облаке. Однако большинство современных приложений построены вокруг модели данных SQL, поэтому работа с базами данных NoSQL часто требует полного переписывания кода приложения. [12]
- Некоторые базы данных SQL разработали возможности NoSQL, включая JSON , двоичный JSON (например, BSON или аналогичные варианты) и типы данных для хранения ключей и значений.
- Многомодельная база данных с реляционными и нереляционными возможностями предоставляет стандартный интерфейс SQL для пользователей и приложений и, таким образом, облегчает использование таких баз данных для современных приложений, построенных вокруг модели данных SQL. Собственные многомодельные базы данных поддерживают несколько моделей данных с одним ядром и унифицированным языком запросов для доступа ко всем моделям данных.
Поставщики
В следующей таблице перечислены известные поставщики баз данных, предлагающие облачные базы данных, сгруппированные по модели развертывания (образ машины или база данных как услуга) и модели данных (SQL или NoSQL).
Смотрите также
Ссылки
- ^ Hwang, G.; Fu, S. (май 2016 г.). «Доказательство нарушения доверия и подотчетности облачных систем баз данных». 2016 16-й Международный симпозиум IEEE/ACM по кластерным, облачным и грид-вычислениям (CCGrid) . стр. 425–433. doi :10.1109/CCGrid.2016.27. ISBN 978-1-5090-2453-7. S2CID 18373753.
- ^ abc Чао, Ли (2014). Разработка и управление облачными базами данных . Бока-Ратон: Тейлор и Фрэнсис. ISBN 978-1-4665-6506-7. OCLC 857081580.
- ^ ab McHaney, Roger (2021). Облачные технологии: обзор технологий облачных вычислений для менеджеров . Хобокен, Нью-Джерси. ISBN 978-1-119-76951-4. OCLC 1196822611.
{{cite book}}
: CS1 maint: отсутствует местоположение издателя ( ссылка ) - ^ Сакр, Шериф (июнь 2014 г.). «Облачные базы данных: технологии, проблемы и возможности». Cluster Computing . 17 (2): 487–502. doi :10.1007/s10586-013-0290-7. ISSN 1386-7857. S2CID 254370104.
- ^ А. Анджомшоа и А. Тьоа, «Как парадигма облачных вычислений может сформировать будущее обработки корпоративной информации», Труды 13-й Международной конференции по интеграции информации и веб-приложениям и услугам - iiWAS'11, стр. 7-10, 2011.
- ^ S. Cass, «Проектирование для облака», MIT Technology Review, 2009. [Онлайн]. Доступно: https://www.technologyreview.com/s/414090/designing-for-the-cloud/. Получено 04.10.2016.
- ^ « NoSQL », Википедия, 2016. Получено 04.10.2016.
- ^ Моди, А (2017). «Динамическая миграция виртуальных машин с их локальным постоянным хранилищем в облаке с интенсивным использованием данных». Международный журнал высокопроизводительных вычислений и сетей . 10 (1): 134. doi :10.1504/IJHPCN.2017.083213.
- ^ https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data Статья в «Microsoft Azure»
- ^ Дэйв Розенберг, Действительно ли базы данных в облаке настолько отличаются?, CNET , Получено 6 ноября 2011 г.
- ^ Агравал, Ракеш и др. (2008). «Отчет Клермонта об исследовании баз данных» (PDF) . Запись SIGMOD . 37 (3): 9–19. CiteSeerX 10.1.1.211.5963 . doi :10.1145/1462571.1462573. ISSN 0163-5808. S2CID 666280.
- ^ Кен Норт, «SQL, NoSQL или SomeSQL?», Dr. Dobb's, получено 9 ноября 2011 г.
- ^ Развертывайте свои приложения и проекты баз данных в облаке, IBM.com, дата обращения 1 сентября 2011 г.
- ^ Крис Канаракус, «Ingres развертывает предложения облачных баз данных», InfoWorld , дата обращения 28.08.2011.
- ^ «Amazon Web Services анонсирует два новых сервиса баз данных — AWS Database Migration Service и Amazon RDS для MariaDB. Архивировано 01.06.2017 на Wayback Machine , пресс-релизы Amazon, получено 17.11.2015
- ^ "MariaDB Enterprise Cluster + MariaDB MaxScale Архивировано 04.12.2016 на Wayback Machine , Microsoft Azure, получено 17.11.2015
- ^ «Запуск MySQL на Amazon EC2 с EBS (Elastic Block Store), Amazon Web Services, получено 2011-11-20
- ^ Свойер, Стивен. "NuoDB: База данных для облака". TDWI. 13 ноября 2012 г. Получено 26 ноября 2012 г.
- ^ Образы машин Amazon - Oracle Database 11g Release 2 (11.2.0.1) Enterprise Edition - 64 бит. Архивировано 16 октября 2011 г. на Wayback Machine , Amazon Web Services. Получено 9 ноября 2011 г.
- ^ «База данных Oracle в облаке», Oracle.com, дата обращения 9 ноября 2011 г.
- ^ Крис Канаракус, «EnterpriseDB добавляет новую облачную опцию для базы данных PostgreSQL», PCWorld , получено 28.08.2011
- ^ "AWS | SAP HANA". Amazon Web Services, Inc. Получено 2016-07-07 .
- ^ "SAP Solutions". Microsoft Azure . Получено 2016-07-07 .
- ^ "SAP HANA Enterprise Cloud". hana.sap.com . Архивировано из оригинала 2016-08-15.
- ^ "Clustrix входит в партнерскую программу Rackspace". Yahoo! Finance . Архивировано из оригинала 2016-04-14.
- ^ Тони Бэр, «Cockroach DB представляет бессерверный уровень», ZDNet.com , дата обращения 13 декабря 2021 г.
- ^ ab EnterpriseDB#цитировать примечание-10
- ^ "Cloud SQL - MySQL Relational Database Service" . Получено 28.11.2016 .
- ^ «Анонсируем дополнение Heroku PostgreSQL Database», блог Heroku, получено 9 ноября 2011 г.
- ^ Ноэль Юханна, SQL Azure поднимает планку облачных баз данных , Forrester, получено 9 ноября 2011 г.
- ^ Pethuru, Raj (2014-03-31). Справочник по исследованиям облачных инфраструктур для аналитики больших данных. IGI Global. ISBN 9781466658653.
- ↑ Клинт Финли, «7 облачных служб баз данных». Архивировано 09.11.2011 на Wayback Machine , ReadWriteWeb , получено 9.11.2011.
- ^ «Настройка Cassandra в облаке». Архивировано 13 ноября 2015 г. на Wayback Machine , Cassandra Wiki, получено 10 ноября 2011 г.
- ^ "Блог Google Cloud Platform: Нажмите, чтобы развернуть Apache Cassandra на Google Compute Engine" . Получено 28.11.2016 .
- ^ "[1] Архивировано 11.04.2019 в Wayback Machine
- ^ "Руководство по установке виртуальной машины Clusterpoint Database Virtual Box VM. Архивировано 10.03.2015 на archive.today ", Clusterpoint, Получено 08.03.2015.
- ^ "Amazon Machine Images, CouchDB 0.10.x 32 bit Ubuntu [ постоянная неработающая ссылка ] ", Amazon Web Services, получено 10 ноября 2011 г.
- ^ "Облачный хостинг CouchDB на облачной платформе Google" . Получено 28.11.2016 .
- ^ "Amazon Machine Image, Hadoop AMI [ постоянная неработающая ссылка ] ", Amazon Web Services, получено 10 ноября 2011 г.
- ^ "Cloud Dataproc: управляемый Spark и управляемый Hadoop Service" . Получено 28.11.2016 .
- ^ ["http://www.rackspace.com/blog/cloud-big-data-platform-limited-availability/ Hadoop в Rackspace] Архивировано 02.03.2014 в Wayback Machine ", Платформы больших данных Rackspace, получено 24.02.2014.
- ^ "MarkLogic Developer 8 (HVM) на AWS Marketplace". aws.amazon.com . Получено 2016-03-31 .
- ^ marklogic.com. "Гибкое развертывание" (PDF) . Получено 28.11.2016 .
- ^ «MongoDB на Amazon EC2, MongoDB.org, получено 10 ноября 2011 г.
- ^ "Развертывание MongoDB на Google Compute Engine" . Получено 28.11.2016 .
- ^ «MongoDB на Azure. Архивировано 31 октября 2012 г. на Wayback Machine , MongoDB.org. Получено 10 ноября 2011 г.
- ^ «Простое масштабирование MongoDB в Rackspace. Архивировано 2 марта 2014 г. на Wayback Machine », Managed MongoDB ObjectRocket от Rackspace, получено 24 февраля 2014 г.
- ^ «Neo4J в облаке. Архивировано 25 сентября 2011 г. на Wayback Machine », Neo4J Wiki, получено 10 ноября 2011 г.
- ^ «Анонс Neo4J на Windows Azure», блог Neo4J, получено 10 ноября 2011 г.
- ^ Адриан Бриджуотер, «База данных NoSQL ScyllaDB в режиме реального времени, используемая «суперприложением»», Computerworld , дата обращения 27 декабря 2012 г.
- ^ Эндрю Браст, «Cloudant делает NoSQL как услугу крупнее», ZDNet , дата обращения 22.05.2012.
- ^ "DataStax Astra DB: управляемые сервисы DataStax на базе Apache Cassandra". DataStax . Получено 2022-03-07 .
- ^ "Bigtable: Масштабируемая служба баз данных NoSQL" . Получено 28.11.2016 .
- ^ "Хранилище данных: База данных NoSQL Schemaless" . Получено 28.11.2016 .
- ^ "MongoDB Atlas: Хостинг MongoDB как сервис" . Получено 2016-08-30 .
- ^ "NoSQL Database Cloud Service". Oracle Cloud . Получено 29.11.2017 .