分布式系统(distributed system)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。在分布式数据库系统中,用户感觉不到数据是分布的,即用户不须知道关系是否分割、有无副本、数据存于哪个站点以及事务在哪个站点上执行等。
hadoop
分成两个
HDFS 文件系统
MapReduce 框架
HDFS分为
读数据
NameNode 2个解决单点故障 类似数据路由
DataNode 3个
写数据
文件拆分块告诉NameNode,NameNode返回DataNodes,写入DataNode的blocks中,在流水线复制自身机架一份,和另一个机架一份,最后跟新元数据到NameNode
HDFS特点
数据3分冗余、硬件容错
流式数据访问 写一次读多次,没法改,只能删除在添加
存储大文件 只能大文件
不支持多用户并发写相同文件
MySQL
MySQL是一个数据库管理系统,也是一个关系数据库。它是由Oracle支持的开源软件。这意味着任何一个人都可以使用MySQL而不用支付一毛钱。 另外,如果需要,还可以更改其源代码或进行二次开发以满足您的需要
从集中式到分布式
集中式的特点
所谓的集中式系统就是指由一台或多台主计算机组成中心节点,数据集中存储于这个中心节点,并且整个系统的所有业务单元都部署在这个中心节点上,
系统的所有功能均由其集中处理。也就是说,在集中式系统中,每个终端或客户端机器仅仅负责数据的录入和输出,而数据的存储与控制处理完全
交由主机来完成。
最大的特点就是部署结构简单。由于集中式系统往往基于底层性能卓越的大型主机,因此无须考虑如何对服务进行多个节点的部署,也就不用考虑多个
节点之间的分布式协作问题。
三态
分布式系统的每一次请求与响应,存在特有的“三态”概念,即成功、失败与超时。超时的现象,通常有以下两种情况: