hvg*_*des 8 sql html5 json rich-internet-application nosql
我正在构建一个功能齐全的Web应用程序.当然,您可以在处于"离线"模式时保存到本地数据存储区.我希望能够跨设备同步,这样人们就可以在一台机器上工作,保存,然后再上另一台机器并加载他们的东西.
问题是:
1)将json存储在服务器上是一个坏主意吗?为什么要将服务器上的json解析为模型对象,当它将作为json传递回(其他)客户端时?
2)我不确定我是否想尝试使用NoSql技术.我没有打破json,因为现在数据库中唯一的关系是从用户帐户到他们的条目.除了用户数据之外,域模型将是一个String,它是json.建议欢迎.
从理论上讲,将来我可能想在服务器上进行一些处理或建立更复杂的关系.换句话说,现在我只是要保存json,但将来我可能想要一个更传统的关系系统.NoSQL方法会妨碍这个吗?
3)这有什么安全问题吗?以JS注入为例?从理论上讲,对于这个用例,用户至少现在无法输入任何内容.
先感谢您.
编辑 - Thanx的答案.我选择了我所做的答案,因为它详细介绍了NoSql的优点和缺点.
服务器上的 JSON
在服务器上存储 JSON 并不是一个坏主意,特别是如果您使用 MongoDB 或 CouchDB 等 noSQL 解决方案。两者都使用 JSON 作为其本机格式(MongoDB 实际上使用 BSON,但非常相似)。
noSQL 方法:假设 CouchDB 作为存储引擎
安全
确保您使用浏览器 JSON.parse 或安全的 Javascript 库 (json2.js) 解析 JSON 文档。
结论
我认为我建议在这里使用 noSQL(尤其是 CouchDB)的原因是它可以为您处理所有困难的事情。复制将是一个快速设置。您不必担心并发等问题。
也就是说,我不知道你正在构建什么样的应用程序。我不知道您与客户的关系如何,也不知道让他们在自己的机器上安装 CouchDB 有多容易。
链接
在查看了该应用程序后,我认为 CouchDB 不会是一个很好的客户端选项,因为您不会要求人们安装数据库引擎来玩数独游戏。也就是说,我仍然认为这将是一个很好的服务器端选项。如果您想将服务器 CouchDb 实例与客户端同步,您可以使用BrowserCouch之类的东西,它是用于本地存储的 CouchDB 的 JavaScript 实现。
归档时间: |
|
查看次数: |
1926 次 |
最近记录: |