有各种各样的DB可用。把它们都搞了一遍。我需要的是一个具有成本效益的独特用户ID,能够在没有wifi的情况下同步离线。并访问后端服务器记录(项目)。
iCloud,Realm,mySQL,Firebase,DynamoDB等。我在大多数情况下相当稳定,很想使用DynamoDB,但我在同步时看到零文档,并想知道它是否适用于容易为每个用户分配一个唯一ID以及相关的AWS成本。
我正在安装iCloud或Firebase,想知道Swift专业人员根据我的需求思考什么。
感谢您的提示。 : - )
答案 0 :(得分:1)
我使用了很多Firebase和一些DynamoDB。两者都是值得尊敬的选择。
我会给你一个偏见的看法,说明为什么我选择Firebase而不是DynamoDB,并让别人给你另一个角度:
如果您想要做的就是根据键放置并获取值,DynamoDB非常棒。但是,在查询和搜索方面它非常有限。 Firebase在可用性和速度方面表现出色。例如,如果您有用户数据库,则可以根据其子值(lastLoggedIn
)进行查询,并选择刚刚登录的用户。如果经常进行此查询,则可以对此密钥编制索引并加快此查询。在此处阅读更多内容:https://firebase.google.com/docs/database/rest/retrieve-data
Firebase允许您轻松定义每个表/数据库的安全规则。您也可以在AWS中为DynamoDB定义IAM角色,但我怀疑它们具有与Firebase一样多的灵活性。
Firebase允许支持并发修改的事务:https://firebase.google.com/docs/database/web/read-and-write#save_data_as_transactions
如果您正在开发移动应用,则可以轻松设置推送通知。
离线功能无需进行太多设置即可无缝集成到您的应用中:https://firebase.google.com/docs/database/web/offline-capabilities
我曾经对Firebase表示怀疑,但自从Google于2014年收购Firebase以来,并且在2016年Google I / O(https://www.youtube.com/watch?v=tb2GZ3Bh4p8&vl=en)如此热切地谈论它,我对它有了信心。
哦,我是否说Firebase上的Blaze计划比DynamoDB的存储和计算便宜?