为什么选择使用NoSQL数据库开发如此困难?

数据库 SQL Server
我最后一次评估NoSQL数据库,我坚持以关系数据库将它完成。今天,我再次对他进行评估,这一次,我知道我必须要做出至少一个选择。但是,选择却是如此困难。

 传统观念中NoSQL数据库非常适合某些数据类型,如:非关系数据源。同时,NoSQL被吹捧为最适合Web应用程序的优秀平台。然而他适合大多数数据,特别是web应用程序的数据是相关型。那么,这是否可以给你一个坚持使用RDMS的理由呢?也不一定,即使很困难,我们还是要做出选择。

为什么选择使用NoSQL数据库开发如此困难?

评估NoSQL是一个很茅盾的理论,一些人认为,应该将所有文档数据存储在一个文档中,做链接代码就是亵渎神明。另外一部分人认为,存储应用文档,加入代码,才是合理选择。与此同时,不同的数据库,需要在文档中限制嵌套数据数量。有的人会鼓励文档引用。这是NoSQL数据模型的基本部分,也没有一个明确的共识。

曾经有一篇很热的帖子"Why you should never use XYZ",我想,读到这里,一定会有人搜索这篇文章。当然,这种文章各式各样,太过于笼统的标题也没什么帮助。毫无疑问,会有人会搜索这个文章,然后再找到这个文章,进一步深入,找到该文章的方法远比成功(理解问题)的故事多。很难知道谁提供了一个有效的技术问题,谁又误读了这个问题(或者缺少证据证明其观点)。

有大量选择,RDBMS的世界,选择就很容易。你有4或5个目标,大家工作方式差不多,来选择环境、预算支持的平台。对于成熟的产品,风险比较小。NoSQL的世界,有很多数据库引擎功能选择。每一个有自己的独特优势,也有致命弱点。所以选择很难, NoSQL项目生命周期短,尝试新项目或者流行项目也会有风险。上次,我的的项目是在 CouchDB上,而现在似乎停摆了。

做出这个痛苦决定的原因是,这可能是一个案例:你需要做一大堆工作,才能知道,你做出的选择对与错。你可以实体化你的数据模型,了解他与系统的工作情况,但是,这只有你正真撞到南墙,才可以找到裂缝(答案)。以我为例,我建的应用程序是关系数据库,移动文件存储的主要因素是,需要一个无模式设计来达到我的目标。使用NoSQL 数据库存储关系型数据库并不是我们所常说的,虽然,这种事常常发生。

现在我在用 Couchbase 和 MongoDB,Mongo对我没多大吸引力,不过鉴于他非常流行,对于引起来说,很有好处。当然,很多都可以以同样的方式流行。PHP很流行,因为他的易用性,而不是因为他很好。我现在在使用MongoDB和PHP,也在学习Couchbase,如果你有任何NoSQL平台的使用感想,欢迎交流。

责任编辑:王雪燕 来源: PHP100中文网
相关推荐

2021-10-22 05:52:27

数据库调整大小容量

2023-09-05 10:25:35

数据库性能

2020-08-10 09:07:00

数据库IT技术

2019-09-11 15:10:01

NoSQLSQL数据库

2011-03-15 14:54:08

NoSQL

2019-07-23 11:41:45

数据库SQLDocker

2019-06-26 07:25:47

NoSQL数据库开发

2010-04-01 09:45:38

NoSQL

2024-02-02 10:51:53

2021-02-18 09:23:47

数据库分区数据库仓库

2011-07-07 09:11:54

NoSQL数据库

2018-03-22 08:54:00

NoSQLRUM云服务

2023-07-18 11:02:14

2010-05-28 19:06:40

MySQL

2022-11-14 07:52:14

时间序列数据库CPU

2021-09-28 09:25:05

NoSQL数据库列式数据库

2011-10-09 09:38:03

OracleNoSQL

2020-06-04 21:49:20

物联网用户体验IOT

2020-03-27 16:05:49

数据库数据MySQL

2020-06-09 09:19:14

数据库
点赞
收藏

51CTO技术栈公众号