Глобальная платформа электронной коммерции, требующая ACID-транзакций, строгой согласованности и 99.999% доступности на нескольких континентах.
→Cloud Spanner с многорегиональной конфигурацией (например, nam-eur-asia).
Почему: Spanner — единственный управляемый сервис GCP, обеспечивающий глобально распределенные, строго согласованные ACID-транзакции в масштабе с SLA 99.999%.
Источник↗
Миграция крупной, высокопроизводительной Oracle OLTP базы данных со сложными хранимыми процедурами и потребностями в аналитических запросах.
→AlloyDB for PostgreSQL.
Почему: AlloyDB предлагает превосходную производительность PostgreSQL, функции совместимости с Oracle и columnar engine для ускорения аналитических запросов (HTAP) без влияния на транзакционные рабочие нагрузки.
Источник↗
Высокопроизводительный (миллионы операций в секунду) прием временных рядов данных (например, IoT, журналы), требующий чтений с низкой задержкой и автоматического истечения срока действия данных.
→Cloud Bigtable с дизайном ключа строки `(entity_id)#(reverse_timestamp)` и политикой сбора мусора.
Почему: Bigtable разработан для крупномасштабных рабочих нагрузок ключ/значение с низкой задержкой. Обратная метка времени в ключе строки совместно размещает недавние данные для эффективного сканирования. Сбор мусора управляет TTL.
Источник↗
Мобильное или веб-приложение, требующее гибкой схемы, синхронизации данных в реальном времени с клиентами и поддержки работы в автономном режиме.
→Firestore в Native Mode.
Почему: Firestore специально разработан для этого паттерна serverless app backend, предоставляя слушателей в реальном времени и автономное сохранение через свои клиентские SDKs из коробки.
Источник↗
Поиск схожести в больших масштабах (более 10 миллионов векторов) для приложений AI/ML (например, RAG, рекомендации), требующий задержки менее 100 мс.
→AlloyDB for PostgreSQL с расширением pgvector и индексом ScaNN.
Почему: AlloyDB интегрирует высокопроизводительный алгоритм Google ScaNN для поиска ближайших соседей (ANN), превосходящий стандартные реализации векторного поиска в масштабе.
Разработка схемы Cloud Spanner для рабочей нагрузки с большим количеством записей, чтобы предотвратить "горячие точки" на одном сервере.
→Проектируйте первичные ключи, которые не используют монотонно возрастающие значения (например, последовательные ID, метки времени) в качестве первой части ключа. Вместо этого используйте UUIDs, хешированные значения или битовые инвертированные последовательности.
Почему: Spanner распределяет данные лексикографически по первичному ключу. Последовательные ключи направляют все записи в один сплит, создавая "горячую точку". Случайно распределенные ключи распределяют записи по всем сплитам.
Источник↗
Схема Spanner имеет сильную связь "родитель-потомок" (например, Customers и Orders), и запросы часто извлекают родителя со всеми его потомками.
→Используйте чередующиеся таблицы (interleaved tables), определяя дочернюю таблицу с `INTERLEAVE IN PARENT`.
Почему: Чередование физически размещает дочерние строки рядом с родительской строкой в хранилище. Это делает соединения "родитель-потомок" чрезвычайно эффективными, поскольку они превращаются в высокооптимизированное сканирование диапазона в одном сплите.
Отслеживание местоположения в реальном времени для огромного автопарка (более 50 тыс. записей/сек) с запросами для поиска транспортных средств в определенной географической области.
→Cloud Bigtable с ключом строки, предваренным GeoHash местоположения транспортного средства.
Почему: Bigtable обрабатывает экстремальную пропускную способность записи. Кодирование GeoHash преобразует 2D-координаты в 1D-строку, где префиксы представляют географическую близость, что позволяет эффективно сканировать геопространственные диапазоны.
Хранение и анализ данных петабайтного масштаба (например, геномные данные, журналы) с помощью сложных аналитических SQL-запросов.
→Храните необработанные данные в Cloud Storage и запрашивайте их непосредственно из BigQuery с использованием внешних таблиц, или загружайте в собственное хранилище BigQuery.
Почему: BigQuery — это serverless хранилище данных, созданное для аналитики петабайтного масштаба. Разделение хранения и вычислений обеспечивает беспрецедентную производительность запросов и экономическую эффективность для OLAP-нагрузок.
Высокодоступный in-memory кэш для сложных структур данных (хеши, множества) с возможностями pub/sub для инвалидации кэша.
→Memorystore for Redis Standard Tier с репликами для чтения.
Почему: Standard Tier обеспечивает SLA 99.9% с автоматическим переключением при сбое. Redis поддерживает сложные типы данных и pub/sub, в отличие от Memcached. Реплики для чтения могут масштабировать пропускную способность чтения.
Разработка многопользовательского SaaS-приложения на Spanner, требующего сильной изоляции данных и гарантий производительности для каждого клиента.
→Используйте tenant_id в качестве первого компонента первичного ключа для всех таблиц. Для более сильной изоляции используйте модель "база данных на клиента" в рамках одного экземпляра Spanner.
Почему: Префикс tenant_id естественным образом совместно размещает все данные одного клиента, оптимизируя запросы и позволяя Spanner разделять данные по клиентам. Модель "база данных на клиента" обеспечивает сильнейшую логическую изоляцию.