关系型数据库优点:
1 数据持久化
主存储器:快速,数据量小,数据易丢失,存储于内存中,断电丢失(需要先写内存 再任务策略刷新磁盘 事物通过写磁盘log保证持久性)
后备存储器:慢,数据量大,数据持久化,存储于磁盘或ssd,pcie中
2 并发时,通过事物保证原子操作
举个例子:
两种情况会修改两个表中的同一个字段
情况A修改U表字段成功-> 情况B修改U表字段成功 -> 情况B修改O表字段成功->情况A修改O表字段成功
分析:结果 两种情况分别修改一张表对应字段成功,造成数据不一致。可以通过数据库事务解决此问题。
事务在出现错误时进行回滚保证数据一致
3 集成
多个应用共享一个数据库,实现数据共享
4 近乎标准的模型
各个关系数据库 关系模型、sql 近乎通用
挑战:
1 数据量越来越大
2 用户越来越多,请求量越来越大
需要提升存储性能
1 纵向扩展:价格昂贵,扩展能力有限
2 水平扩展:价格低,弹性伸缩
关系型数据库为了实现水平扩展,需要进行分库分表 实现分片
分片带来的问题:
1 应用程序需要知道哪个数据在哪片里面
2 查询、参照完整性、事务、一致性控制 都无法以跨分片方式执行
使用NoSQL 的原因:
1 数据量大或数据请求效率要去高,必须把数据放在集群上实现水平扩展
2 更为方便的数据交互方式提高应用程序开发效率
csdn_9527666 发布了33 篇原创文章 · 获赞 6 · 访问量 2万+ 私信 关注原文地址:https://blog.csdn.net/csdn_9527666/article/details/103951093
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。