JavaShuo
欄目
標籤
《BIG DATA大數據日知錄 架構和算法》讀書筆記
時間 2019-11-17
標籤
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
相關文章
1.
《大數據日知錄:架構與算法》讀書筆記(多圖)
2.
讀《大數據日知錄架構與算法》
3.
大數據 Big Data 學習筆記 Day01 大數據框架
4.
每週一本書之《大數據日知錄:架構與算法》
5.
Data Mining with Big Data--閱讀筆記
6.
大話數據結構——第二章算法讀書筆記
7.
大話數據結構讀書筆記系列(二)算法
8.
讀書筆記:《大話數據結構》第二章算法
9.
《大話數據結構》讀書筆記
10.
【讀書筆記】《Python_Cookbook3》第一章:數據結構和算法
更多相關文章...
•
ADO 添加記錄
-
ADO 教程
•
ADO 更新記錄
-
ADO 教程
•
Tomcat學習筆記(史上最全tomcat學習筆記)
•
JDK13 GA發佈:5大特性解讀
相關標籤/搜索
Big Data
讀書筆記
數據結構和算法
算法和數據結構
算法筆記
FSFA 讀書筆記
MySQL 讀書筆記
Nginx讀書筆記
數據結構與算法筆記
Big Data - ELK
系統架構
Docker命令大全
XLink 和 XPointer 教程
MySQL教程
架構
算法
數據傳輸
0
分享到微博
分享到微信
分享到QQ
每日一句
每一个你不满意的现在,都有一个你没有努力的曾经。
最新文章
1.
字節跳動21屆秋招運營兩輪面試經驗分享
2.
Java 3 年,25K 多嗎?
3.
mysql安裝部署
4.
web前端開發中父鏈和子鏈方式實現通信
5.
3.1.6 spark體系之分佈式計算-scala編程-scala中trait特性
6.
dataframe2
7.
ThinkFree在線
8.
在線畫圖
9.
devtools熱部署
10.
編譯和鏈接
本站公眾號
歡迎關注本站公眾號,獲取更多信息
相關文章
1.
《大數據日知錄:架構與算法》讀書筆記(多圖)
2.
讀《大數據日知錄架構與算法》
3.
大數據 Big Data 學習筆記 Day01 大數據框架
4.
每週一本書之《大數據日知錄:架構與算法》
5.
Data Mining with Big Data--閱讀筆記
6.
大話數據結構——第二章算法讀書筆記
7.
大話數據結構讀書筆記系列(二)算法
8.
讀書筆記:《大話數據結構》第二章算法
9.
《大話數據結構》讀書筆記
10.
【讀書筆記】《Python_Cookbook3》第一章:數據結構和算法
>>更多相關文章<<