SQL与NoSQL
一,关系数据库(RDB)
关系型数据库作为传统的数据库,支持完整的ACID属性,其中声明式的SQL语法屏蔽了底层的实现细节,同时关系数据模型也符合人的正常思维逻辑,因此在各种应用中关系型数据库都占据主导位置。常见的RDB数据库包括Mysql,Oracle,Sql server,PgSql,SQLite,Mysql分支MariaDB等。
关系型数据库优点多多,但是在现今的互联网环境下慢慢的暴露出其弊端,包括:
无法存储数据结构
表结构固定,扩展性差
大数据量下的 I/O 性能差
全文检索功能弱
二,非关系数据库(NoSQL)
NoSQL是说Not Only SQL,非关系型数据库舍弃了ACID属性中的一个或多个,因此NoSQL也并非银弹,只能作为关系型数据库的补充,或者适用于特定的业务场景。
常见的NoSQL包含以下类别,基本上都是为了补充RDB数据库的不足而产生:
K-V 数据库:解决了RDB数据库无法存储数据结构的弊端,以 Redis 为代表
文档数据库:解决了RDB数据库表结构扩展性差的问题,以 MongoDB 为代表
列式数据库:解决了RDB数据库在大数据场景下的I/O性能问题,以 HBase 为代表
全文检索引擎:补充了RDB数据库全文检索能力,以 ES 为代表
三,分散式存储系统(DRDB)
留待观察,官网
四,NoSQL的历史轨迹
借用网上的一张图来说
现在应该再加上 New SQL 了应该。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341