Облачная база данных
Облачная база данных — это база данных , которая обычно работает на платформе облачных вычислений , и доступ к базе данных предоставляется как услуга. Существует две распространенные модели развертывания: пользователи могут запускать базы данных в облаке независимо, используя образ виртуальной машины , или они могут приобрести доступ к службе базы данных, поддерживаемой поставщиком облачных баз данных. Из баз данных, доступных в облаке, некоторые основаны на 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).
Развертывание виртуальной машины | База данных как услуга | |
---|---|---|
Модель данных SQL |
| |
Модель данных NoSQL |
|
|
См. также [ править ]
Ссылки [ править ]
- ^ Хван, Г.; Фу, С. (май 2016 г.). «Доказательство нарушения доверия и подотчетности систем облачных баз данных» . 2016 16-й Международный симпозиум IEEE/ACM по кластерным, облачным и грид-вычислениям (CCGrid) . стр. 425–433. дои : 10.1109/CCGrid.2016.27 . ISBN 978-1-5090-2453-7 . S2CID 18373753 .
- ↑ Перейти обратно: Перейти обратно: а б с Чао, Ли (2014). Разработка и управление облачными базами данных . Бока-Ратон: Тейлор и Фрэнсис. ISBN 978-1-4665-6506-7 . OCLC 857081580 .
- ↑ Перейти обратно: Перейти обратно: а б Макхейни, Роджер (2021). Облачные технологии: обзор технологий облачных вычислений для менеджеров . Хобокен, Нью-Джерси. ISBN 978-1-119-76951-4 . OCLC 1196822611 .
{{cite book}}
: CS1 maint: отсутствует местоположение издателя ( ссылка ) - ^ Сакр, Шериф (июнь 2014 г.). «Облачные базы данных: технологии, проблемы и возможности» . Кластерные вычисления . 17 (2): 487–502. дои : 10.1007/s10586-013-0290-7 . ISSN 1386-7857 . S2CID 254370104 .
- ^ А. Анджомшоа и А. Тхоа, «Как парадигма облачных вычислений может сформировать будущее обработки корпоративной информации» , Материалы 13-й Международной конференции по интеграции информации, веб-приложениям и услугам - iiWAS'11, стр. 7- 10, 2011.
- ^ С. Касс, «Проектирование для облака», MIT Technology Review, 2009. [Онлайн]. Доступно: https://www.technologyreview.com/s/414090/designing-for-the-cloud/ . Проверено 4 октября 2016 г.
- ^ « NoSQL », Arc.Ask3.Ru, 2016. Проверено 4 октября 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 . дои : 10.1145/1462571.1462573 . ISSN 0163-5808 . S2CID 666280 .
- ^ Кен Норт, « SQL, NoSQL или SomeSQL? », Доктор Доббс, дата обращения 9 ноября 2011 г.
- ^ Разверните приложения и проекты баз данных в облаке , IBM.com, дата обращения 1 сентября 2011 г.
- ^ Крис Канаракус, « Ingres представляет предложения облачных баз данных », InfoWorld , дата обращения 28 августа 2011 г.
- ^ « Amazon Web Services анонсирует две новые службы баз данных - службу миграции баз данных AWS и Amazon RDS для MariaDB. Архивировано 1 июня 2017 г. на Wayback Machine , пресс-релизы Amazon, получены 17 ноября 2015 г.
- ^ " Корпоративный кластер MariaDB + MariaDB MaxScale. Архивировано 4 декабря 2016 г. на Wayback Machine , Microsoft Azure, получено 17 ноября 2015 г.
- ^ " Запуск MySQL на Amazon EC2 с помощью EBS (Elastic Block Store) , Amazon Web Services, получено 20 ноября 2011 г.
- ^ Свойер, Стивен. «NuoDB: база данных для облака». ТДВИ. 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 августа 2011 г.
- ^ «AWS | SAP HANA» . Amazon Веб-сервисы, Inc. Проверено 7 июля 2016 г.
- ^ «САП Решения» . Microsoft Azure . Проверено 7 июля 2016 г.
- ^ «Корпоративное облако SAP HANA» . hana.sap.com . Архивировано из оригинала 15 августа 2016 г.
- ^ «Clustrix вступает в партнерскую программу Rackspace» . Yahoo! Финансы . Архивировано из оригинала 14 апреля 2016 г.
- ^ Тони Баер, « База данных Cockroach представляет бессерверный уровень », ZDNet.com , дата обращения 13 декабря 2021 г.
- ↑ Перейти обратно: Перейти обратно: а б EnterpriseDB#цитируйте примечание-10
- ^ «Cloud SQL — служба реляционных баз данных MySQL» . Проверено 28 ноября 2016 г.
- ^ « Анонсируем надстройку базы данных Heroku PostgreSQL », блог Heroku, дата обращения 9 ноября 2011 г.
- ^ Ноэль Юханна, SQL Azure поднимает планку облачных баз данных , Forrester, дата обращения 9 ноября 2011 г.
- ^ Петуру, Радж (31 марта 2014 г.). Справочник по исследованиям облачных инфраструктур для анализа больших данных . IGI Global. ISBN 9781466658653 .
- ^ Клинт Финли, «7 облачных служб баз данных». Архивировано 9 ноября 2011 г. на Wayback Machine , ReadWriteWeb , Проверено 9 ноября 2011 г.
- ^ « Настройка Cassandra в облаке. Архивировано 13 ноября 2015 г. в Wayback Machine », Cassandra Wiki, дата обращения 10 ноября 2011 г.
- ^ «Блог Google Cloud Platform: нажмите, чтобы развернуть Apache Cassandra в Google Compute Engine» . Проверено 28 ноября 2016 г.
- ^ " [1] Архивировано 11 апреля 2019 г. на Wayback Machine.
- ^ « Руководство по установке виртуальной машины Virtual Box базы данных Clusterpoint. Архивировано 10 марта 2015 г. на archive.today », Clusterpoint, Проверено 8 марта 2015 г.
- ^ " Образы машин Amazon, CouchDB 0.10.x 32-битная Ubuntu [ постоянная мертвая ссылка ] ", Amazon Web Services, дата обращения 10 ноября 2011 г.
- ^ «Облачный хостинг CouchDB на облачной платформе Google» . Проверено 28 ноября 2016 г.
- ^ " Образ машины Amazon, Hadoop AMI [ постоянная мертвая ссылка ] ", Amazon Web Services, дата обращения 10 ноября 2011 г.
- ^ «Облачный Dataproc: управляемый Spark и управляемый сервис Hadoop» . Проверено 28 ноября 2016 г.
- ^ [" http://www.rackspace.com/blog/cloud-big-data-platform-limited-availability/ Hadoop в Rackspace] Архивировано 2 марта 2014 г. на Wayback Machine ", Rackspace Big Data Platforms, получено в 2014 г. -02-24.
- ^ «MarkLogic Developer 8 (HVM) на AWS Marketplace» . aws.amazon.com . Проверено 31 марта 2016 г.
- ^ marklogic.com. «Гибкое развертывание» (PDF) . Проверено 28 ноября 2016 г.
- ^ " MongoDB на Amazon EC2 , MongoDB.org, дата обращения 10 ноября 2011 г.
- ^ «Развертывание MongoDB в Google Compute Engine» . Проверено 28 ноября 2016 г.
- ^ " MongoDB в Azure. Архивировано 31 октября 2012 г. на Wayback Machine , MongoDB.org, Проверено 10 ноября 2011 г.
- ^ « Легкое масштабирование MongoDB в Rackspace. Архивировано 2 марта 2014 г. на Wayback Machine », 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 мая 2012 г.
- ^ «DataStax Astra DB: управляемые сервисы DataStax на базе Apache Cassandra» . ДатаСтакс . Проверено 7 марта 2022 г.
- ^ «Bigtable: масштабируемая служба баз данных NoSQL» . Проверено 28 ноября 2016 г.
- ^ «Хранилище данных: бессхемная база данных NoSQL» . Проверено 28 ноября 2016 г.
- ^ «Атлас MongoDB: размещенная MongoDB как услуга» . Проверено 30 августа 2016 г.
- ^ «Облачный сервис баз данных NoSQL» . Облако Оракул . Проверено 29 ноября 2017 г.