挑戰大數據,Facebook、Google、Amazon怎麼處理Big Data?:用NOSQL搞定每年100億顆硬碟資料



內容簡介

 

《挑戰大數據,Facebook、Google、Amazon怎麼處理Big
Data?:用NOSQL搞定每年100億顆硬碟資料》


電腦技術已經深刻地影響了我們的工作、學習和生活。巨量資料及NoSQL技術是現今IT領域最炙手可熱的話題,其發展非常迅速,潛力極大,悄然改變著整個產業的面貌。隨著Web
2.0技術的發展,微博、社交網路、電子商務、生物專案等的不斷發展,各領域資料呈現爆炸式的增長,傳統關聯式資料庫顯得越來越力不從心。NoSQL資料庫技術的出現為目前面臨的問題提供了新的解決方案,它摒棄了傳統關聯式資料庫ACID的特性,採用分散式多節點的方式,更加適合巨量資料的儲存和管理。

本書內容

本書一共包含16章,分為三個部分。其中第一部分為理論篇,包含:巨量資料產生的背景、資料一致性理論、資料儲存模型、資料分區與放置策略、巨量資料處理方法、資料複製與容錯技術、資料壓縮技術和資料快取技術。此部分重點從理論上介紹、分析巨量資料管理過程中遇到的各方面問題。第二部分為系統篇,包含:鍵值資料庫、列存資料庫、文件資料庫、圖型資料庫、基於Hadoop的資料庫管理系統、NoSQL資料庫以及分散式快取系統。該部分以理論篇為基礎,根據資料儲存模型對資料庫型態進行劃分,每一部分以實際開放原始碼資料庫為實例介紹,有關系統的架構、安裝以及使用等方面知識,力圖讓讀者對NoSQL資料庫有實際的認識。第三部分為應用篇,包含企業應用以及經驗歸納和對未來的展望。該部分介紹企業如何使用NoSQL資料庫解決本身遇到的問題。

目錄

 

挑戰大數據,Facebook、Google、Amazon怎麼處理Big
Data?:用NOSQL搞定每年100億顆硬碟資料-目錄導覽說明

 

 

 



  • 前言

    01 概論
    1.1
    引子
    1.2 巨量資料挑戰
    1.3 巨量資料的儲存和管理
    1.3.1 平行資料庫
    1.3.2 NoSQL資料管理系統
    1.3.3
    NewSQL資料管理系統
    1.3.4 雲端資料管理
    1.4 巨量資料的處理和分析
    1.5 小結
    參考文獻

    02
    資料一致性理論
    2.1 CAP理論
    2.2 資料一致性模型
    2.3 ACID與BASE
    2.4 資料一致性實現技術
    2.4.1
    Quorum系統NRW策略
    2.4.2 兩階段傳送協定
    2.4.3 時間戳記策略
    2.4.4 Paxos
    2.4.5 向量時鐘

    2.5 小結
    參考文獻

    03資料儲存模型
    3.1 總論
    3.2 鍵值儲存
    3.2.1 Redis

    3.2.2 Dynamo
    3.3 列式儲存
    3.3.1 Bigtable
    3.3.2 Cassandra與HBase
    3.4
    文件儲存
    3.4.1 MongoDB
    3.4.2 CouchDB
    3.5 圖形儲存
    3.5.1 Neo4j
    3.5.2
    GraphDB
    3.6 小結
    參考文獻

    04 資料分區與放置策略
    4.1 分區的意義
    4.1.1
    為什麼要分區
    4.1.2 分區的優點
    4.2 範圍分區
    4.3 列表分區
    4.4 雜湊分區
    4.5 三種分區的比較

    4.6 放置策略
    4.6.1 一致性雜湊演算法
    4.6.2 容錯性與可擴充性分析
    4.6.3 虛擬節點
    4.7
    小結
    參考文獻

    05 巨量資料處理方法
    5.1 MapReduce簡介
    5.2 MapReduce資料流程
    5.3
    MapReduce資料處理
    5.3.1 傳送作業
    5.3.2 初始化作業
    5.3.3 分配工作
    5.3.4 執行工作

    5.3.5 更新工作執行進度和狀態
    5.3.6 完成作業
    5.4 Dryad簡介
    5.4.1 DFS Cosmos介紹

    5.4.2 Dryad執行引擎
    5.4.3 DryadLINQ解釋引擎
    5.4.4 DryadLINQ程式設計
    5.5
    Dryad資料處理步驟
    5.6 MapReduce vs Dryad
    5.7 小結
    參考文獻

    06
    資料複製與容錯技術
    6.1 巨量資料複製的作用和代價
    6.2 巨量資料複製的策略
    6.2.1 Dynamo的複寫原則
    6.2.2
    CouchDB的複寫原則
    6.2.3 PNUTS的複寫原則
    6.3 巨量資料的故障發現與處理
    6.3.1 Dynamo的故障發現與處理

    6.3.2 CouchDB的故障發現與處理
    6.3.3 PNUTS的故障發現與處理
    6.4 小結
    參考文獻

    07
    資料壓縮技術
    7.1 資料壓縮原理
    7.1.1 資料壓縮的定義
    7.1.2 資料為什麼可以壓縮
    7.1.3 資料壓縮分類

    7.2 傳統壓縮技術[1]
    7.2.1 霍夫曼編碼
    7.2.2 LZ77演算法
    7.3 巨量資料帶來的3V挑戰
    7.4
    Oracle混合列壓縮
    7.4.1 倉庫壓縮
    7.4.2 歸檔壓縮
    7.5 Google資料壓縮技術
    7.5.1
    尋找長的重複串
    7.5.2 壓縮演算法
    7.6 Hadoop壓縮技術
    7.6.1 LZO簡介
    7.6.2 LZO原理[5]

    7.7 小結
    參考文獻

    08 快取技術
    8.1 分散式快取簡介
    8.1.1 分散式快取的產生
    8.1.2
    分散式快取的應用
    8.1.3 分散式快取的效能
    8.1.4 衡量可用性的標準
    8.2 分散式快取的內部機制
    8.2.1
    生命期機制
    8.2.2 一致性機制
    8.2.3 直接讀取與直接寫入機制
    8.2.4 查詢機制
    8.2.5 事件觸發機制

    8.3 分散式快取的拓撲結構
    8.3.1 複製式拓撲
    8.3.2 分割式拓撲
    8.3.3 用戶端快取拓撲
    8.4 小結

    參考文獻

    09 key-value資料庫
    9.1 key-value模型綜述
    9.2 Redis
    9.2.1
    Redis概述
    9.2.2 Redis下載與安裝
    9.2.3 Redis入門操作
    9.2.4 Redis在業內的應用
    9.3
    Voldemort
    9.3.1 Voldemort概述
    9.3.2 Voldemort下載與安裝
    9.3.3 Voldemort設定

    9.3.4 Voldemort開發介紹[3]
    9.4 小結
    參考文獻

    10
    Column-Oriented資料庫
    10.1 Column-Oriented資料庫簡介
    10.2 Bigtable資料庫
    10.2.1
    Bigtable資料庫簡介
    10.2.2 Bigtable資料模型
    10.2.3 Bigtable基礎架構
    10.3
    Hypertable資料庫
    10.3.1 Hypertable簡介
    10.3.2 Hypertable安裝
    10.3.3
    Hypertable架構
    10.3.4 Hypertable中的基本概念和原理
    10.3.5 Hypertable的查詢
    10.4
    Cassandra資料庫
    10.4.1 Cassandra簡介
    10.4.2 Cassandra設定
    10.4.3
    Cassandra資料庫的連接
    10.4.4 Cassandra叢集機制
    10.4.5 Cassandra的讀/寫機制
    10.5
    小結
    參考文獻

    11 文件資料庫
    11.1 文件資料庫簡介
    11.2 CouchDB資料庫
    11.2.1
    CouchDB簡介
    11.2.2 CouchDB安裝
    11.2.3 CouchDB入門
    11.2.4 CouchDB查詢

    11.2.5 CouchDB的儲存結構
    11.2.6 SQL和CouchDB
    11.2.7 分散式環境中的CouchDB
    11.3
    MongoDB資料庫
    11.3.1 MongoDB簡介
    11.3.2 MongoDB的安裝
    11.3.3 MongoDB入門

    11.3.4 MongoDB索引
    11.3.5 SQL與MongoDB
    11.3.6 MapReduce與MongoDB
    11.3.7
    MongoDB與CouchDB比較
    11.4 小結
    參考文獻

    12 圖型資料庫
    12.1
    圖型資料庫的由來及基本概念
    12.1.1 圖型資料庫的由來
    12.1.2 圖型資料庫的基本概念
    12.2
    Neo4j圖型資料庫
    12.2.1 Neo4j簡介
    12.2.2 Neo4j使用教學
    12.2.3 分散式Neo4j — Neo4j HA

    12.2.4 Neo4j工作機制及優缺點淺析
    12.3 GraphDB
    12.3.1 GraphDB簡介
    12.3.2
    GraphDB的整體架構
    12.3.3 GraphDB的資料模型
    12.3.4 GraphDB的安裝
    12.3.5
    GraphDB的使用
    12.4 OrientDB
    12.4.1 背景
    12.4.2 OrientDB是什麼
    12.4.3
    OrientDB的原理及相關技術
    12.4.4 Windows下OrientDB的安裝與使用
    12.4.5 相關Web應用
    12.5
    三種圖型資料庫的比較
    12.5.1 特徵比較表
    12.5.2 分散式模式及應用比較
    12.6 小結
    參考文獻


    13 以Hadoop為基礎的資料管理系統
    13.1 Hadoop簡介
    13.2 HBase
    13.2.1 HBase系統結構

    13.2.2 HBase資料模型
    13.2.3 HBase的安裝和使用
    13.2.4 HBase與RDBMS
    13.3
    Pig
    13.3.1 Pig的安裝和使用
    13.3.2 Pig Latin語言
    13.3.3 Pig實例
    13.4
    Hive
    13.4.1 Hive的資料儲存
    13.4.2 Hive的中繼資料儲存
    13.4.3 安裝Hive
    13.4.4
    HiveQL簡介
    13.4.5 Hive的網路介面(WebUI)
    13.4.6 Hive的JDBC介面
    13.5 小結
    參考文獻


    14 NewSQL資料庫
    14.1 NewSQL資料庫簡介
    14.2 MySQL Cluster
    14.2.1 概述

    14.2.2 MySQL Cluster的層次結構
    14.2.3 MySQL Cluster的優勢和應用
    14.2.4
    巨量資料處理中的sharding技術
    14.2.5 單機環境下MySQL Cluster的安裝
    14.2.6 MySQL
    Cluster的分散式安裝與設定指導
    14.3 VoltDB
    14.3.1 傳統關聯式資料庫與VoltDB
    14.3.2
    VoltDB的安裝與設定
    14.3.3 VoltDB元件
    14.3.4 Hello World
    14.3.5
    使用Generate指令稿
    14.3.6 Eclipse整合開發
    14.4 小結
    參考文獻

    15
    分散式快取系統
    15.1 Memcached快取技術
    15.1.1 背景介紹
    15.1.2
    Memcached快取技術的特點
    15.1.3 Memcached安裝[3]
    15.1.4 Memcached中的資料操作
    15.1.5
    Memcached的使用
    15.2 Microsoft Velocity分散式快取系統
    15.2.1 Microsoft
    Velocity簡介
    15.2.2 資料分類
    15.2.3 Velocity核心概念
    15.2.4 Velocity安裝

    15.2.5 一個簡單的Velocity用戶端應用
    15.2.6 擴充型和可用性
    15.3 小結
    參考文獻
    16
    企業應用
    16.1 Instagram
    16.1.1 Instagram如何應對資料的急劇增長
    16.1.2
    Instagram的資料分割策略
    16.2 Facebook對Hadoop以及HBase的應用
    16.2.1 工作負載型態
    16.2.2
    為什麼採用Apache Hadoop和HBase
    16.2.3 即時HDFS
    16.2.4 Hadoop HBase的實現


    16.3 淘寶巨量資料解決之道
    16.3.1 淘寶資料分析
    16.3.2 淘寶巨量資料挑戰
    16.3.3
    淘寶OceanBase資料庫
    16.3.4 淘寶將來的工作
    16.4 小結
    參考文獻

 


挑戰大數據,Facebook、Google、Amazon怎麼處理Big
Data?:用NOSQL搞定每年100億顆硬碟資料

 

摒棄了傳統關聯式資料庫ACID的特性,採用分散式多節點的方式,更加適合巨量資料的儲存和管理。



 

 

    • 出版日:2013/9/25

 

    • ISBN:9789865764043

 

    • 語言:中文繁體

 

    • 適讀年齡:全齡適讀

 

  • 定價:580
    (HKD193)

    語言:中文繁體
    分級:普級
    開數:18開17*23cm
    頁數:528
    出版地:台灣
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 書蟲小店 的頭像
    書蟲小店

    書蟲小店的部落格

    書蟲小店 發表在 痞客邦 留言(0) 人氣()