如何在firebase中构造数据以使大型数据库非常快速

如何在firebase中构造数据以使大型数据库非常快速,firebase,firebase-realtime-database,Firebase,Firebase Realtime Database,我的名字都是乔治,今天我面临着firebase的一个大问题。 有人能告诉我如何在firebase中构建大型应用程序的数据库吗 我有一个来自MongoDB的数据库,有50mb的数据,我是如何构造Firebase数据库来为用户提供快速服务的 我的数据库模式是这样的。 您正在寻找数据非规范化。简单地说,复制数据以简化和减少查询。请从数据库团队中查看这一点 数据复制可以使用云功能在服务器端完成。请在上查看此视频 基本上,当您写入数据库时,您的云函数将为您触发数据并将其复制到数据库的不同部分。这将减少客户

我的名字都是乔治,今天我面临着firebase的一个大问题。 有人能告诉我如何在firebase中构建大型应用程序的数据库吗

我有一个来自MongoDB的数据库,有50mb的数据,我是如何构造Firebase数据库来为用户提供快速服务的

我的数据库模式是这样的。
您正在寻找数据非规范化。简单地说,复制数据以简化和减少查询。请从数据库团队中查看这一点

数据复制可以使用云功能在服务器端完成。请在上查看此视频

基本上,当您写入数据库时,您的云函数将为您触发数据并将其复制到数据库的不同部分。这将减少客户端的工作量


复制数据的方式可以减少或简化对数据库的查询。它有助于扁平化大型结构,并帮助您仅下载所需的快照数据。

这完全取决于您正在处理的功能。使用“fast”一词充其量是模棱两可的,取决于您、internet连接和许多其他变量。您的结构没有问题,老实说,50Mb的数据并不多。您当前遇到的速度有问题吗?如果是这样,请发布您的代码-否则无法回答问题。不,我发现我需要在firebase rules thanx@Jay上添加索引以供您的帮助nx James是的,这就是我想要的。@George我认为这不会提供解决方案。你问题中的结构是非规范化的,复制数据可能没有帮助。事实上,一个10万个项目的列表并没有那么多数据,所以查询一个项目或直接访问它(使用您的结构)应该是非常即时的。底线这并不是对你问题的真正回答——它确实有很好的数据点,但不是一个具体的答案。
"firebase_database" : {

  // 20000 users

  "users" : {
    "user1" : {
      "name" : "some name"
    },
    "user2" : {
      "name" : "some name"
    },
    "user3" : {
      "name" : "some name"
    }
  },


  // 500 categories

  "kategories" : {
        "category1" : {
          "name" : "some name"
        },
        "category2" : {
          "name" : "some name"
        },
        "category3" : {
          "name" : "some name"
        }
      },


  // 100.000 products

  "products" : {
    "product1" : {
      "name" : "some name",
      "product_category" : "category1"
    },
    "product2" : {
      "name" : "some name",
      "product_category" : "category2"
    },
    "product3" : {
      "name" : "some name",
      "product_category" : "category1"
    }
  }

}