一、关系型数据库

目前我们常用的数据库一般是关系型数据库,比如Oracle、MySQL、SQL Server。

1、定义:基于关系模型(二维表)所提出的一种数据库。

实际场景:学生与系的关系如下

一个学生必定属于某一个系,因此我们可以把图中学生与系的关系抽象成三个表

这三个表所构成的就是一种简单的关系型数据库。当然在现实应用中我们还会对其进行一定的优化。

2、ER模型(Entity-Relationship)模型:通过增加外键来减少冗余

比如我们上面所举的例子:

中间的那个relation表属于一个冗余的表,我们可以通过给student表中增加外键来去掉这个表。

二、NoSQL数据库

1、常见的NoSQL数据库:HBase数据库

2、NoSQL数据库的思想:BigTable(大表),把所有数据保存到一张表中,采用冗余来存储。可以提高效率但是需要牺牲存储空间。

3、HBase是基于Hadoop的HDFS的

4、HBase的表结构

特点:

#rowkey相当于主键

#行键可以重复,但是相同的行键表示的同一条数据,比如表中的第一、三行。

#没有列,而是列族。创建命令 create  `student`.'info'.`grade`

 

 

 

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐