如何在大型数据库的firebase中构建数据非常快

时间:2017-06-11 12:11:11

标签: firebase firebase-realtime-database

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

我有一个来自MongoDB的数据库,是50mb的数据,如何构建Firebase数据库以便用户快速。

我的数据库架构是这样的。

"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"
    }
  }

}

1 个答案:

答案 0 :(得分:0)

您正在寻找数据非规范化。简单地说,复制数据以简化和减少查询。从数据库小组中查看此Youtube Video

可以使用云功能在服务器端完成数据复制。在Cloud Function Triggers for Database writes上查看此视频。

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

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