关系型数据库与非关系型数据库使用场景???

那时-那年-那你 2016-02-22 04:24:10
关系型数据库的特点,非关系型数据库的特点,以及二者的使用场景分别是?
...全文
2740 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
晕!真是耸人听闻。 数据之间的关系,跟数据库是不是关系型,没有直接关系。传统上,数据有树状数据库、网状、层状数据库、等等,最后以二维表格式的关系型数据库最流行。这里的“关系型”是从两个独立的数据集合进行笛卡尔积乘法运算的角度来说的,关系型数据库在表达数据的关系方面是很弱智的,只能进行松散的关系运算才能取得数据之间的关系,所以叫做关系型数据库。 虽然树状、网状数据库可以更好地表达记录之间的关系,但是关系数据库后来使用了索引系统,索引系统本身是平衡树的(或者还结合了其它数据结构,例如散列),所以弥补了关系数据库在表达记录之间的关系方面的不足,而凸显了关系数据库系统的关系运算(join 运算)的表现力。 从针对关系运算的研究中,演化出了标准化的 sql 语句。这在25~30年前几乎是关系型数据库系统的标配。而其它许多优秀的网状或者树状数据库系统,主要用在大型机上,它们拒不提供sql语言,而是使用各自的方言 api 接口,结果在上个世纪90年代逐渐丧失了市场。实际上sql语言不仅仅可以用于传统的关系数据库,也可以用于网状数据库、NoSql 数据库 等等。 同时传统的关系数据库理论,研究的比较透彻。在sql 过程编译和优化、事务、索引、分布式存储等方面都有标准教科书。只不过在廉价的系统中,可能很少提供分布式。 基于文档的数据库、基于 k-v 结构的数据库、按列关系存储的数据库,等等,这些现在称为 NoSql 数据库。它们大多也不支持 sql。它们基本上都不支持事务。它们大都比关系数据库系统的存取速度快几十倍以上。 但是世事没有绝对。比如说就有一些人用了NoSql的存储结构,然后用了传统关系数据库的“事务”概念,牺牲了 NoSql 的性能,用四不像的技术来达到一种用自己的产品吸引人眼球的效果。
pww71 2016-02-23
  • 打赏
  • 举报
回复
关系型 可以处理复杂的关系,非关系型就一对一的关系,但是可以处理大数据。 你看看下面的文章: http://blog.csdn.net/pww71/article/details/25113303
  • 打赏
  • 举报
回复
说关系型数据库是擅长表达数据之间的关系,那可以说是本末倒置。 每一种数据库底层机制,都针对了更为清晰、具体的数据关系而设计。关系型数据库是最简单、最少表达数据本身关系的。关系数据库只所以这样命名,是因为它的 sql 语言设计基于“集合的关系运算”这么一系列数学论文,而不是去说什么别的类型的数据库就不能更具体地表达数据之间的关系。

8,028

社区成员

发帖
与我相关
我的任务
社区描述
高性能数据库开发
社区管理员
  • 高性能数据库开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧