1.大資料的定義:它更強調大資料的‘大’,大資料的大是相對而言的,是指處理的資料規模巨大到無法通過目前主流資料庫軟體工具處理,在可以接受的時間內完成抓取、存盤、管理和分析,并從中提取人類可以理解的資訊。
2.HDFS副本放置策略:在HDFS集群中,由namenode通過Hadoop機架感知確定每一個DataNode所屬機架,一個簡單而非最優的策略是把同一個資料塊的所有副本放到不同的機架上。這樣做可以保證資料的可靠性,即使整個機架崩潰,其他機架上的資料還是可用的,。這樣做在讀取檔案時充分利用了各個機架的網路帶寬,做到負載均衡。但是這一策略存在以下問題:
在寫入時代價過大,需要在不同的機架之間傳輸大量資料。
當本地資料副本失效時,從遠程結點上恢復資料需要耗費大量的資料傳輸時間。
隨機選取存放資料的結點,可能會造成資料存盤的負載不均。
3.HBase簡介:以列式存盤的一種資料格式,APache HBase是受GoogleBigTable思想啟發而發的運行于Hadooo平臺上的資料庫,是可擴展的、分布式的大資料存盤系統。HBase是一個開源的、資料多版本存盤的、面向列的大資料儲存平臺。
4.HBase體系結構:HBase集群一般由一個HMaster、多個HRegionServer組成。整個集群由Zookeeper作為同步的協調者。
client使用HBase RPC機制與HMaster和HRegionServer進行通信。
zookeeper是整個集群運行中的同步協調者。
HMaster沒有單點問題,HBase中可以啟動多個HMaster,通過ZooKeeper保證總有一個master主機在運行。HRegionServer是HBase中最核心的模塊,主要負責回應用戶I/O請求,向HDFS檔案系統中讀寫資料。每個HStore對應表中一個列族的存盤。
5.Cassandra簡介
它以Amazon的完全分布式的Dynamo為基礎,結合了Google BigTable 基于列族的資料模型,p2p去中心化的存盤,目前在Twitter和Digg中都有使用。
Cassandra資料模型:列是資料增量最底層的部分。它是一個包含名稱、值、和時間戳的三重元組。
磁區策略:在Cassandra中,Token是用來磁區資料的關鍵。每個結點都有一個獨一無二的Token,表明該結點分配的資料范圍。使用一致性Hash進行磁區時,鍵值對將根據一致性Hash來判斷資料應當屬于哪個Token。
6.Redis簡介
Redis是一種面向鍵值對型別資料的分布式NoSQL資料庫系統,其特點是高性能,持久存盤,能適應高并發的應用場景。Redis單個值得最大限制是1GB。
Redis 分布模式:master會將資料同步到slave,而slave不會將資料同步到master,slave啟動時會連接master來同步資料。
讀寫分離模型的缺陷在于不管是master還是slave,每個結點都必須保存完整的資料,在資料量很大的情況下,集群的擴展能力受限于單個結點的存盤能力。可以將每個master設計成由一個master和多個slave組成的模型。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/20569.html
標籤:網絡
上一篇:VMware Workstation Pro 無法在Windows上運行
下一篇:第十一章 大資料技術與實踐
