课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
数据库搭建是大多数软件开发程序员都需要掌握的一个编程技术,下面我们就简单来学习一下,关系型数据库与非关系型数据库的差异。
1、关系型
什么是关系型?
关系型数据库指的是使用关系模型(二维表格模型)来组织数据的数据库,由二维表及其之间的联系所组成的一个数据组织。
常见关系型数据库
常见关系型数据库管理系统(ORDBMS):Oracle、MySql、MicrosoftSQLServer、SQLite、PostgreSQ、IBMDB2。
关系型的优势
采用二维表结构非常贴近正常开发逻辑。
支持通用的SQL(结构化查询语言)语句。
丰富的完整性大大减少了数据冗余和数据不一致的问题。
可以用SQL句子多个表之间做非常繁杂的查询;
关系型数据库提供对事务的支持。
关系型的不足之处
(1)存储的是行记录。
不能存储数组、嵌套字段等格式的数据。
(2)扩展表结构不方便。
操作不存在的列会报错,而增加列又需要执行SQL语句才行。而且修改时需要特别注意,因为更新表时会长时间锁表,这对线上环境可能造成严重影响。
(3)占用内存高。
关系型数据库在对大量数据的表进行统计之类的运算时,占用内存会很高,因为它即使只针对某一列进行运算,也会将整行数据从存储设备读入内存。
(4)全文搜索性能差
类似于MySQL的关系型数据库,只能用like进行整表扫描的匹配,效率很低。现如今,有很多场景需要支持模糊匹配,而且必须支持高效查找。比如查询包含关键字的日志信息,又或者是根据某个商品关键字查询商品列表。
2、非关系型
什么是非关系型?
NoSQL(NoSQL=NotOnlySQL),意即"不仅仅是SQL"。
非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。
常见非关系型数据库
键值数据库:Redis、Memcached、Riak。
列族数据库:Bigtable、HBase、Cassandra。
文档数据库:MongoDB、CouchDB、MarkLogic。
图形数据库:Neo4j、InfoGrid。
非关系型的优势
格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
速度快:NoSQL可以使用硬盘或者内存来存储,而关系型数据库只能使用硬盘;
高扩展性;
成本低:nosql数据库部署简单,基本都是开源软件。
非关系型的不足之处
不提供sql支持,学习和使用成本较高;
无事务处理。MongoDB4.0已支持事务。
数据结构相对复杂,复杂查询方面稍欠。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。