注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)家庭與辦公軟件電商存儲(chǔ)系統(tǒng)實(shí)戰(zhàn):架構(gòu)設(shè)計(jì)與海量數(shù)據(jù)處理

電商存儲(chǔ)系統(tǒng)實(shí)戰(zhàn):架構(gòu)設(shè)計(jì)與海量數(shù)據(jù)處理

電商存儲(chǔ)系統(tǒng)實(shí)戰(zhàn):架構(gòu)設(shè)計(jì)與海量數(shù)據(jù)處理

定 價(jià):¥89.00

作 者: 李玥 著
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787111697411 出版時(shí)間: 2021-12-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 240 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書(shū)將以電商應(yīng)用場(chǎng)景為例,講解不同規(guī)模的存儲(chǔ)系統(tǒng)應(yīng)該如何構(gòu)建。本書(shū)的章節(jié)是按照系統(tǒng)的發(fā)展過(guò)程來(lái)設(shè)計(jì),分成了設(shè)計(jì)篇、高速增長(zhǎng)篇、海量數(shù)據(jù)篇和技術(shù)進(jìn)階篇。在設(shè)計(jì)篇中,重點(diǎn)介紹如何從0到1地設(shè)計(jì)電商系統(tǒng)的各個(gè)存儲(chǔ)架構(gòu)。在高速增長(zhǎng)篇中,重點(diǎn)關(guān)注在高速變化的過(guò)程中系統(tǒng)所遇到的共通性問(wèn)題,以及應(yīng)對(duì)這些問(wèn)題的方法。在海量數(shù)據(jù)篇中,重點(diǎn)解決高并發(fā)、海量數(shù)據(jù)情況下的存儲(chǔ)系統(tǒng)應(yīng)該如何設(shè)計(jì)的問(wèn)題。在技術(shù)進(jìn)階篇中,重點(diǎn)探討在存儲(chǔ)技術(shù)領(lǐng)域,有哪些新技術(shù)值得關(guān)注,哪些技術(shù)可能成為未來(lái)的發(fā)展趨勢(shì)。畢竟,不斷創(chuàng)新是技術(shù)發(fā)展的原動(dòng)力。

作者簡(jiǎn)介

  李玥,美團(tuán)基礎(chǔ)技術(shù)部高級(jí)技術(shù)專(zhuān)家,極客時(shí)間《后端存儲(chǔ)實(shí)戰(zhàn)課》《消息隊(duì)列高手課》等專(zhuān)欄作者。曾在DD網(wǎng)、京東零售等公司任職。從事互聯(lián)網(wǎng)電商行業(yè)基礎(chǔ)架構(gòu)領(lǐng)域的架構(gòu)設(shè)計(jì)和研發(fā)工作多年,曾多次參與雙十一和618電商大促。專(zhuān)注于分布式存儲(chǔ)、云原生架構(gòu)下的服務(wù)治理、分布式消息和實(shí)時(shí)計(jì)算等技術(shù)領(lǐng)域,致力于推進(jìn)基礎(chǔ)架構(gòu)技術(shù)的創(chuàng)新與開(kāi)源。

圖書(shū)目錄

前言 換一種方式學(xué)習(xí)存儲(chǔ)系統(tǒng)
第一篇 設(shè)計(jì)
第1章 如何設(shè)計(jì)電商系統(tǒng) 3
1.1 設(shè)計(jì)電商系統(tǒng)的核心流程 4
1.2 根據(jù)流程劃分功能模塊 6
1.3 小結(jié) 9
1.4 思考題 10
第2章 訂單系統(tǒng)的設(shè)計(jì):確保訂單數(shù)據(jù)的準(zhǔn)確性 11
2.1 訂單系統(tǒng)的核心功能和數(shù)據(jù) 12
2.2 如何避免重復(fù)下單 13
2.3 如何解決ABA問(wèn)題 16
2.4 小結(jié) 18
2.5 思考題 19
第3章 商品系統(tǒng)的存儲(chǔ)架構(gòu)設(shè)計(jì) 20
3.1 商品系統(tǒng)需要保存哪些數(shù)據(jù) 21
3.2 如何存儲(chǔ)商品的基本信息 22
3.3 使用MongoDB保存商品參數(shù) 23
3.4 使用對(duì)象存儲(chǔ)保存圖片和視頻 24
3.5 將商品介紹靜態(tài)化 25
3.6 小結(jié) 26
3.7 思考題 28
第4章 購(gòu)物車(chē)系統(tǒng)的存儲(chǔ)架構(gòu):前后端混合存儲(chǔ) 29
4.1 設(shè)計(jì)購(gòu)物車(chē)系統(tǒng)的存儲(chǔ)架構(gòu)時(shí)需要把握什么原則 30
4.2 如何設(shè)計(jì)“暫存購(gòu)物車(chē)”的存儲(chǔ) 32
4.3 如何設(shè)計(jì)“用戶購(gòu)物車(chē)”的存儲(chǔ) 34
4.4 小結(jié) 36
4.5 思考題 37
第5章 賬戶系統(tǒng):用事務(wù)解決對(duì)賬問(wèn)題 38
5.1 為什么總是對(duì)不上賬 39
5.2 使用數(shù)據(jù)庫(kù)事務(wù)保證數(shù)據(jù)的一致性 40
5.3 理解事務(wù)的隔離級(jí)別 42
5.4 小結(jié) 49
5.5 思考題 50
第6章 分布式事務(wù):保證多個(gè)系統(tǒng)間的數(shù)據(jù)一致 51
6.1 什么是分布式事務(wù) 52
6.2 2PC:訂單與優(yōu)惠券的數(shù)據(jù)一致性問(wèn)題 53
6.3 本地消息表:訂單與購(gòu)物車(chē)的數(shù)據(jù)一致性問(wèn)題 57
6.4 小結(jié) 59
6.5 思考題 59
第7章 用Elasticsearch構(gòu)建商品搜索系統(tǒng) 60
7.1 理解倒排索引機(jī)制 60
7.2 如何在ES中構(gòu)建商品的索引 63
7.3 小結(jié) 67
7.4 思考題 68
第8章 備份與恢復(fù) 69
8.1 如何更安全地實(shí)現(xiàn)數(shù)據(jù)備份和恢復(fù) 70
8.2 配置MySQL HA實(shí)現(xiàn)高可用性 73
8.3 小結(jié) 75
8.4 思考題 76
第二篇 高速增長(zhǎng)
第9章 優(yōu)化SQL 79
9.1 每個(gè)系統(tǒng)必踩的“坑”:訪問(wèn)數(shù)據(jù)庫(kù)超時(shí) 79
9.1.1 事故排查過(guò)程 79
9.1.2 如何避免悲劇重演 85
9.1.3 小結(jié) 87
9.1.4 思考題 88
9.2 如何避免寫(xiě)出“慢SQL” 88
9.2.1 定量認(rèn)識(shí)MySQL 88
9.2.2 使用索引避免全表掃描 90
9.2.3 分析SQL執(zhí)行計(jì)劃 92
9.2.4 小結(jié) 93
9.2.5 思考題 94
9.3 SQL在數(shù)據(jù)庫(kù)中的執(zhí)行 94
9.3.1 SQL在執(zhí)行器中是如何執(zhí)行的 95
9.3.2 SQL在存儲(chǔ)引擎中是如何執(zhí)行的 98
9.3.3 小結(jié) 100
9.3.4 思考題 101
第10章 MySQL應(yīng)對(duì)高并發(fā) 102
10.1 使用緩存保護(hù)MySQL 102
10.1.1 更新緩存的最佳方式 103
10.1.2 注意避免緩存穿透引起雪崩 105
10.1.3 小結(jié) 107
10.1.4 思考題 107
10.2 讀寫(xiě)分離 107
10.2.1 讀寫(xiě)分離是提升MySQL并發(fā)能力的首選方案 108
10.2.2 注意讀寫(xiě)分離帶來(lái)的數(shù)據(jù)不一致問(wèn)題 111
10.2.3 小結(jié) 112
10.2.4 思考題 113
10.3 實(shí)現(xiàn)MySQL主從數(shù)據(jù)庫(kù)同步 113
10.3.1 如何配置MySQL的主從同步 113
10.3.2 復(fù)制狀態(tài)機(jī):所有分布式存儲(chǔ)都是這樣復(fù)制數(shù)據(jù)的 116
10.3.3 小結(jié) 117
10.3.4 思考題 118
第三篇 海量數(shù)據(jù)
第11章 MySQL應(yīng)對(duì)海量數(shù)據(jù) 121
11.1 歸檔歷史數(shù)據(jù) 121
11.1.1 存檔歷史訂單數(shù)據(jù)提升查詢性能 122
11.1.2 如何批量刪除大量數(shù)據(jù) 124
11.1.3 小結(jié) 127
11.1.4 思考題 128
11.2 分庫(kù)分表 128
11.2.1 如何規(guī)劃分庫(kù)分表 129
11.2.2 如何選擇分片鍵 130
11.2.3 如何選擇分片算法 131
11.2.4 小結(jié) 133
11.2.5 思考題 134
第12章 緩存海量數(shù)據(jù) 135
12.1 用Redis構(gòu)建緩存集群的最佳實(shí)踐 135
12.1.1 Redis Cluster如何應(yīng)對(duì)海量數(shù)據(jù)、高可用和高并發(fā)問(wèn)題 136
12.1.2 為什么Redis Cluster不適合超大規(guī)模集群 138
12.1.3 如何用Redis構(gòu)建超大規(guī)模集群 139
12.1.4 小結(jié) 141
12.1.5 思考題 142
12.2 大型企業(yè)如何實(shí)現(xiàn)MySQL到Redis的同步 142
12.2.1 緩存穿透:超大規(guī)模系統(tǒng)的不能承受之痛 142
12.2.2 使用Binlog實(shí)時(shí)更新Redis緩存 144
12.2.3 小結(jié) 149
12.2.4 思考題 150
12.3 基于Binlog實(shí)現(xiàn)跨系統(tǒng)實(shí)時(shí)數(shù)據(jù)同步 150
12.3.1 使用Binlog和消息隊(duì)列構(gòu)建實(shí)時(shí)數(shù)據(jù)同步系統(tǒng) 151
12.3.2 如何保證數(shù)據(jù)同步的實(shí)時(shí)性 152
12.3.3 小結(jié) 154
12.3.4 思考題 154
第13章 更換數(shù)據(jù)庫(kù) 155
13.1 如何實(shí)現(xiàn)不停機(jī)更換數(shù)據(jù)庫(kù) 155
13.2 如何實(shí)現(xiàn)比對(duì)和補(bǔ)償程序 158
13.3 小結(jié) 160
13.4 思考題 160
第14章 對(duì)象存儲(chǔ):最簡(jiǎn)單的分布式存儲(chǔ)系統(tǒng) 161
14.1 對(duì)象存儲(chǔ)數(shù)據(jù)是如何保存大文件的 162
14.2 如何拆分和保存大文件對(duì)象 163
14.3 小結(jié) 166
14.4 思考題 167
第15章 海量數(shù)據(jù)的存儲(chǔ)與查詢 168
15.1 如何存儲(chǔ)前端埋點(diǎn)之類(lèi)的海量數(shù)據(jù) 168
15.1.1 使用Kafka存儲(chǔ)海量原始數(shù)據(jù) 169
15.1.2 使用HDFS存儲(chǔ)更大規(guī)模的數(shù)據(jù) 171
15.1.3 小結(jié) 173
15.1.4 思考題 173
15.2 面對(duì)海量數(shù)據(jù),如何才能查得更快 173
15.2.1 常用的分析類(lèi)系統(tǒng)應(yīng)該如何選擇存儲(chǔ) 174
15.2.2 轉(zhuǎn)變思想:根據(jù)查詢選擇存儲(chǔ)系統(tǒng) 176
15.2.3 小結(jié) 178
15.2.4 思考題 178
第16章 存儲(chǔ)系統(tǒng)的技術(shù)選型 179
16.1 技術(shù)選型時(shí)應(yīng)該考慮哪些因素 180
16.2 在線業(yè)務(wù)系統(tǒng)如何選擇存儲(chǔ)產(chǎn)品 182
16.3 分析系統(tǒng)如何選擇存儲(chǔ)產(chǎn)品 183
16.4 小結(jié) 183
16.5 思考題 184
第四篇 技術(shù)展望
第17章 使用NewSQL解決高可用和分片難題 187
17.1 什么是NewSQL 187
17.2 CockroachDB如何實(shí)現(xiàn)數(shù)據(jù)分片和彈性擴(kuò)容 188
17.3 CockroachDB能提供金融級(jí)的事務(wù)隔離性嗎 190
17.4 小結(jié) 193
17.5 思考題 193
第18章 RocksDB:不丟數(shù)據(jù)的高性能KV存儲(chǔ) 194
18.1 同樣是KV存儲(chǔ),RocksDB有哪些不同 195
18.2 LSM-Tree如何兼顧讀寫(xiě)性能 196
18.3 小結(jié) 199
18.4 思考題 199
附錄A 測(cè)試題及解析 200
附錄B 思考題解析 206
后記 讓奮斗成為習(xí)慣 219

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)