Чтобы следовать тенденции и удовлетворить потребности облачных приложений в хранении, собственные облачные базы данных предлагают все необходимое качество в облаке. Вы должны понимать, что именно означает облачная собственная база данных, как она связана с Kubernetes и чем отличается от традиционных баз данных в конце этой статьи.

Эта статья изначально была опубликована в The Chief I / O: Что такое облачная база данных?

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

Несмотря на то, что многие базы данных могут работать в облаке, существует разница между готовностью к облаку и нативной облачностью.

Термин «нативный облачный» описывает сервисы, программное обеспечение, API-интерфейсы или базы данных, которые спроектированы и созданы для запуска и развертывания в облаке, при этом пользуясь преимуществами функций, предлагаемых облачными системами.

Собственные облачные базы данных могут работать на облачных технологиях, таких как Kubernetes, для предоставления гибкого и масштабируемого решения для хранения данных и запросов.

База данных Cloud Native и Kubernetes

Говоря о нативных облачных средах, мы должны иметь в виду контейнеры, потому что именно там выполняются нативные облачные приложения. Однако контейнеры создаются и развертываются в облаке с использованием таких технологий, как Docker и Kubernetes. Следовательно, чтобы рассматривать облако базы данных как естественное, оно должно работать в контейнерах и в то же время иметь возможность хранить данные и обеспечивать отслеживание состояния.

Сохранение и перемещение данных в облаке является серьезной проблемой, поскольку Kubernetes изначально был разработан для рабочих нагрузок без сохранения состояния. Поскольку базы данных должны сохранять данные, недавние улучшения представили в Kubernetes StatefulSets и постоянные тома, что упростило запуск рабочих нагрузок с отслеживанием состояния в Kubernetes.

Облачные базы данных используют эти улучшения, чтобы переносить базы данных в облако и пользоваться всеми преимуществами Kubernetes, включая эластичность и отказоустойчивость.

Разница между облачной и традиционной базой данных

С ростом внедрения микросервисов и контейнерных приложений существует потребность в базе данных, которая работает аналогично приложению, чтобы в полной мере использовать свои преимущества.

Традиционные базы данных, такие как MySQL и MongoDB, ограничены во многих аспектах, включая масштабируемость, безопасность и доступность. Несмотря на то, что они могут быть интегрированы с облаком, использование этих баз данных в облаке ограничивает возможность приложений пользоваться преимуществами облачных технологий.

Ниже приведены некоторые полезные характеристики облачных баз данных, которые отличают их от традиционных баз данных.

Расширенная масштабируемость

Вероятно, наиболее важной характеристикой облачной базы данных является ее способность масштабироваться с рабочими нагрузками. Собственная облачная база данных должна иметь возможность увеличивать свою емкость, чтобы динамически приспосабливаться к увеличению рабочей нагрузки.

Это позволяет организациям запускать свои приложения, не беспокоясь об ограничениях хранилища.

Эластичность

Масштабирование настолько же важно, насколько и уменьшение масштаба. Собственная облачная база данных должна иметь возможность масштабирования или уменьшения ее емкости при уменьшении рабочей нагрузки, чтобы гарантировать, что вы платите только за необходимые ресурсы, что является одним из преимуществ облака.

Устойчивость

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

Автоматизация

Запуск базы данных в Kubernetes позволяет нам систематизировать процесс развертывания облачных баз данных и управления ими для достижения автоматизации.

Доступность

В отличие от традиционных баз данных, облачной базы данных, к которой можно получить доступ только через систему развертывания, облачная база данных использует технологию распределенных баз данных, что делает ее легкодоступной.

Сниженная стоимость

Одна из доминирующих характеристик облака - это возможность платить только за те ресурсы, которые вы используете. В сочетании с гибкостью облачная база данных позволяет платить по мере использования и платить только за те ресурсы, которые вам нужны.

Простое управление базой данных

Собственная облачная база данных упрощает управление и обновление базы данных благодаря своим характеристикам, таким как автоматизация и масштабируемость.

Примеры облачной базы данных

Гаечный ключ

Spanner - это облачная реляционная база данных, разработанная Google. Он предлагает различные облачные функции, включая масштабируемость, согласованное чтение и отказоустойчивость за счет многосайтовой репликации. Это масштабируемое решение, используемое крупными компаниями, включая Uber и Lyft.

ТараканDB

CockroachDB - это технология реляционных баз данных с открытым исходным кодом, обеспечивающая высокую отказоустойчивость, масштабируемость и распределение данных. Это облачное решение для баз данных, идеально подходящее для различных случаев использования, включая управление взаимоотношениями с клиентами, финансовые транзакции и системы записи.

K8ссандра

K8ssandra - это решение для баз данных NoSQL Kubernetes, построенное на базе данных Apache Cassandra. Он предоставляет распределенное, масштабируемое, высокодоступное и готовое к работе облачное решение для собственной базы данных, которое работает на кластерах Kubernetes.

Витесс

Витесс - это облачная база данных с открытым кодом, построенная на традиционном MySQL. Vitess упрощает кластеризацию и горизонтальное масштабирование баз данных MySQL.

Vitess использует шаблон оператора Kubernetes для выполнения операций с базой данных MySQL в Kubernetes.

Это масштабируемое, расширяемое и высокоэффективное облачное решение для собственной базы данных, используемое такими крупными компаниями, как Hubspot и Slack.

Как Slack использует Витесс

Используя традиционную базу данных MySQL, Slack имел серьезные проблемы с доступностью, превышением пределов масштабирования хоста и зависанием от одной модели архитектуры данных.

База данных Slack выросла в размерах и представила новые функции, такие как Slack Connect, для чего требуется более гибкое и масштабируемое решение для базы данных.

Чтобы решить эту проблему, Slack искал Vitess, потому что он совместим с MySQL (которая была их родной базой данных); он масштабируемый, работоспособный и расширяемый, что соответствует всем требованиям их приложений.

Группа инженеров Slack создала прототип для переноса данных из традиционной базы данных в Vitess, и недавно они объявили, что переместили 99% своей базы данных в Vitess, что помогло им решить проблемы с базами данных.

Подпишитесь на наши 📬 еженедельные информационные бюллетени и следите за нами в Twitter, 📺 Youtube, 💬 Linkedin Group, 📸 Instagram и 👥 Facebook.