【问题标题】:Is Cloud Firestore data replicated over continents?Cloud Firestore 数据是否跨大陆复制?
【发布时间】:2019-03-28 02:07:28
【问题描述】:

我正在阅读this blog post。这让我想知道在区域和多区域数据库项目的情况下如何处理数据复制和故障转移。文章提到事情有点过于简单了。但我希望这篇文章中关于数据复制的观点有一定的道理。

所以我的问题是:

假设用户正在编写一个社交媒体应用,纽约的用户想要查看悉尼用户的个人资料。

  • 案例 1:如果我为此应用使用区域数据库(每个区域仅使用区域数据库)

  • 案例 2:如果我为美国和欧盟使用多区域数据库,为其他国家(亚洲、澳大利亚)使用区域数据库

NY 用户是否可以在案例 1、案例 2 中查看悉尼用户的个人资料?区域数据库案例中的数据是否跨大陆复制?

即使您使用目前仅适用于美国和欧盟的多区域数据库。据我了解,多区域仅在同一大陆(NA,EU)的区域内复制数据,而不是在大陆之间。那么如何使用 Firestore 打造面向全球市场的社交媒体应用呢?

【问题讨论】:

  • 虽然您涵盖了很多有效的主题,但您现在的问题过于宽泛,无法以合理简洁的方式回答。我建议限制范围,以便它可以回答。一个很好的指示是有一个带有单个问号的问题,最好是在问题的末尾。例如:“如果我使用多个区域数据库,NY 用户是否可以查看 Sydney 用户的个人资料?”是完全有效和明确的。顺便说一句,答案是“是”。 “Cloud Firestore 为您带来...自动多区域数据复制”:firebase.google.com/docs/firestore
  • 如果我拿走那些小问题,就会使问题不完整。将这些小问题视为对整体问题的快速回答
  • @FrankvanPuffelen 将问题更新为更具体。
  • 请提供您的代码@user158
  • @Programmer 没有任何代码,我想知道它是如何工作的?世界各地的人都在使用同一个数据库,这对某些人来说会导致高延迟。或者数据是否在各大洲复制?

标签: firebase google-cloud-firestore


【解决方案1】:

可以使用multi-region location or a regional location 存储 Cloud Firestore 数据。使用“多区域位置”仅仅意味着将数据存储在位于同一大陆的多个区域。 EU and US are the two only choices。这意味着您无法在全球范围内拥有接近所有用户的数据。

【讨论】:

    【解决方案2】:

    当您在项目中创建 Firestore 数据库时,您可以选择是否:

    1. 将数据存储在单个区域位置。

      在这种情况下,数据存储在单个地理区域的多个数据中心中。例如:us-east4,它们是北弗吉尼亚州的数据中心。

    2. 将数据存储在多区域位置。

      在这种情况下,数据存储在跨多个地理区域的多个数据中心。例如:nam5/us-central,它们是整个美国的数据中心。

    有关这方面的更多信息,请参阅location types 上的文档。

    创建数据库时,您必须选择其中一个选项。因此,您不能同时选择多区域和单区域位置。

    您应用的所有用户都访问相同的数据。写入数据时,它会自动复制到区域中的所有数据中心。

    【讨论】:

    • 所以如果我们在美国创建一个多区域数据库,这意味着悉尼的用户必须使用美国的数据库,这会导致更高的延迟?你能告诉我吗
    • 你是对的@user158:使用“多区域位置”仅仅意味着使用位于同一大陆的多个区域。欧盟和美国似乎是选择。这意味着您无法在全球范围内拥有接近所有用户的数据。有一篇关于 Firestore 延迟的文章和一个网页来测试您所在位置的延迟:dev.to/dbanisimov/…
    • 多区域只是指一个大地理区域内的多个区域,而不是跨大陆。您可以将数据放在澳大利亚,但美国的用户会得到更高的延迟。
    • @RunarJordahl 请花时间为这个问题写一个答案,同时引用你的资源。
    猜你喜欢
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-15
    • 1970-01-01
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    相关资源
    最近更新 更多