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

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

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

定 價:¥89.00

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

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

內(nèi)容簡介

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

作者簡介

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

圖書目錄

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

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號