1,大型的电商网站数据库要如何设计? 2,如何处理数据库死锁问题?

本文讨论了大型电商网站数据库设计的关键要素,包括业务理解、数据库模型定义及活动高峰期的性能优化策略。同时,文章深入分析了死锁问题的识别与解决方法,提供了实用的排查与解决技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 大型的电商网站数据库要如何设计是一个很广的话题了,我个人是偏管理的,所以只能给一些我的理解
a. 业务上,需要对电商有一定的行业经验,熟悉电商主要的业务模块
b. 了解对方的电商的主要特色,比如淘宝这种,是搭载了多个商家的,Amazon这种,走的是多元化产品(大而全),早期的当当,是专精的模式
c. 根据前面两点,定义数据库模型
d. 描述设计细节上的注意事项,最好是有针对性的举例说明,比如电商中的活动,每个活动都会导致短时间内的大量用户访问,在DB的设计层面,你是如何设计来支持这种情况
2. 关于死锁,简单地来说,就是找问题和分析解决而已,对于找问题,真正的死锁,死锁的进程中肯定有一个程序会报错,所以这个查看程序的错误信息就知道了,如果要知道死锁的详细详细,可以通过Profile的Deadlock graph去跟踪死锁的详细资源,再根据冲突的资源确定解决方法。

实际应用中,死锁还是比较少的,通常说的死锁,更多的是阻塞,就是某个程序平时都跑得很快,但突然在一些时间跑得非常慢了,对于这种,可以使用Profile中的 Blocked Process Report 事件去Trace,或者是在出现问题时,通过 sp_who 查询 sql 上的进程,其中 blk 列有具体数字的,表示该进程被 blk 列对应的进程阻塞了,可以分析这两个进程的操作来查询死锁的原因(详细分析时,可以通过sp_lock 确定具体等待的资源)

邹建

http://my.youkuaiyun.com/zjcxc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值