Google выпустила автономный эмулятор для Cloud Spanner, его глобально распределенной и строго согласованной службы баз данных, созданной для облака. Эмулятор призван сделать Cloud Spanner более доступным для более широкого сообщества разработчиков.
Google описывает Spanner как сочетание лучших реляционных баз данных и баз данных NoSQL — масштабируемых, распределенных, но поддерживающих транзакции ACID и запросы SQL. Spanner используется внутри Google для многих приложений Google, включая Gmail, Фото и Календарь. Он доступен как база данных как сервис, работающий в Google Cloud.
Внутренняя реализация Spanner в Google — это самая большая база данных в мире, охватывающая все центры обработки данных Google — отсюда и название Spanner. Описывая это в исследовательской работе 2012 года, исследователи Google заявили, что:
«На самом высоком уровне абстракции это база данных, которая разделяет данные на множество наборов конечных автоматов Paxos в центрах обработки данных, разбросанных по всему миру. Репликация используется для обеспечения глобальной доступности и географической локализации; клиенты автоматически переключаются между репликами. перераспределяет данные между машинами по мере изменения объема данных или количества серверов и автоматически переносит данные между машинами (даже между центрами обработки данных) для балансировки нагрузки и в ответ на сбои. Spanner предназначен для масштабирования до миллионов машин на сотнях центры обработки данных и триллионы строк базы данных «.
Google заявляет, что Spanner стал свидетелем «огромного принятия клиентов в нескольких различных отраслях и вертикалях», что привело к созданию большого сообщества разработчиков приложений, использующих Cloud Spanner. Это рынок, на который нацелен автономный эмулятор. Он предназначен для снижения затрат на разработку приложений и повышения производительности разработчиков для клиентов.
Эмулятор предоставляет локальный эмулятор службы Spanner в памяти, который можно использовать для создания прототипов, разработки и локального тестирования приложений. Данные хранятся в памяти, поэтому не сохраняются при выполнении. Когда приложение работает с эмулятором, все, что вам нужно сделать, это изменить конфигурацию конечной точки для выполнения сквозного тестирования.
Эмулятор Cloud Spanner поставляется с полным набором API Spanner, включая функции SQL и DDL, которые можно запускать локально для создания прототипов, разработки и тестирования. Вы можете выполнить запрос метаданных схемы для базы данных с помощью информационной схемы. API-интерфейсы REST и gRPC поддерживаются и могут использоваться с существующими клиентскими библиотеками, драйвером OSS JDBC, а также с Cloud SDK. Эмулятор изначально поддерживается Linux и требует Docker на платформах MacOS и Windows. IDE, такие как IntelliJ и Eclipse, можно настроить для прямого взаимодействия с конечной точкой эмулятора Cloud Spanner.
Google планирует продолжить создание и поддержку функций, запрошенных клиентами. Эмулятор Cloud Spanner доступен на GitHub.