哪个数据库适合我的应用程序mysql或mongodb?使用Node.js,Backbone,Now.js

前端之家收集整理的这篇文章主要介绍了哪个数据库适合我的应用程序mysql或mongodb?使用Node.js,Backbone,Now.js前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想制作一个应用程序,如docs.google.com(没有它的api,完全在我自己的服务器上)使用
前端:骨干
后端:节点

你认为什么数据库会更好? mysql还是mongodb?应该支持良好的可扩展性.
我熟悉MysqLPHP和我将很高兴如果答案是MysqL.
但是我看到很多教程,他们使用mongodb,为什么没有MysqL使用mongodb?
我应该用什么

任何人都可以给我链接一些示例应用程序(使用源代码)构建使用骨干,Node,MysqL(或mongo).或至少应用程式与Node和MysqL

谢谢

解决方法

使用MongoDB,您可以只存储JSON对象并将其完全检索,因此您不需要真正需要ORM层,而且您花费更少的cpu时间来反复翻译数据. MongoDB背后的开发人员还将数据库水平扩展到更高的优先级,并允许您运行任意 Javascript代码来在DB端预处理数据(允许对数据进行地图缩减风格过滤).

但是你会失去一些这样的收获:你不能加入记录.实际上,您存储的JSON结构只能通过sql中的连接完成,但在MongoDB中,您只能拥有该数据的一个结构,而在sql中,您可以以不同的方式进行查询,并以替代方式获取数据,因此如果您需要在你的数据库上做很多的分析,MongoDB会变得更加困难.

MongoDB中的查询语言在我看来比sql更“粗糙”,部分原因是因为它不那么熟悉,部分原因是查询功能“感觉”随意地放在一起,部分是为了使其成为有效的JSON,部分原因在于字面上是一个几种方式做同样的事情,有些是旧的方式,不像其他人一样有用或定期格式化.而且,通过sql简单的基于行的设计,数组和子对象类型增加了复杂性,因此语法必须能够处理包含您定义的某些值的数组的查询,包含您定义的所有值,仅包含您定义的值,并且不包含您定义的值.相同的区别适用于对象键及其值,这使得查询语法更难掌握. (当我可以看到边缘案例的需要时,$where query参数是一个Siren歌曲,因为你可以很容易的定义什么对象,这是一个在每个数据记录上运行并返回一个布尔值的javascript函数想要返回还是不返回,但它必须在数据库中的每个记录上运行,不能使用任何索引.)

所以,这取决于你想做什么,但是由于你说这是一个Google Docs克隆,你可能不关心任何表示,但文档表示本身,你可能只会根据文档进行查询ID,文档名称或所有者的ID /名称,在查询中没有太复杂.

然后,我想说能够使用用户正在编辑的文档的JSON表示形式,并将其扔入数据库,并自动对这些重要字段进行索引,值得学习一个新的数据库.

猜你在找的MongoDB相关文章