#firebase #google-cloud-firestore
#firebase #google-cloud-firestore
Вопрос:
Я читал это сообщение в блоге. Это заставляет меня задуматься, как обрабатывается репликация данных и отказоустойчивость в случае региональных и межрегиональных проектов баз данных. В статье упоминается, что все немного упрощено. Но я надеюсь, что в том, что говорится в статье о репликации данных, есть определенная правда.
Итак, мой вопрос:
Допустим, пользователь пишет приложение для социальных сетей, в котором пользователь из Нью-Йорка хочет просмотреть профиль пользователя из Сиднея.
-
Пример 1: Если я использую региональные базы данных для этого приложения (только региональная база данных в каждом регионе)
-
Пример 2: Если я использую межрегиональные базы данных для США и ЕС и региональные базы данных для других (Азия, Австралия)
Возможно ли пользователю из Нью-Йорка просмотреть профиль пользователя из Сиднея в случае 1, случае 2? Реплицируются ли данные по континентам в случае региональных баз данных?
Даже если вы используете базы данных с несколькими регионами, которые пока доступны только для США и ЕС. Как я понял, muti-region реплицирует данные только в регионах одного континента (NA, EU), а не между континентами. Итак, как создать приложение для социальных сетей для глобального рынка с помощью Firestore?
Комментарии:
1. Хотя вы охватываете множество актуальных тем, ваш вопрос прямо сейчас слишком широк, чтобы ответить на него достаточно кратко. Я бы рекомендовал ограничить область, чтобы она стала подотчетной. Хорошим признаком этого является наличие одного вопроса с одним вопросительным знаком, предпочтительно в конце вопроса. Например: «Возможно ли для пользователя NY просмотреть профиль пользователя Sydney, если я использую несколько региональных баз данных?» является полностью допустимым и понятным. Кстати, ответ «да». «Облачный Firestore приносит вам… автоматическая репликация данных в нескольких регионах»: firebase.google.com/docs/firestore
2. Если я уберу эти мелкие вопросы, это сделает вопрос неполным. Думайте об этих небольших вопросах как о быстром ответе на общий вопрос
3. @FrankvanPuffelen обновил вопрос, чтобы он был более конкретным.
4. Пожалуйста, укажите свой код @user158
5. @Programmer нет никакого кода, я хочу знать, как все работает? люди по всему миру обращаются к одной и той же базе данных, что приводит к высокой задержке для некоторых. Или данные реплицируются ли по континентам?
Ответ №1:
Данные Cloud Firestore могут храниться с использованием многорегионального расположения или регионального расположения. Использование «многорегиональных местоположений» просто означает хранение данных в нескольких регионах, расположенных на одном континенте. ЕС и США — это два единственных варианта. Это означает, что вы не можете располагать данными, близкими ко всем пользователям по всему миру.
Ответ №2:
Когда вы создаете базу данных Firestore в проекте, вы можете выбрать, следует ли:
-
Храните данные в одном региональном расположении.
В этом случае данные хранятся в нескольких центрах обработки данных в одном географическом регионе. Например:
us-east4
, какие центры обработки данных находятся в Северной Вирджинии. -
Храните данные в расположениях нескольких регионов.
В этом случае данные хранятся в нескольких центрах обработки данных в нескольких географических регионах. Например:
nam5/us-central
, которые являются центрами обработки данных по всей территории США.
Подробнее об этом см. Документацию по типам местоположений.
Вам нужно будет выбрать один из этих параметров при создании базы данных. Таким образом, вы не можете выбрать сочетание местоположений в нескольких регионах и в одном регионе.
Все пользователи вашего приложения получают доступ к одним и тем же данным. Когда данные записываются, они автоматически реплицируются во всех центрах обработки данных в регионе (ах).
Комментарии:
1. Итак, если мы создадим базу данных с несколькими регионами в США, это означает, что пользователю в Сиднее придется работать с базой данных в США, что приведет к увеличению задержки? не могли бы вы рассказать, пожалуйста
2. Вы правы @user158: Использование «многорегиональных местоположений» просто означает, что используется несколько регионов, расположенных на одном континенте. Похоже, что выбор за ЕС и США. Это означает, что у вас не может быть данных, близких ко всем пользователям глобально. Есть статья о задержке Firestore и веб-страница для проверки задержки в вашем местоположении: dev.to/dbanisimov /…
3. Мультирегиональность просто означает несколько регионов в пределах большой географической области, но не между континентами. Вы можете разместить данные в Австралии, но тогда пользователи в США получат более высокую задержку.
4. @RunarJordahl пожалуйста, найдите время, чтобы написать ответ на этот вопрос, указав при этом свои ресурсы.