Google Firestore (NoSQL) vs PostgreSQL (SQL) For Reactjs and



我只是有一个问题,在创建ReactJS或React Native应用程序时,如何在使用noSQL数据库或sql数据库之间进行选择?例如,为什么你会选择使用Firestore而不是PostgreSQL,反之亦然?

特别是对我来说,如果我正在制作一款反应原生(移动)游戏,其中玩家都有自己的包,其中包含一个库存,所有这些数据存储在数据库中,我应该使用哪种方法,Firestore 或 PostgreSQL,为什么?此外,我希望其他玩家互相查看对方的包并评分。

我有同样的问题,想要一个明确的答案(我在这里😅不提供),特别是因为黑客新闻中的一些人更喜欢使用通用服务,这些服务不会将您锁定在云提供商中。

PostgresQL 的好处

  • 与Firestore相比,更多的人熟悉PostgresQL。这是标准。数据科学家、基础设施和普通开发人员将知道它是如何工作的。Firestore是Google提供的利基产品,只有Firebase生态系统中的人才知道那是什么。它可能被设计得很简单,但不要低估它:几年前,应用程序泄露了所有敏感数据或允许任何人清空整个数据库(那是Firebase 😁)。此外,人们在Firebase中进行查询的效率低下,并花费了他们的公司数千美元而没有真正的好处。如果使用Firestore,您需要确保深入了解其范式:例如查询的工作方式以及安全规则,而大多数人不会。
  • 如果有一天创建了一个新的无服务器数据库产品或开源,那么从Firestore迁移到它可能比从Postgres迁移到相同产品更困难。您已被锁定在 Firebase 生态系统中。
  • 您不必将 firebase SDK 安装到您的应用中,谁知道该库在不观察网络流量的情况下会做什么......

菲恢复的好处

  • 您只需为读取、写入、删除和存储的实际数据大小付费。Postgres需要托管在某个地方,因此即使有人不使用您的应用程序,也会立即花费您的钱。当然,AWS 提供了一些名为 Aurora Serverless 的无服务器数据库产品,但您需要按小时付费,因此即使没有人使用您的应用程序,您也需要付费!
    • 定价摘要:如果一个月内没有人使用您的应用程序,Firestore 是免费的。AWS Aurora 的基本机器db.t3.medium为 60 美元。Firestore还有一个免费层。
    • 在这两种情况下,您都可以说您支付了"使用"的费用,但在 Firestore 中,使用对用户来说是实际的好处,而在 AWS 中的使用量就是您正在使用的计算机。
  • 与Firebase的其余部分集成
  • Firebase制作了很棒的视频,并与其他Google的东西(Android,Flutter)很好地集成在一起,例如,这个有趣的和这个严肃的。

您可以在其他地方比较SQL与NoSQL,但我认为与我提到的其他问题(生产力和成本)相比,差异(数据重复与规范化数据,性能)并不是什么大问题,尤其是在您制作基本应用程序时。更复杂的应用程序将需要对不同的数据库进行彻底的评估,而不仅仅是区分NoSQL/SQL。

最新更新