初步了解数据库

介绍

数据库定义

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库

数据库分类

早起数据库比较流行的数据库类型分为三类:层次式数据库、网络式数据库和关系型数据库(现在大部分为关系型数据库)。而当今互联网常见的数据库类型分为两类:关系型、非关系型。

关系型数据库

关系型数据库模型是把复杂的数据结构归为简单的二元关系(即二维表格形式),在关系型数据库中,对数据的操作就全部建立在一个或多个表格中,通过这些表格的分类、合并、连接或选取等运算来实现数据的管理。

关系型数据库诞生于1969年,由 Edgar F.“Ted” Codd发明了关系数据库。最常见的关系型数据库:mysql、Oracle、DB2、MariaDB(mysql分支)、Microsoft SQL Server(微软),Access(Microsoft)

非关系型数据库

非关系型数据库又被称为NoSQL(以下简称NoSQL),NoSQL不是没有SQL的意思,而是“不仅仅是SQL”(not only sql),NoSQL的产生并不是要彻底否定关系型数据库,而是作为传统关系型数据库的一个有效补充。NOSQL典型产品memcached(纯内存),redis(持久化缓存),mongodb(面向文档)

####### NoSQL的四大分类

1.键值存储数据库

典型产品:Memcached、Redis、MemcacheDB、Berkeley DB

2.列存储数据库

典型产品:Hbase、Cassandra

3.文档型数据库

典型产品:MongoDB、CouchDB

4.图形(Graph)数据库

典型的产品有:Neo4J、InfoGrid。

####### NoSQL共同特征

1.不需要预定义模式:在存储时不需要预先定义他们的模式

2.无共享架构:NoSQL把数据存储在本地服务器上,从本地磁盘读取数据比通过网络获取数据快,从而提高了性能

3.弹性可扩展

4.分区

5.异步复制

6.BASE:关系型数据库是严格的ACID特性,NoSQL数据库保证的是BASE特性。BASE是最终一致性和软事务

NoSQL数据库并没有一个统一的架构,两种NoSQL数据库之间的不同,甚至远远超过两种关系型数据库的不同。可以说,NoSQL各有所长,成功的NoSQL必然特别适用于某些场合或者某些应用,在这些场合中会远远胜过关系型数据库和其他的NoSQL。

####### NoSQL 适用场景

1.数据模型比较简单;

2.需要灵活性更强的IT系统;

3.对数据库性能要求较高;

4.不需要高度的数据一致性;

5.对于给定key,比较容易映射复杂值的环境。

数据库排名

地址:https://db-engines.com/en/ranking

参考文章

https://baike.baidu.com/item/NoSQL/8828247?fr=aladdin
http://blog.51cto.com/13178102/2064041