一、NOSQL 数据库概述
1、概述
2、NOSQL 的特点
不遵循 SQL 标准
不支持 ACID
远超于 SQL 的性能
3、NOSQL 的使用场景
对数据库高并发的读写
海量数据的读写
对数据高可扩展性的
4、NOSQL 的不适用场景
需要事务支持
基于 SQL 的结构化查询存储,处理复杂的关系,需要即席查询。
二、NOSQL 数据库
1、Memcached
2、Redis
3、MongoDB
三、行式存储数据库(大数据时代)
1、行式数据库
思考:如下两条 SQL 的快慢:
select * from user where id=3
select avg(age) from user
2、列式数据库
上面的两条 SQL 语句:
select * from user where id=3 行式数据库快,列式数据库慢
select avg(age) from user 行式数据库慢,列式数据库快
(1)HBase
HBase是Hadoop项目中的数据库。它用于需要对大量的数据进行随机、实时的读写操作的场景中。
HBase的目标就是处理数据量非常庞大的表,可以用普通的计算机处理超过10亿行数据,还可处理有数百万列元素的数据表。
(2)Cassandra
Apache Cassandra是一款免费的开源NoSQL数据库,其设计目的在于管理由大量商用服务器构建起来的庞大集群上的海量数据集(数据量通常达到PB级别)。在众多显著特性当中,Cassandra最为卓越的长处是对写入及读取操作进行规模调整,而且其不强调主集群的设计思路能够以相对直观的方式简化各集群的创建与扩展流程。
扩展:
计算机存储单位 计算机存储单位一般用B,KB,MB,GB,TB,EB,ZB,YB,BB来表示,它们之间的关系是:
位 bit (比特)(Binary Digits):存放一位二进制数,即 0 或 1,最小的存储单位。
字节 byte:8个二进制位为一个字节(B),最常用的单位。
1KB (Kilobyte 千字节)=1024B,
1MB (Megabyte 兆字节 简称“兆”)=1024KB,
1GB (Gigabyte 吉字节 又称“千兆”)=1024MB,
1TB (Trillionbyte 万亿字节 太字节)=1024GB,其中1024=2^10 ( 2 的10次方),
1PB(Petabyte 千万亿字节 拍字节)=1024TB,
1EB(Exabyte 百亿亿字节 艾字节)=1024PB,
1ZB (Zettabyte 十万亿亿字节 泽字节)= 1024 EB,
1YB (Jottabyte 一亿亿亿字节 尧字节)= 1024 ZB,
1BB (Brontobyte 一千亿亿亿字节)= 1024 YB.
注:“兆”为百万级数量单位。
四、图关系型数据库
1、Neo4j
主要应用:社会关系,公共交通网络,地图及网络拓谱(n*(n-1)/2)
五、DB-Engines 数据库排名
![](https://img2020.cnblogs.com/blog/1691302/202201/1691302-20220118141820489-951968534.png)