生产业务高并发的应对和高并发数据库如何设计?

随着互联网的发展,各种高并发应用场景都有,作为DBA我们应该如何应对和设计数据库呢?

参与29

6同行回答

youyouwoxin888youyouwoxin888IT顾问深圳市深賽爾股份有限公司
本人是初学者,仅代表自己的观点,主要以下几点:1、优化表设计防止并发导致数据错乱和奔溃;2、通过事务+通过更新锁,防止并发导致数据错乱和奔溃;3、通过程序代码防止包并发下的数据错乱和奔溃问题;...显示全部

本人是初学者,仅代表自己的观点,主要以下几点:
1、优化表设计防止并发导致数据错乱和奔溃;
2、通过事务+通过更新锁,防止并发导致数据错乱和奔溃;
3、通过程序代码防止包并发下的数据错乱和奔溃问题;

收起
金融其它 · 2017-07-20
haizdlhaizdl技术经理大连
如果高并发是最主要的特点,并且并发量巨大的情况下,可以考虑NOSQL。关系型数据库毕竟要保证数据的强一致性,这个与高并发本质上是矛盾的。虽然可以通过缓存一致性等类似技术来解决,但是也是缓解并发冲突。只有放弃强一致性求其次弱一致性才可能实现真正的高并发。...显示全部

如果高并发是最主要的特点,并且并发量巨大的情况下,可以考虑NOSQL。关系型数据库毕竟要保证数据的强一致性,这个与高并发本质上是矛盾的。虽然可以通过缓存一致性等类似技术来解决,但是也是缓解并发冲突。只有放弃强一致性求其次弱一致性才可能实现真正的高并发。

收起
银行 · 2017-07-20
GBase_DavidGBase_DavidDBAGBase
问题太宽泛了。我说的也未必准确,只是个人的一点感觉:1、结合业务的需要;2、行锁;3、合适的隔离级;4、IO均衡的考虑显示全部

问题太宽泛了。
我说的也未必准确,只是个人的一点感觉:
1、结合业务的需要;
2、行锁;
3、合适的隔离级;
4、IO均衡的考虑

收起
IT其它 · 2017-07-20
美国队长美国队长研发工程师Alibaba
我绝对这个是没有套路的,你要是按照套路来最后坑的是自己。具体的要结合你的场景,也不要想一下子就去模仿Bat的数据库设计,比如说,你可以结合业务抽象出不同的实体,实体之间的关系如何存储就得从你平时数据如何进来如何被使用来决定,对于历史数据是否是绝对冷数据等,然后考虑通...显示全部

我绝对这个是没有套路的,你要是按照套路来最后坑的是自己。具体的要结合你的场景,也不要想一下子就去模仿Bat的数据库设计,比如说,你可以结合业务抽象出不同的实体,实体之间的关系如何存储就得从你平时数据如何进来如何被使用来决定,对于历史数据是否是绝对冷数据等,然后考虑通过横向或者纵向扩展去支持高并发,还是应用端就去考虑负载均衡来减轻数据库的压力等。

收起
互联网服务 · 2017-07-20
匿名用户匿名用户
如果高并发是最主要的特点,并且并发量巨大的情况下,可以考虑NOSQL。关系型数据库毕竟要保证数据的强一致性,这个与高并发本质上是矛盾的。虽然可以通过缓存一致性等类似技术来解决,但是也是缓解并发冲突。只有放弃强一致性求其次弱一致性才可能实现真正的高并发。...显示全部

如果高并发是最主要的特点,并且并发量巨大的情况下,可以考虑NOSQL。关系型数据库毕竟要保证数据的强一致性,这个与高并发本质上是矛盾的。虽然可以通过缓存一致性等类似技术来解决,但是也是缓解并发冲突。只有放弃强一致性求其次弱一致性才可能实现真正的高并发。

收起
互联网服务 · 2017-07-25
浏览2422
DB-TrendSetterDB-TrendSetter联盟成员数据库架构师公司
应对高并发环境,提数据库设计,就不得不提应用设计,在高并发环境下,两者的依赖程度非常高。1.数据库无非就是分库、分表,按照业务类型以及耦合度,进行数据库的垂直拆分,然后再按照表的某个维度进行表分区。2.数据库读写分离。3.数据库拆分需要应用拆分为前提。...显示全部

应对高并发环境,提数据库设计,就不得不提应用设计,在高并发环境下,两者的依赖程度非常高。
1.数据库无非就是分库、分表,按照业务类型以及耦合度,进行数据库的垂直拆分,然后再按照表的某个维度进行表分区。
2.数据库读写分离。
3.数据库拆分需要应用拆分为前提。

收起
电信运营商 · 2017-07-21
浏览2568

提问者

y18511664518
技术总监长城超云
擅长领域: 数据库存储关系型数据库

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2017-07-20
  • 关注会员:7 人
  • 问题浏览:5062
  • 最近回答:2017-07-25
  • X社区推广