仅使用Firebase作为数据库是否明智?

仅使用Firebase作为数据库是否明智?,firebase,Firebase,我来自SQL背景,所以Firebase对我来说是一个很大的转变。 我最近的一个项目要求我只考虑使用FielBASE进行数据和文件存储。 该项目是一款社交信息应用程序,已拥有多达10万注册用户 我关心的是,Firebase能否完全替代SQL? 我发现有问题的功能: 过滤数百万条特定关键字的消息(语言调节) 允许用户相互阻止(两种方式应立即生效) 从不需要的设备远程注销用户 监控每日统计数据(有多少喜欢、消息、用户在哪一天出现) 按各种属性(姓名、距离、性别、年龄)筛选用户 我希望避免两年后出现这样

我来自SQL背景,所以Firebase对我来说是一个很大的转变。 我最近的一个项目要求我只考虑使用FielBASE进行数据和文件存储。 该项目是一款社交信息应用程序,已拥有多达10万注册用户

我关心的是,Firebase能否完全替代SQL? 我发现有问题的功能:

  • 过滤数百万条特定关键字的消息(语言调节)
  • 允许用户相互阻止(两种方式应立即生效)
  • 从不需要的设备远程注销用户
  • 监控每日统计数据(有多少喜欢、消息、用户在哪一天出现)
  • 按各种属性(姓名、距离、性别、年龄)筛选用户
  • 我希望避免两年后出现这样的情况,即发送了5000万条消息,突然需要设置一个糟糕的语言过滤器。现在怎么办

    在SQL中,我将运行

    delete from messages where content like "%bad-word%"
    
    5分钟后,完成


    因此,我的问题是,Firebase可以完全替代SQL吗?

    不,Firebase目前还不能完全替代SQL。但是您提到的问题有一些解决方案,可以在第三方系统或自定义实现中使用Firebase

    在考虑FixBasic代替SQL的解决方案之前,您应该考虑它是NoSQL,并且具有完全不同的范例。有许多用例很容易用noSQL实现,因此这取决于场景。Firebase更适合于实时场景

  • Firebase(实时数据库或Firestore)目前没有全文搜索功能。您必须使用或执行一些类似的自定义实现(以及在线提供的一些其他文章)

  • 如果阻塞用户仅仅意味着向一对一表中的某个条目添加一个条目,告诉用户X阻塞用户Y,firebase可以通过实时执行来完成

  • 我们可以使用AdminSDK远程注销用户,如

  • 不支持。您必须为想要获取的每个统计数据维护一个计数键,否则您必须获取所有(或部分)数据并在客户端进行计数

  • 您可以查询多个因素的记录。作为参考,请查看firebase


  • 如果您有任何问题,请告诉我。

    谢谢,我担心Firebase到今天还不能完全替代SQL。firestore查询是否可伸缩?这样的查询在收集数百万文档时是否会如此快速?Firebase Firestore声称支持GB和TB的数据集进行读取操作,这与Firebase realtime DB不同。您可以参考此链接: