- 一. GFS的系统框架:
二.单主节点+多数据服务节点
三.主节点维护文件命名空间,权限,数据块映射,储存位置
四.多数据服务节点减小主节点的负担,负责客户端的后续具体读写数据和数据节点的交互。
五.主节点将相关的Meta信息维护在内存中,以加速检索,用Log/Snapshot/多备份等多种机制保证数据的可靠性。
六.文件划分为固定尺寸大小(chunk)进行储存,每个Chunk都以多个备份形式分散储存在不同的数据服务节点上:
1.增加可靠性.2.增加读取数据操作的吞吐率.
七.不使用Cache缓存数据,简化系统的复杂性。 - 一. MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。
二.顾名思义,把Map和Reduce分开,它实现的主要思想也是依赖于Map(映射)和Reduce(归约)。
三.Map函数是一个处理key/value键值对的数据集合的过程,Reduce函数则是一个合并的过程。
四.Map其实就是一个映射函数,我就把它当作JAVA中的HashMap的实现原理那样理解,因为它们都是以键值对(key and value)的形式存储和处理数据。
五.Reduce(归约),一开始我以为归约就是合并所有具有相同key值的value值(也就是合并重复数据的过程,但并不是去除,而是合并。)
3. 一. Bigtable是一个为管理大规模结构化数据而设计的分布式存储系统,可以扩展到PB级数据和上千台服务器。很多google的项目使用Bigtable存储数据,这些应用对Bigtable提出了不同的挑战,比如数据规模的要求、延迟的要求。Bigtable能满足这些多变的要求,为这些产品成功地提供了灵活、高性能的存储解决方案。
二.Bigtable看起来像一个数据库,采用了很多数据库的实现策略。但是Bigtable并不支持完整的关系型数据模型;而是为客户端提供了一种简单的数据模型,客户端可以动态地控制数据的布局和格式,并且利用底层数据存储的局部性特征。Bigtable将数据统统看成无意义的字节串,客户端需要将结构化和非结构化数据串行化再存入Bigtable。