术语
- DB:
数据库(Database),即存储数据的“仓库”,其本质是一个文件系统。它保存了一系列有组织的数据。 - DBMS
数据库管理系统(Database ManagementSystem),是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制。用户通过数据库管理系统访问数据库中表内的数据。 - SQL
结构化查询语言(Structured Query Language),专门用来与数据库通信的语言。SQL 就是关系型数据库的查询语言。 - RDBMS
RDBMS(Relational Database ManagementSystem),是传统数据库,
关系模型:是把复杂的数据结构归结为简单的二元关系 (即二维表格形式)。数据库以行(row)和列(column)的形式存储数据,这一系列的行和列被称为表(table),一组表组成了一个库(database)。
关系型数据库:就是建立在关系模型基础上的数据库。 - 非RDBMS
不需要经过SQL层的解析, 性能非常高 。对应的NoSQL。
非关系型数据库的分类
常见的关系型数据库有Oracle、SQL Server、DB2、 MySQL 等。
数据库从RDBMS发展有了各种非RDBMS,从SQL到发展有了各种NOSQL。
非关系型数据库的分类:
- 键值型数据库
通过 Key-Value 键值的方式来存储数据,优点是查找速度快,使用场景是作为内存缓存 。如Redis。 - 文档型数据库
可存放并获取文档,可以是XML、JSON等格式。如MongoDB,CouchDB。 - 搜索引擎数据库
针对RDBMS全文索引效率低的问题,大量的数据以特定的格式进行存储,核心原理是引用“倒排索引”。如Solr、Elasticsearch、Splunk。 - .列式数据库
将数据按照列存储到数据库中,可以大量降低系统的I/O,适合于分布式文件系统,不足在于功能相对有限。如HBase。 - 图形数据库
是一种存储图形关系的数据库。可以方便地存储复杂关系的数据。如Neo4J、InfoGrid。
RDBMS和非RDBMS不是相互对立的,是根据业务场景相互补充的。