Spec-Zone.ru › Deno 2

KV на Deno Deploy

Deno Deploy теперь предлагает встроенную бессерверную базу данных ключей-значений, называемую Deno KV.

Кроме того, Deno KV доступна непосредственно в Deno, используя SQLite в качестве бэкенда. Эта функция доступна с версии Deno v1.32 с флагом --unstable. Подробнее об Deno KV.

Согласованность

Deno KV по умолчанию — это база данных со строгой согласованностью. Она обеспечивает самый строгий вид сильной согласованности, называемый внешней согласованностью, что подразумевает:

  • Сериализуемость: Это самый высокий уровень изоляции для транзакций. Он гарантирует, что одновременное выполнение нескольких транзакций приводит к состоянию системы, которое было бы таким же, как если бы транзакции выполнялись последовательно, одна за другой. Другими словами, конечный результат сериализуемых транзакций эквивалентен некоторому последовательному порядку этих транзакций.
  • Линейность: Эта модель согласованности гарантирует, что операции, такие как чтение и запись, кажутся мгновенными и происходят в реальном времени. После завершения операции записи все последующие операции чтения немедленно возвращают обновленное значение. Линейность обеспечивает сильную временную упорядоченность операций, что делает систему более предсказуемой и более понятной.

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

Ниже приведены значения задержки, наблюдаемые в наших основных регионах:

Регион Задержка (Случайная согласованность) Задержка (Сильная согласованность)
Северная Вирджиния (us-east4) 7 мс 7 мс
Франкфурт (europe-west3) 7 мс 94 мс
Нидерланды (europe-west4) 13 мс 95 мс
Калифорния (us-west2) 72 мс 72 мс
Гонконг (asia-east2) 42 мс 194 мс

Распределённые очереди

Бессерверные распределённые очереди доступны на Deno Deploy. Подробнее см. Очереди на Deno Deploy.

Подключение к управляемым базам данных извне Deno Deploy

Вы можете подключиться к базе данных Deno Deploy KV из своего приложения Deno за пределами Deno Deploy. Для открытия управляемой базы данных установите переменную среды DENO_KV_ACCESS_TOKEN на токен доступа к личному профилю Deno Deploy и предоставьте URL базы данных Deno.openKv:

const kv = await Deno.openKv(
  "https://api.deno.com/databases/<database-id>/connect",
);

Для получения спецификации протокола подключения к удаленной базе данных KV обратитесь к документации.

Распределение данных

Базы данных Deno KV реплицируются как минимум в 6 дата-центрах, охватывающих 3 региона (США, Европа и Азия). После подтверждения операции записи ее изменения сохраняются постоянно как минимум в двух дата-центрах в основном регионе. Асинхронная репликация обычно передает эти изменения в другие два региона за время менее 10 секунд.

Система разработана для переносимости большинства отказов на уровне дата-центров без простоев или потери данных. Цели восстановления точки (RPO) и цели восстановления времени (RTO) помогают количественно оценить устойчивость системы в различных режимах сбоев. RPO представляет собой максимальное допустимое количество потерь данных, измеряемое во времени, а RTO указывает максимальное допустимое время, необходимое для восстановления системы до нормальной работы после сбоя.

  • Потеря одного дата-центра в основном регионе: RPO=0 (нет потери данных), RTO<5s (восстановление системы за менее чем 5 секунд)
  • Потеря любого количества дата-центров в регионе реплик: RPO=0, RTO<5s
  • Потеря двух или более дата-центров в основном регионе: RPO<60s (менее 60 секунд потерь данных)

© 2018–2024 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/deploy/kv/manual/on_deploy

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API