概念
关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。关系模型是由埃德加·科德于1970年首先提出的,并配合“科德十二定律”。现如今虽然对此模型有一些批评意见,但它还是数据存储的传统标准。标准数据查询语言SQL就是一种基于关系数据库的语言,这种语言执行对关系数据库中数据的检索和操作。 关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。
简介
2.价格。
目前基本上大部分主流的非关系型数据库都是免费的。而比较有名气的关系型数据库,比如Oracle、DB2、MSSQL是收费的。虽然Mysql免费,但它需要做很多工作才能正式用于生产。
实际开发中,有很多业务需求,其实并不需要完整的关系型数据库功能,非关系型数据库的功能就足够使用了。这种情况下,使用性能更高、成本更低的非关系型数据库当然是更明智的选择。
作者:pig pig
链接:https://www.zhihu.com/question/24225007/answer/32091571
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1. 性能
NOSQL是基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL层的解析,所以性能非常高。
2. 可扩展性
同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。
1. 复杂查询
可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。
2. 事务支持
使得对于安全性能很高的数据访问要求得以实现。
关系型数据库只是数据库的一个特例,类型有严格的限制。科学家们用形式化定义了关系以及各种运算,让它们看起来高大上,但是没什么卵用。然后又制造出各种范式包括白痴NF来简化数据库,殊不知不用关系型即可提高效率。然后就有了所谓的Nosql,其实这是一种复古。或许人们以后就会发现纯粹的KV存储也有不能满足的需求而制造其他存储方式吧。
最近复古潮很热啊,当年看着面向对象爽是个程序就套,制造各种设计模式来弥补缺陷,现在又开始吹函数式。云计算也很有意思,以前的技术改个名字就成了一种产业。
软件工程唯一正确的理论就是,没有银弹。作者:Homunculus
链接:https://www.zhihu.com/question/24225007/answer/81664513
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。