关系型数据库和 nosql 本质上的区别是什么

2019-11-14 23:25:14 +08:00
 yeya24

RT,那么有没有场景是只能使用关系型数据库,而不能采用 nosql 的呢?目前想到的就是银行交易的场景,但是 nosql 中也有支持事务的,如果采用 nosql 在交易场景是否可行?

3116 次点击
所在节点    问与答
16 条回复
opengps
2019-11-14 23:42:30 +08:00
两个极端:
一个是逻辑能力强,io 低;
一个是逻辑简单,io 高
相辅相成更能发挥更大价值
liprais
2019-11-14 23:53:56 +08:00
五个九的概率你选 nosql 是给自己挖坑
yeya24
2019-11-14 23:56:36 +08:00
@liprais 只是有疑问罢了,为什么关系型的可用性就更高?非关系型就没那么高?
mtrec
2019-11-15 00:33:24 +08:00
设计理念不同 nosql 更多用在海量数据的场景 走 cp 或者 ap 路线 sql 走的 ca
CoderGeek
2019-11-15 01:41:26 +08:00
关系型还是稳定的 nosql 才沉淀多久
agagega
2019-11-15 01:59:07 +08:00
acid 和 join
yeya24
2019-11-15 03:00:30 +08:00
@agagega 不认为 acid 和 join 就能区分这两者,nosql 里面也有支持事务的
yeya24
2019-11-15 03:01:40 +08:00
@CoderGeek 所以这个意思是,关系型在生态上更广,人们也对它更熟悉所以稳定。如果 nosql 在发展个几十年稳定了,也能够用在任意的场合?
miaoever
2019-11-15 07:14:02 +08:00
本质上是 data schema 的区别,no-sql 一般用 kv 存储而关系型用树结构,这导致在不同类型数据读写性能以及实现复杂度上有差异。至于 ACID, 分布式事务等等都是上层具体实现问题,没有任何区别。
wy315700
2019-11-15 08:29:54 +08:00
NoSQL = Not Only SQL
love
2019-11-15 09:33:37 +08:00
我怎么觉得关系型包含 nosql 且更灵活
optional
2019-11-15 09:48:08 +08:00
基于列式存储,分布式与多主写入,数据冗余存储,hbase 等还带数据版本号。
yeya24
2019-11-15 09:48:19 +08:00
@wy315700 说了和没说一样。。。
unixeno
2019-11-15 10:34:32 +08:00
关系型数据库是基于关系模型构建的数据库,这个在数学上是有理论基础的
非关系型就是不基于关系模型的数据库,常用有键值对数据库
至于应用的话,应该是不存在只能用某一种数据库,不能用另一种数据库的情况,只有方便和不方便的区别
数据库的最本质的功能是存储数据,至于上面的关系也好,事务也好其实都能在软件层面上通过代码解决
选数据库的原因是上面的这些工作都可以交给数据库去处理,省事儿
CoderGeek
2019-11-15 10:34:55 +08:00
@yeya24 还是稳定,经过时间人的验证后才会适合更多人用 , 如果小项目或者不涉及核心数据那都还好
taogen
2019-11-15 10:38:55 +08:00
本质区别:数据模型不一样。关系型基于 table 来实现数据库,NoSQL 基于 key-value 实现数据库。

适用场景:看一下各自的优缺点。看一下它们的使用案例。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/619704

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX