什么是关系型数据库?
系型数据库指的是使用关系模型(二维表格模型)来组织数据的数据库。
什么是关系模型
关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。
常见的关系型数据库管理系统
- Mysql
- SQLite
- Oracle
- IBM DB2
关系型数据库的优势?
- 采用二维表结构非常贴近正常开发逻辑
- 支持通用的SQL语句
- 丰富的完整性大大减少了数据冗余和数据不一致的问题。并且全部由表结构组成,文件格式一致;
- 可以用SQL句子多个表之间做非常繁杂的查询
- 关系型数据库提供对事务的支持,能保证系统中事务的正确执行,同时提供事务的恢复、回滚、并发控制和死锁问题的解决。
- 数据存储在磁盘中,安全可靠。
关系型数据库的缺点
1、读写性能比较差,尤其是海量数据的高效率读写;
2、固定的表结构,灵活度稍欠;
3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。
什么是非关系型数据库?
非关系型数据库又被称为 NoSQL(Not Only SQL ),意为不仅仅是 SQL。
通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定,常用于存储非结构化的数据
这些数据库中,其实实现大部分都比较简单,除了一些共性外,很大一部分都是针对某些特定的应用需求出现的,因此,对于该类应用,具有极高的性能。依据结构化方法以及应用场合的不同,主要分为以下几类:
1).面向高性能并发读写的key-value数据库:key-value数据库的主要特点即使具有极高的并发读写性能,Redis,Tokyo Cabinet,Flare就是这类的代表
2).面向海量数据访问的面向文档数据库:这类数据库的特点是,可以在海量的数据中快速的查询数据,典型代表为MongoDB以及CouchDB
3).面向可扩展性的分布式数据库:这类数据库想解决的问题就是传统数据库存在可扩展性上的缺陷,这类数据库可以适应数据量的增加以及数据结构的变化
常见的NoSQL数据库
1 键值对数据库 : Redis Memcached Riak
2 列族数据库:Bigtable、HBase、Cassandra
3 文档数据库:MongoDB、CouchDB、MarkLogic
4 图形数据库:Neo4j、InfoGrid
非关系型数据库的优势是啥?
- 非关系型数据库存储数据格式可以是Key-value 形式的 文档形式的 图片形式的 使用灵活 应用场景广泛
关系型数据库只支持基础类型
2 速度快 效率高。 NoSql可以使用硬盘或者随机存储器作为载体,
关系型数据可只能使用硬盘
3 海量数据的维护和处理非常轻松 成本低
4 非关系型数据库具有扩展简单、高并发、高稳定性、成本低廉的优势
非关系型数据库存在的不足:
1 非关系型数据库暂时不提供 SQL 支持,学习和使用成本较高。
2 非关系数据库没有事务处理,无法保证数据的完整性和安全性。适合处理海量数据,但是不一定安全。
3 功能没有关系型数据库完善。
4 复杂表关联查询不容易实现。