2019独角兽企业重金招聘Python工程师标准>>>

《BIG DATA大数据日知录 架构和算法》读书笔记 博客分类: 架构 分布式计算

1.数据分片和路由

  • Hash

    • Hash

      • H(Key) = hash(key) mod K
    • 虚拟桶(Virtual Buckets)
      • 先hash到桶,在Hash,多加一层Hash便于扩展
    • 一致性Hash
      • 分布式Hash表(DHT),P2P对等网络,构成环,节点加入和离开自动调整
  • 范围
    • 如HBase中的LSM树

2.数据复制和一致性

  • 基本原则

    • CAP(强一致性、可用性和分区容忍性),CP、AP,涉及到网络分区的(P),CAP不可兼得
    • ACID(原子、一致、隔离、持久)
    • BASE(基本可用B允许偶尔失败、软状态Soft State、最终一致性Eventual Consistency)
      • BASE原则是牺牲一致性达到高可用
    • 幂等性(f(f(x)) = f(x)),反复调用,状态正确
  • 一致性模型
    • 强一致性
    • 最终一致性,一个时间窗口内数据允许不一致
    • 因果一致性
  • 副本更新策略 *
  • 一致性协议
    • 两阶段提交协议(2PC)
    • 向量时钟(Vector Clock)
    • RWN协议(成功读取R + 成功写入W > 数据备份数N)
    • Paxos协议
      • 安全、可用
      • 副本状态机、Log
      • Proposer、Acceptor、Learner
    • Raft协议
      • 可理解、确定

3.常用算法和数据结构

  • Bloom Filter布隆过滤器

    • 用位表示元素是否存在,1到多个独立的hash,空间效率极高
    • 改进,加入计数,用于删除成员
  • Skip List跳跃表
    • 可替代平衡二叉树,O(Log(n))
  • LSM树
    • 大量随机写,转化为批量顺序写
  • Merkle哈希树
    • 层级的hash树
    • 快速定位数据变化部分
    • 比特币
  • Snappy和LZSS压缩算法
  • Cuckoo哈希
    • 采用交换解决hash冲突

4.集群资源管理和调度

  • 要解决的基本问题

    • 资源异质性、工作负载异质性,即组成元素差异较大
    • 数据局部性
    • 抢占式调度和非抢占式调度
    • 资源分配粒度,Job还是Task
    • Starvation和Dead Lock
    • 资源隔离
  • 资源管理和调度泛型
    • 集中式调度器、Borg
    • 两级调度器,mesos、YARN
    • 状态共享调度器、Omega
  • Mesos
  • YARN
    • RM,资源管理器,Resource Manager
    • AM,作业的应用服务器,Application Manager
    • NM,每个机器的节点服务器,Node Manager

5.分布式协调系统

  • Chubby,Google

    • 基于Paxos一致性协议
  • ZooKeeper
    • 可扩展、高吞吐、分布式协调系统
    • 应用场景:领导选举、配置管理、组成员管理、任务分配、锁管理
    • HBase、Storm、Solr、Kafka...

6.分布式通信

  • 序列化、反序列化

    • Protocol Buffer
    • Thrift
    • Avro,json定义schema
  • 消息队列
    • Kafka
  • 多播通信(Application-Level Multi-broadcast)
    • Gossip协议,Epidemic Protocol感染协议,如Cassandra维护机器节点状态

7.数据通道

  • Log采集

    • Chukwa,基于Hadoop
    • Scribe,Facebook
  • 数据总线,数据变化通知通道,一般基于数据库日志挖掘
    • Databus、LinkedIn
    • Wormhole、Facebook
  • 数据导入导出
    • Sqoop,hadoop和其他关系或者nosql之前的导入导出

8.分布式文件系统

  • GFS,Google

    • Colossus,下一次GFS
  • HDFS,Hadoop
  • HayStack,对象存储系统,Facebook
  • Erasure Code 纠删码
    • 减少数据备份,提供可靠性
    • Reed-Solomon编码
    • LRC编码
    • HDFS-RAID架构

9.内存kv数据库

  • RAMCloud
  • Redis
  • MemBase,CouchBase

10.列数据库

  • BigTable
  • PNUTS
  • MegaStore
  • Spanner
  • BigTable在跨行、跨表的强一致性需求场景表现不佳,MegaStore一定程度上缓解,但是写性能不佳,Spanner进一步升级,支持类SQL和事务

11.大规模批处理系统

  • MapReduce

    • 求和,Summarization Pattern
    • 过滤,Filtering Pattern,top10等
    • 组织数据,Data Organization Pattern,分片、排序
    • Join模式,Join Pattern,Reduce-Side、Map-Side Join
  • DAG计算模型
    • Dryad,微软
    • FlumeJava,Google
    • Tez,Apache

12.流式计算

  • 架构

    • 主从,Store
    • P2P,S4
    • Samza

13.交互式数据分析

  • Hive系,Facebook

    • SQL-on-Hadoop
    • 耦合Hadoop导致效率低下
    • StingerIntiative,改进Hive
  • Shark系
    • 基于Spark
  • Dremel系,需要关注
    • Dremel、PowerDrill、Impala、Presto
  • 混合
    • Hadoop DB

14.图数据库:架构和算法

  • 图挖掘问题

    • PageRank计算
    • 单源最短路径
    • 二部图最大匹配
  • 在线
    • TAO, Facebook
  • 离线
    • Pregel,Google
    • Giraph,基于Hadoop的开源版本
    • GraphChi
    • PowerGraph

15.机器学习:泛型和架构

  • 概念

    • 监督学习,分类、回归
    • 非监督学习,聚类
  • 分布式学习泛型
    • 同步泛型
    • 异步泛型
    • 部分同步泛型
  • 计算模型
    • mapreduce迭代计算模型
    • BSP,整体同步并行计算
    • SSP,部分同步
  • 架构
    • Hadoop

      • 利用平台,Oryx Cloudera, Mahout Apache
      • 改造平台,Twister, Haloop
    • Spark及MLBase *
    • Parameter Server
      • DistBelief
      • Petuum

16.机器学习:分布式算法

  • 计算广告

    • 逻辑回归
    • 并行随机梯度下降
    • 批学习并行逻辑回归
  • 推荐系统
    • 矩阵分解
    • ALS-WR算法
    • 并行ALS-WR算法
  • 搜索引擎
    • 机器学习排序
    • LambdaMART
    • 分布式LambdaMART
  • 自然语言处理
    • 文档相似性计算
  • 社交挖掘
    • 谱聚类
    • 并行谱聚类
  • 深度学习
    • DistBelief

17.增量计算

  • Percolator
  • Kineograph
  • DryadInc

http://my.oschina.net/serverx/blog/693701

转载于:https://my.oschina.net/xiaominmin/blog/1599193

《BIG DATA大数据日知录 架构和算法》读书笔记相关推荐

  1. 读书笔记 | 墨菲定律

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  2. 读书笔记 | 墨菲定律(一)

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  3. 洛克菲勒的38封信pdf下载_《洛克菲勒写给孩子的38封信》读书笔记

    <洛克菲勒写给孩子的38封信>读书笔记 洛克菲勒写给孩子的38封信 第1封信:起点不决定终点 人人生而平等,但这种平等是权利与法律意义上的平等,与经济和文化优势无关 第2封信:运气靠策划 ...

  4. 股神大家了解多少?深度剖析股神巴菲特

    股神巴菲特是金融界里的传奇,大家是否都对股神巴菲特感兴趣呢?大家对股神了解多少?小编最近在QR社区发现了<阿尔法狗与巴菲特>,里面记载了许多股神巴菲特的人生经历,今天小编简单说一说关于股神 ...

  5. 2014巴菲特股东大会及巴菲特创业分享

     沃伦·巴菲特,这位传奇人物.在美国,巴菲特被称为"先知".在中国,他更多的被喻为"股神",巴菲特在11岁时第一次购买股票以来,白手起家缔造了一个千亿规模的 ...

  6. 《成为沃伦·巴菲特》笔记与感想

    本文首发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载: 甚至无需保留以上版权声明-- 沃伦·巴菲特传记的纪录片 http://www.bilibili.co ...

  7. 读书笔记002:托尼.巴赞之快速阅读

    读书笔记002:托尼.巴赞之快速阅读 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<快速阅读>之后,我们就可以可以快速提高阅读速度,保持并改善理解嗯嗯管理,通过增进了解眼睛和大脑功能 ...

  8. 读书笔记001:托尼.巴赞之开动大脑

    读书笔记001:托尼.巴赞之开动大脑 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<开动大脑>之后,我们就可以对我们的大脑有更多的了解:大脑可以进行比我们预期多得多的工作:我们可以最 ...

  9. 读书笔记003:托尼.巴赞之思维导图

    读书笔记003:托尼.巴赞之思维导图 托尼.巴赞的<思维导图>一书,详细的介绍了思维发展的新概念--放射性思维:如何利用思维导图实施你的放射性思维,实现你的创造性思维,从而给出一种深刻的智 ...

  10. 产品读书《滚雪球:巴菲特和他的财富人生》

    作者简介 艾丽斯.施罗德,曾经担任世界知名投行摩根士丹利的董事总经理,因为撰写研究报告与巴菲特相识.业务上的往来使得施罗德有更多的机会与巴菲特亲密接触,她不仅是巴菲特别的忘年交,她也是第一个向巴菲特建 ...

最新文章

  1. border-边框的形状
  2. 各类防火墙应用对比分析
  3. lambda :: -_无需再忙了:Lambda-S3缩略图,由SLAppForge Sigma钉牢!
  4. 刚过去不到一个月 QQ又更新了
  5. c语言字符全排列数组,使用c语言递归实现字符串的全排列
  6. K3路由器自建服务器,折腾路由器 篇一:K3路由器刷官改固件小白日记
  7. editplus软件下载地址
  8. java cat_java应用监控之CAT简介
  9. windows下用wget下载数据
  10. C语言经典题目:求阶乘n!=n*(n-1)*...*1,阶乘和s=1!+(2)!+(3)!+...+n!
  11. 苏嵌//张福辉//2018.7.23
  12. Poco访问mysql
  13. NC91 最长递增子序列
  14. java与单片机通信_Java实现串口通信与单片机通信实例..【Pnoter】
  15. 面试官这样问我Java反射原理,我刚好都会
  16. STM32F1 HAL库读写SD卡的操作要点
  17. 计算方法(四):插值与拟合
  18. 深度强化学习笔记(二)马尔可夫决策过程
  19. 为什么要设置内链,它对SEO有什么影响?
  20. 低成本复制 ChatGPT 训练流程,仅需 1.68GB GPU 即可使用,方法现已开源!

热门文章

  1. 如何通过抖音账号定位,提高营销效果?
  2. linux断开会话不中断进程,Linux让进程后台运行且连接断开不影响(nohup、setsid、disown、screen)...
  3. 财政收入统计口径详解
  4. 怎么设置table(表格)手机端自适应宽度
  5. 转移到ios下载安卓_转移到ios下载官方app-转移到ios手机版v3.0.1 安卓版 - 极光下载站...
  6. Python+实例解析雪景艺术绘图
  7. mysql per sec_MySQL审计插件的测试(mcafee和mariadb版本)
  8. 很多TAP-Windows adapter V9#
  9. 计算机科学与技术编程辅导答疑记录表,计算机科学与技学院工作记录模板.doc...
  10. webp的js插件_网页webp解决方案