实时数据库与 Firestore
实时数据库:
- Firebase 是一个实时数据库,它是一个JSON 数据存储区。
- 它完全是非结构化的,这是一种祝福和诅咒。
- 它是 Firebase 的第一个也是原始的基于云的数据库。
- 这 实时数据库表现出非常低的延迟。
- Firebase 数据库规则是实时数据库的唯一安全选项。
- 使实时数据库流行的原因是其出色的客户端库。客户端库让您可以从您的应用程序(无论是 Web、Android 还是 iOS)直接连接到数据库,这样您就可以将 JSON 直接保存到实时数据库而无需对其进行任何转换,并且您可以通过实时更改检测快速取回数据。实时数据库使我们的生活变得如此轻松。
火库:
- Firestore 旨在与实时数据库一起工作,使用 Firestore 并不意味着放弃实时数据库,但您可能会发现它更适合大多数任务。
- Firestore 被认为是下一代实时数据库。
- 它有很棒的客户端库。
- 它具有安全规则,可与 firebase 的云功能一起使用。
- Firestore 是结构化数据。
- Firestore 还支持复杂的查询。
- Firestore 根据您的结果集进行扩展,而不是根据您的收藏记录数。
- 它在 App 中的数据库中提供跨客户端的同步状态。
细节差异:
- Firestore 是一个文档集合数据库,如果您使用过 Google Cloud 数据存储或 MongoDB,那么您会熟悉 Firestore 有一个严格的模式。首先,您定义一个集合,然后添加文档,每个文档都支持包含自己文档的子集合,因此您可以像在实时数据库中那样嵌套数据,但它更加结构化。想想集合,然后是文档集合,然后是文档。这是一种新模式,但不难弄清楚。
- Firestore 与实时数据库一样具有客户端库,Firestore 客户端库使您能够执行单个查询/查询或侦听文档或集合以进行更改,这与实时数据库不同,您的 Firestore 查询可以有多个查询和 order by 语句,而与实时不同数据库,您的 firestore 查询对于大量集合仍然保持高性能。
- 如果您强制实时数据库查询数百万条记录,则实时数据库会变得暴躁,而 firestore 并不关心您的查询有多复杂或集合中有多少记录,但 firestore 确实关心您返回了多少条记录。这是firebase和firestore之间的主要区别之一。实时数据库总是根据连接数和数据传输向您收费,firestore 不会按连接的客户端数向您收费,但 firestore 会按传输的数据量向您收费,firestore 按您的读写和删除计数向您收费.因此,您从数据库中提取的每条记录都将计入您的读取。您需要认识到 Firestore 会根据结果集进行扩展,因此,如果您正在构建的功能具有大量快速的小型读写,则坚持实时数据库,但您会发现大多数应用程序功能更容易在 Firestore 上构建.
- Firestore 和实时数据库都是 NoSQL 数据库。实时数据库将数据存储为一棵大型 JSON 树,而 Firestore 将数据存储在按集合排列的文档中。