大数据: 5V Volume(大量) Velocity(高速) variety(多样) value(低价值密度) veracity(真实性)
Hadoop Hive Sqoop Nosql MapReduce(离线处理) Hbase ZooKeeper Spark Yarn
HDFS: dataNode NameNode SecondNode
分布式数据库(DDB):是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个结点具有独立处理的能力,每个节点也能通过网络通信子系统执行全局应用。(集群)(多台计算机相互协作)
分布式数据库管理系统(DDBMS)
分布式数据库系统(DDBS)
DDBS的基本特点:
-
物理分布性:数据不是存储在一个场地上,而是存储在计算机网络的多个场地上。
-
逻辑整体性:数据物理分布在各个场地,但逻辑上是一个整体,它们被所有用户(全局用户)共享,并由一个DDBMS统一管理。
-
场地自治性:各场地上的数据由本地的DBMS管理,具有自治处理能力,完成本场地的应用(局部应用)
-
场地之间协作性:各场地虽然具有高度的自治性,但是又相互协作构成一个整体
DDBS的其他特点:
-
1)数据独立性
-
2)集中与自治相结合的控制机制
-
3)适当增加数据冗余度
-
4)事务管理的分布性
DDBS的缺点
-
1)系统开销较大,主要花在通信部分 。
-
2)复杂的存取结构(如辅助索引、文件的链接技术),在集中
-
式DBS中是有效存取数据的重要技术,但在分布式系统中不一定有效。
-
3)数据的安全性和保密性较难处理。
与集中式数据库相比,分布式数据库具有下列优点:
-
1)坚固性好。
-
2)可扩充性好。
-
3)可改善性能。
-
4)自治性好。
数据分片类型:
水平分片:按照行划分,分组 元组(某几行为一组)
垂直划分:按照属性进行划分
导出划分:导出水平划分, 水平分片的条件不是本关系属性的条件,而是其他关系属性的条件
(关于导出分片的理解: 比如说我们有10万条数据 我们需要备份到另一个数据库上 我们可以按照某个字段例如id 每次划分前1万条数据作为分片 多次分片 逐次导出 )(按照一定的规则水平划分)
混合划分: 先水平再垂直或者先垂直再水平
分库分表:
当一张表的数据量达到1000万的时候,查询效率会变低,所以尽量把数据量控制在1000万以下
垂直分库:
业务不断复杂的时候,多个数据库 相互联系
垂直分表:
将一个表的字段拆分到不同的表中,每个表中都保留主键字段,提高数据库性能
水平分库:
多个订单库 ----当数据量多的时候
水平分表:
库--->表 商品表1,商品表2,商品表3
DDBMS由4部分组成:
LDBMS、GDBMS、全局数据字典、CM
DFS 分布式文件系统
Hadoop DFS =HDFS Hadoop的分布式文件系统----分布式存储
分布式操作系统----Yarn
NameNode DataNode SecondaryNameNode
HDFS将每个文件存储到一系列数据块Block 128MB