• 电商存储系统实战 架构设计与海量数据处理
21年品牌 40万+商家 超1.5亿件商品

电商存储系统实战 架构设计与海量数据处理

55.7 6.3折 89 全新

库存8件

四川成都
认证卖家担保交易快速发货售后保障

作者李玥

出版社机械工业出版社

ISBN9787111697411

出版时间2022-01

装帧平装

开本16开

定价89元

货号1202562715

上书时间2024-06-23

聚合博文书店

十年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
李玥,美团基础技术部不错技术专家,极客时间《后端存储实战课》《消息队列高手课》等专栏作者。曾在当当网、京东零售等公司任职。从事互联网电商行业基础架构领域的架构设计和研发工作多年,曾多次参与“双十一”和“618”电商大促。专注于分布式存储、云原生架构下的服务治理、分布式消息和实时计算等技术领域,致力于推进基础架构技术的创新与开源。

目录
前言 换一种方式学习存储系统

篇 设计

章 如何设计电商系统 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

0章 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

第三篇 海量数据

1章 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

2章 缓存海量数据 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

3章 更换数据库 155

13.1 如何实现不停机更换数据库 155

13.2 如何实现比对和补偿程序 158

13.3 小结 160

13.4 思考题 160

4章 对象存储:最简单的分布式存储系统 161

14.1 对象存储数据是如何保存大文件的 162

14.2 如何拆分和保存大文件对象 163

14.3 小结 166

14.4 思考题 167

5章 海量数据的存储与查询 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

6章 存储系统的技术选型 179

16.1 技术选型时应该考虑哪些因素 180

16.2 在线业务系统如何选择存储产品 182

16.3 分析系统如何选择存储产品 183

16.4 小结 183

16.5 思考题 184

第四篇 技术展望

7章 使用NewSQL解决高可用和分片难题 187

17.1 什么是NewSQL 187

17.2 CockroachDB如何实现数据分片和弹性扩容 188

17.3 CockroachDB能提供金融级的事务隔离性吗 190

17.4 小结 193

17.5 思考题 193

8章 RocksDB:不丢数据的高性能KV存储 194

18.1 同样是KV存储,RocksDB有哪些不同 195

18.2 LSM-Tree如何兼顾读写性能 196

18.3 小结 199

18.4 思考题 199

附录A 测试题及解析 200

附录B 思考题解析 206

后记 让奋斗成为习惯 219

内容摘要
电商系统覆盖面广,在其他业务中遇到的技术问题,大多数在电商系统中也会遇到。本书以电商应用场景为例,讲解实战过程中常会遇到的各种存储问题。通过这样的学习方式,用户既可以快速地解决实际问题,还能提升技术能力。全书共18章,分为设计篇、高速增长篇、海量数据篇和技术展望四篇。

设计篇

解决电商系统从0到1构建过程中遇到的存储问题。比如,如何低成本、高质量地快速构建一个小规模的订单存储系统。

高速增长篇

关注在快速变化的过程中系统一定会遇到的一些共通问题及其应对方式。比如,如何从单机的存储系统逐步演进为分布式存储系统,如何在线平滑地扩容存储系统。

海量数据篇

重点解决在高并发、海量数据的情况下该如何设计存储系统的问题。比如,如何存储海量的埋点数据,如何在各种数据库之间实时地迁移和同步海量数据,等等。

技术展望篇

带读者了解存储技术未来的发展趋势,提前了解未来可能会落地的存储新技术。

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP