Google Cloud Spanner наконец-то стал общедоступным
Google официально выпустила для широкой публики свой Cloud Spanner, региональную службу базы данных, которую они используют уже много лет. Google утверждает, что это «первая и единственная служба реляционной базы данных, которая является строго согласованной и масштабируемой по горизонтали».
Что отличает Cloud Spanner?
По сути, Google сделал так, что администраторам баз данных больше не нужно выбирать. По мере того, как проекты становятся больше, это становится выбором между базой данных, которая допускает большое масштабирование, а также распределением данных, таким как NoSQL, или базой данных, обеспечивающей согласованность транзакций.
Теперь можно иметь и то, и другое в одной полностью управляемой службе. Администраторам и разработчикам нужны преимущества как глобальной масштабируемости, так и согласованности, и Spanner создан именно для этого.
Кроме того, Google знает, что многие пользователи перейдут на Spanner при переходе с другого сервиса, поэтому у компании есть меры, чтобы упростить переход. Например, администраторам не нужно будет начинать с самого начала, чтобы изучить другой синтаксис. Вместо этого Cloud Spanner использует синтаксис SQL и предлагает ACID-транзакции, поэтому большинство предыдущих знаний можно легко перенести.
Таким образом, Cloud Spanner дает пользователям все, что они ожидают от реляционной базы данных, например транзакции ACID, реляционные схемы или изменения схемы без простоев, семантику SQL, высокую производительность и высокую доступность.
В дополнение к традиционным функциям, Spanner также масштабируется по горизонтали. Это означает, что он может работать с самыми высокими транзакционными рабочими нагрузками за счет масштабирования до сотен или тысяч серверов.
Согласно Google, «благодаря автоматическому масштабированию, синхронной репликации данных и резервированию узлов Cloud Spanner обеспечивает до 99,999% доступности для ваших критически важных приложений».
Как говорится, доказательство в пудинге. Одним из способов, которым Google подтверждает это утверждение о Cloud Spanner, является тот факт, что их внутренняя служба Spanner уже много лет обрабатывает миллионы запросов в секунду для нескольких служб Google.
Таким образом, Cloud Spanner, вероятно, является отличной альтернативой для тех разработчиков, которым необходимо отказаться от традиционных региональных баз данных и их ограничений, но при этом сохранить все функции. Cloud Spanner с практически бесконечным пределом масштабируемости и возможностью выполнять глобальные транзакции может быть хорошим вариантом как для больших, так и для небольших баз данных.
Если вы разработчик с такой системой, как MySQL или PostgreSQL, которую невозможно масштабировать в соответствии с вашими потребностями, или вы не можете работать с базой данных без согласованности, требующей ручных транзакций, Cloud Spanner может стать вашим решением.
Почему Google создал Cloud Spanner?
Cloud Spanner на самом деле существует уже довольно давно. Google устал выбирать между двумя базами данных для функций, которые они хотели включить, поэтому они создали обе основные функции в одном варианте.
Традиционные базы данных могли создавать приложения, которые в достаточной степени удовлетворяли потребности тех, кому не требовалась большая масштабируемость и использовалась реляционная модель данных и SQL-запросы. Решения NoSQL, с другой стороны, могли обрабатывать очень большие масштабы с быстрой обработкой данных, но им не хватало согласованности традиционной базы данных.
Учитывая это, инженеры и исследователи Google стремились найти решение для этой проблемы, которое было распространено по всему миру еще в 2007 году. Исследовательская работа Spanner достигла внешнего мира в 2012 году, и после многих лет внутренних испытаний по всему миру она, наконец, доступна для общественный.
Согласно сообщению в блоге Google, эта комбинация функций возможна без нарушения теоремы CAP, которая объясняется здесь, если вам нужна дополнительная информация.
Cloud Spanner, также указанный в блоге Google, «поддерживает десятки миллионов запросов в секунду и запускает некоторые из наших наиболее важных сервисов, включая AdWords и Google Play».
Изучение возможностей Cloud Spanner
Масштаб и согласованность
Как уже упоминалось, его главное преимущество заключается в том, что больше не нужно выбирать между масштабом и согласованностью. Cloud Spanner обслуживает данные с «задержкой в однозначные миллисекунды», сохраняя при этом согласованность транзакций и высокую доступность.
Он масштабируется горизонтально в пределах регионов и планирует расшириться до межрегиональной репликации позже в этом году, и при масштабировании нет необходимости в миграции с реляционных баз данных на базы данных NoSQL. Причина, по которой пользователи стекаются к Spanner, заключается в том, что нет необходимости в сложном сегментировании или кластеризации при масштабировании.
Не нужно беспокоиться об инфраструктуре
Cloud Spanner уже полностью управляется и создается для облака, поэтому ИТ-специалистам не нужно будет тратить свое время на управление аппаратным и программным обеспечением.
Cloud Spanner имеет автоматическую синхронную репликацию и сегментирование, поэтому вы можете уделять больше времени реальному приложению или масштабированию ваших решений СУБД. Они гарантируют высокую доступность и защиту от аварий для всех ваших приложений без временных затрат на разработку таких вещей, как отказоустойчивая инфраструктура.
Безопасность и шифрование по умолчанию
У Google довольно сомнительная история в отношении конфиденциальности, но его безопасность обычно выдерживает испытания. С Cloud Spanner вы получаете целый набор инструментов, созданных и протестированных Google, многие из которых уже используются годами.
С Spanner вы получаете шифрование Google по умолчанию при передаче и хранении, чтобы вы могли чувствовать себя в безопасности со своими данными. Кроме того, они предлагают «детализированное управление идентификацией и доступом, комплексное ведение журналов аудита, специально изготовленное оборудование, отслеживание и утилизацию оборудования, а также глобальную сеть, контролируемую рекламой, принадлежащую Google».
Существует довольно много приложений, которые обеспечивают безопасность ваших данных. Не стесняйтесь ознакомиться с обзором дизайна безопасности инфраструктуры Google, если вы заинтересованы в более подробном изучении этой части Cloud Spanner.
Доступно для нескольких языков
Cloud Spanner позволяет разработчикам придерживаться того, что они знают лучше всего, сохраняя инструменты и среду простыми и похожими на то, к чему они привыкли. Это приложение поддерживает «распределенные транзакции, схемы и операторы DDL, запросы SQL и драйверы JDBC». Не только это, но и клиентские библиотеки доступны для многих популярных языков программирования, таких как Java, Go, Python и Node.js.
Цены
У Cloud Spanner есть модель ценообразования, которая взимает плату только за то, что вы используете, увеличивая или уменьшая масштаб по мере необходимости. По сути, вы платите за количество узлов Cloud Spanner, которые у вас есть в вашем проекте, объем хранилища, который вы используете для своих таблиц и вторичных индексов, а также объем используемой пропускной способности сети.
Стоимость узла в час составляет 0,90 доллара США, хранилище за ГБ в месяц — 0,30 доллара США, а сетевые тарифы зависят от местоположения и используемого объема. Для получения более подробной информации ознакомьтесь с разделом цен на их веб-сайте. Если у вас уже есть представление о деталях вашего проекта, используйте этот калькулятор цен, чтобы получить лучшее представление.