因为行 + 列的二维表逻辑是非常贴近逻辑世界的一个概念,关系模型相对网状、层次等其他模型更加容易被理解
通用的SQL语言使得操作关系型数据库非常方便,支持join等复杂查询
支持ACID特性,可以维护数据之间的一致性,这是使用数据库非常重要的一个理由之一,例如同银行转账,张三转给李四100元钱,张三扣100元,李四加100元,而且必须同时成功或者同时失败,否则就会造成用户的资损
数据持久化到磁盘,没有丢失数据风险,支持海量数据存储
最常用的关系型数据库产品MySql、Oracle服务器性能卓越,服务稳定,通常很少出现宕机异常
关系型数据库的缺点
紧接着的,我们看一下关系型数据库的缺点,也是比较明显的 。
数据按行存储,即使只针对其中某一列进行运算,也会将整行数据从存储设备中读入内存,导致IO较高
为了提供丰富的查询能力,通常热点表都会有多个二级索引,一旦有了二级索引,数据的新增必然伴随着所有二级索引的新增,数据的更新也必然伴随着所有二级索引的更新,这不可避免地降低了关系型数据库的读写能力,且索引越多读写能力越差 。有机会的话可以看一下自己公司的数据库,除了数据文件不可避免地占空间外,索引占的空间其实也并不少
数据一致性是关系型数据库的核心,但是同样为了维护数据一致性的代价也是非常大的 。我们都知道SQL标准为事务定义了不同的隔离级别,从低到高依次是读未提交、读已提交、可重复度、串行化,事务隔离级别月底,可能出现的并发异常越多,但是通常而言能提供的并发能力越强 。那么为了保证事务一致性,数据库就需要提供并发控制与故障恢复两种技术,前者用于减少并发异常,后者可以在系统异常的时候保证事务与数据库状态不会被破坏 。对于并发控制,其核心思想就是加锁,无论是乐观锁还是悲观锁,只要提供的隔离级别越高,那么读写性能必然越差
前文提过,随着企业规模扩大,一种方式是对数据库做分库,做了分库之后,数据迁移(1个库的数据按照一定规则打到2个库中)、跨库join(订单数据里有用户数据,两条数据不在同一个库中)、分布式事务处理都是需要考虑的问题,尤其是分布式事务处理,业界当前都没有特别好的解决方案
由于数据库存储的是结构化数据,因此表结构schema是固定的,扩展不方便,如果需要修改表结构,需要执行DDL(data definition language)语句修改,修改期间会导致锁表,部分服务不可用
例如like "%中国真伟大%",只能搜索到"2019年中国真伟大,爱祖国",无法搜索到"中国真是太伟大了"这样的文本,即不具备分词能力,且like查询在"%中国真伟大"这样的搜索条件下,无法命中索引,将会导致查询效率大大降低
写了这么多,我的理解核心还是前三点,它反映出的一个问题是关系型数据库在高并发下的能力是有瓶颈的,尤其是写入/更新频繁的情况下,出现瓶颈的结果就是数据库CPU高、Sql执行慢、客户端报数据库连接池不够等错误,因此例如万人秒杀这种场景,我们绝对不可能通过数据库直接去扣减库存 。
可能有朋友说,数据库在高并发下的能力有瓶颈,我公司有钱,加CPU、换固态硬盘、继续买服务器加数据库做分库不就好了,问题是这是一种性价比非常低的方式,花1000万达到的效果,换其他方式可能100万就达到了,不考虑人员、服务器投入产出比的Leader就是个不合格的Leader,且关系型数据库的方式,受限于它本身的特点,可能花了钱都未必能达到想要的效果 。至于什么是花100万就能达到花1000万效果的方式呢?可以继续往下看,这就是我们要说的NoSql 。
结合NoSql的方式做存储的架构演进像上文分析的,数据库作为一种关系型数据的存储引擎,存储的是关系型数据,它有优点,同时也有明显的缺点,因此通常在企业规模不断扩大的情况下,不会一味指望通过增强数据库的能力来解决数据存储问题,而是会引入其他存储,也就是我们说的NoSql 。
NoSql的全称为Not Only SQL,泛指非关系型数据库,是对关系型数据库的一种补充,特别注意补充这两个字,这意味着NoSql与关系型数据库并不是对立关系,二者各有优劣,取长补短,在合适的场景下选择合适的存储引擎才是正确的做法 。
推荐阅读
-
邓锄头挖科技@高级产品不会告诉你的“十一条”需求沟通中超有效的注意事项!
-
-
忘川秋水|她在吐蕃的40年,真实生活是怎样的?,唐朝和亲入藏的文成公主
-
新华社|巴西又有州长感染新冠病毒,总计已有10个州长感染
-
你见过凌晨4点的高铁线吗 这背后的事情可以去思考一下
-
-
今年起,农村开启“禁养”模式,专家表示支持,农民的话很戳心!
-
旭日暖阳|5.99万元起售,新一代瑞虎5x哪款配置值得买?,上市就降1万元
-
净利|公告精选:山西省属燃气企业整合重组;万华化学上调10月份中国地区MDI价格
-
[社保缴费]30岁不交社保每年在银行存1万,退休后存下的钱真比社
-
-
唆麻 知识“风起”吹向百度知识属性,百度移动生态的底色从“双轮驱动”到“纵队协作”,差异化优势已成形与直播打配合,短视频必不可少结语:模式重构,总得有人先做,短视频娱乐“内卷
-
『孕妈』孕妈必备︱健荣凡士林霜,一款可以闭眼入手的润肤霜
-
「呆闻天下」惹事全靠实力,美国不愧是军事超级大国!武器出口是俄罗斯的三倍
-
宽松大方|秋日时尚穿搭,选一条宽松针织裙+松糕鞋搭配,简单大方轻松显高
-
-
『豪情NBA』霍华德“满血回归”,本赛季超值的五大底薪球员
-
行业唯一入选!Leader洗衣机获美国IDEA设计大奖
-
北青网综合|陕西新增1例境外输入确诊病例,涉及这趟航班
-