当前位置:  开发笔记 > 后端 > 正文

什么是NoSql?NoSql的目的是什么?我在哪里可以获得NoSql上足够的材料?

如何解决《什么是NoSql?NoSql的目的是什么?我在哪里可以获得NoSql上足够的材料?》经验,为你挑选了2个好方法。

它与Mysql有什么关系?我正在搜索书籍和材料,如果有人请提到书籍或链接的标题....

我打算学习NoSql ...所以请向我建议一些提示,我们在学习之前需要做些什么?

任何人都可以解释使用MySql和NoSql之间的明显区别吗?

是否有任何工具可以将MySql数据库迁移到NoSql数据库?如果有人知道程序或相关材料,请帮助我.....

提前致谢...



1> Victor Nicol..:

NoSQL是一类不支持SQL(结构化查询语言)的数据库引擎,以实现与SQL的灵活性不兼容的性能或可靠性功能.

这些引擎通常提供一种查询语言,它提供SQL可以执行的操作的子集,以及一些其他功能.什么子集的SQL可完全取决于发动机,虽然这是相当常见的JOIN,TRANSACTION,LIMIT和非索引WHERE不支持.

因此,将现有软件从标准SQL数据库引擎移植到NoSQL引擎将需要重写该软件中的所有查询,并且可能还需要对应用程序逻辑本身进行一些更改(典型示例是"显示页面")由于缺乏LIMIT x OFFSET y支持,在CouchDB中不可能有效地完成"11 of 25" .

维基百科有一个很好的NoSQL引擎列表.

关于NoSQL的普遍共识似乎是,如果您的软件的某些特定部分将受益于特定NoSQL引擎所允许的改进的性能,可靠性或可伸缩性,并且不使用该引擎中不可用的任何功能,那么可能会考虑迁移.将整个现有的SQL驱动的应用程序的完整性移到NoSQL上是相当罕见的.

一些NoSQL引擎具有自动从SQL导入的功能,但是使用NoSQL会产生一些架构约束,这些约束依赖于您对数据的处理,因此手动编写的从SQL导入过程通常是唯一的解决方案,无论现有进口商.

(最后,MySQL与NoSQL没有任何关系.MySQL只是一个关系数据库实现的名称.由于它实现了SQL,它当然不是NoSQL数据库.)



2> 小智..:

NoSQLvs SQL真的是在权衡利弊.
NoSQL优于传统SQL数据库,因为它们放弃了某些RDBMS功能,以获得其他性能,可伸缩性和开发人员可用性功能.

NoSQL放弃了什么(因NoSQL产品而异):

实体之间的关系(如表).因此,您通常无法在查询中将表或模型"连接"在一起.

有限的ACID交易.一个或多个表/实体的读一致性和原子写/提交能力的级别因NoSQL引擎而异.

没有像SQL这样的标准域语言来表达即席查询.每个NoSQL都有自己的API,而NoSQL供应商中的一些具有有限的即席查询功能.

不太结构化和严格的数据模型.NoSQL通常会在应用程序层和开发人员强制/给予更多责任来定义架构 - 也就是"读取架构"而不是写入.

NoSQL获得了什么:

更容易在群集中分片和分发数据(因为您在上面放弃了什么).这可以提供更高的读/写可伸缩性.

可以在更便宜的商品硬件上(以及在云中)部署并更经济地增加社交性.

不需要那么多前期DBA类型的支持.但是如果你的NoSQL变得很大,那么无论如何你都会花很多时间做管理工作.

NoSQL具有更宽松的数据模型,因此您可以在文档或名称/值列集中组织较稀疏的数据集和可变数据集.数据模型并不像硬连线那样.

模式迁移可以更容易,但会给应用程序层带来负担,以适应数据模型的变化.

根据您正在构建的应用程序类型,NoSQL可以使您更容易上手,因为您需要更少的时间来规划数据模型.因此,为了收集高速和可变数据,NoSQL可能很棒.但是对于ERP应用程序的建模,它可能不是那么合适.

NoSQL没有条子子弹有许多不同的NoSQL引擎,每个引擎都有自己独特的特性和优缺点.通常,您应该将NoSQL视为补充数据存储引擎,而不是RDBMS/SQL的完全替代,但这取决于您的应用程序和功能环境.

关系数据库也随着新的混合NoSQL(如MySQL引擎)和NuoDBVoltDB(有些人称之为NewSQL)等产品试图将RDBMS桥接到云和分布式架构领域而不断发展.

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有