TOP
0
0
【簡體曬書區】 單本79折,5本7折,活動好評延長至5/31,趕緊把握這一波!
電商存儲系統實戰:架構設計與海量數據處理(簡體書)
滿額折

電商存儲系統實戰:架構設計與海量數據處理(簡體書)

人民幣定價:89 元
定價
:NT$ 534 元
優惠價
87465
領券後再享88折
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:13 點
相關商品
商品簡介
名人/編輯推薦
目次

商品簡介

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

名人/編輯推薦

基於實戰案例系統講解電商系統的存儲設計,詳細分析不同規模存儲系統的構建方法。

目次

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

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 465
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區