內容簡介
“數據是人類共同的財富”“數據是現代科學研究的基石”。在當今這個大數據的時代,如何強調數據的重要性似乎都不為過。隨著網際網路及其套用的普及,傳統關係資料庫越來越難以滿足計算機套用對數據存儲、訪問和安全的需要,非關係資料庫和新興資料庫應運而生。本書主要面向新一代資料庫系統,詳細介紹資料庫發展史、資料庫設計原則、NoSQL和NewSQL的基本原理與設計思想。本書選取了新一代資料庫發展歷程中具有代表性的資料庫展開講解,如鍵值資料庫實例的Redis與DynamoDB、列族資料庫的HBase與Cassandra、文檔資料庫的MongoDB與CouchDB、圖資料庫的Neo4j與ArangoDB,NewSQL則選擇了TiDB、Vitess和CockroachDB。
本書主要面向大數據及相關專業的本科生和計算機專業的研究生,以及廣大從事大數據存儲與管理等領域的專業人員、高等院校教師及相關領域的科研人員。
圖書目錄
目錄
第一部分大數據相關基礎知識
第1章緒論
1.1數據存儲基本概念
1.1.1數據存儲的定義
1.1.2數據存儲介質
1.2數據存儲的發展階段
1.2.1人工管理階段
1.2.2檔案系統階段
1.2.3資料庫系統階段
1.3大數據基本概念
1.3.1大數據1.0階段
1.3.2大數據2.0階段
1.3.3大數據3.0階段
1.4大數據時代的數據存儲
1.4.1大數據存儲的潛力
1.4.2大數據存儲的社會和經濟影響
1.4.3大數據存儲關鍵技術
1.4.4大數據存儲的未來需求和新興範式
思考題
第2章資料庫發展史
2.1資料庫發展簡史
2.2網狀與層次資料庫
2.3關係資料庫
2.3.1關係資料庫的歷史
2.3.2關係模型
2.3.3關係操作
2.3.4關係完整性
2.3.5關係規範化理論
2.3.6關係資料庫的優缺點
2.3.7關係資料庫的種類及套用
2.4NoSQL
2.4.1NoSQL資料庫的由來
2.4.2NoSQL資料庫的發展
2.4.3NoSQL資料庫的特點
2.4.4NoSQL資料庫的分類
2.5NewSQL
2.5.1NoSQL謝幕,NewSQL登場
2.5.2NewSQL資料庫的發展
2.5.3NewSQL分類與特徵
2.5.4傳統關係資料庫、NoSQL以及NewSQL的對比
2.6中國資料庫的發展歷史
2.6.1“5+4+N”格局
2.6.2國產資料庫案例
2.7下一代資料庫
思考題
第3章資料庫基本原理
3.1資料庫的基本原理
3.1.1關係資料庫的基本原理
3.1.2NoSQL與NewSQL的基本原理
3.2資料庫的設計原則
3.2.1關係資料庫的設計原則
3.2.2NoSQL的設計原則
3.2.3NewSQL的設計原則
3.3資料庫的評價標準
3.3.1吞吐量
3.3.2數據的一致性
3.3.3可用性
3.3.4並發性
3.3.5可擴展性
思考題
第二部分NoSQL基礎與套用
第4章NoSQL
4.1NoSQL基本原理
4.1.1關係資料庫的重要機制回顧
4.1.2分散式數據管理的特點
4.1.3分散式系統的一致性問題
4.1.4NoSQL的常見模式
4.1.5NoSQL相關技術
4.2NoSQL設計思想
4.2.1鍵值資料庫設計思想
4.2.2列族資料庫設計思想
4.2.3文檔資料庫設計思想
4.2.4圖資料庫設計思想
思考題
第5章鍵值資料庫實例: Redis與DynamoDB
5.1Redis
5.1.1Redis 介紹
5.1.2Redis 集群模式
5.1.3Redis的持久化機制
5.1.4Redis快取穿透、擊穿、雪崩
5.1.5Redis的安裝與使用
5.2DynamoDB
5.2.1DynamoDB介紹
5.2.2DynamoDB核心組件
5.2.3DynamoDB API
5.2.4DynamoDB工作原理
思考題
第6章列族資料庫實例: HBase與Cassandra
6.1HBase
6.1.1HBase介紹
6.1.2HBase的實現原理
6.1.3HBase的運行機制
6.1.4HBase的安裝與使用
6.2Cassandra
6.2.1Cassandra介紹
6.2.2Cassandra架構
6.2.3Cassandra 查詢語言
6.2.4Cassandra的安裝與使用
思考題
第7章文檔資料庫實例: MongoDB與CouchDB
7.1MongoDB
7.1.1MongoDB介紹
7.1.2MongoDB關鍵技術
7.1.3MongoDB的安裝與使用
7.2CouchDB
7.2.1CouchDB介紹
7.2.2CouchDB技術
7.2.3CouchBase
7.2.4CouchDB的安裝與使用
思考題
第8章圖資料庫實例: Neo4j與ArangoDB
8.1Neo4j
8.1.1Neo4j介紹
8.1.2Neo4j圖查詢語言——Cypher
8.1.3Neo4j的安裝與使用
8.2ArangoDB
8.2.1ArangoDB介紹
8.2.2ArangoDB技術原理
8.2.3ArangoDB的安裝與使用
思考題
第三部分NewSQL基礎與套用
第9章NewSQL
9.1NewSQL基本原理
9.1.1NewSQL簡介
9.1.2NewSQL的技術特徵
9.1.3NewSQL、NoSQL以及傳統關係資料庫的對比
9.2NewSQL的分類及設計思想
9.2.1新型架構
9.2.2透明的數據分片中間件
9.2.3DBaaS
9.2.4NewSQL實例及特點對比
思考題
第10章NewSQL實例: TiDB、Vitess以及CockroachDB
10.1TiDB
10.1.1TiDB介紹
10.1.2TiDB架構
10.1.3TiDB的安裝與使用
10.2Vitess
10.2.1Vitess介紹
10.2.2Vitess原理
10.2.3Vitess的安裝與使用
10.3CockroachDB
10.3.1CockroachDB介紹
10.3.2CockroachDB架構
10.3.3CockroachDB的安裝與使用
思考題
參考文獻