2016 - 2024

感恩一路有你

四大国产数据库 支撑日活百万用户的高并发系统,应该如何设计其数据库架构? ?

浏览量:2485 时间:2021-03-11 04:54:02 作者:admin

支撑日活百万用户的高并发系统,应该如何设计其数据库架构? ?

以MySQL为列:

1:要支持高并发系统,必须涉及事务,所以数据库引擎必须选择InnoDB。InnoDB支持事务,事务级别取决于业务。如果业务数据一致性要求非常高,事务将开启序列化级别,这将完全隔离事务,但会导致对锁资源的竞争加剧。MySQL的性能在一定程度上降低了。

2:数据库分为主数据库和从数据库。主数据库负责写入数据,集群数据库负责读取数据。注意主从数据库的数据一致性。

3:冷热数据分离,美团、饥饿部分设计采用冷热数据分离。以订单为例,出库单的主要业务场景是查询。数据查询越向前,概率越低。这是冷数据。正在交易的订单是热点数据,需要随时查询和更新。冷数据可以放入redis缓存。这将提高查询效率。

4:数据表设计,充分利用索引查询。businesssql避免返回无用的行和列,禁止使用select*query,在查询时增加限制,并尽可能返回满足要求的行。对于复杂的SQL,请考虑拆分SQL。拆分SQL有一个优点。对于重复查询SQL,将第二次查询放入MySQL缓冲区,避免重复磁盘操作,提高访问性能。

5:子数据库和子表。例如,业务数据按月份分类。在一定程度上,增加、删除、修改和检查的压力将得到缓解。

希望对您有所帮助。谢谢您。

大数据时代需要哪些数据库技术?

Tidb是一款面向在线事务处理(HTAP)的融合数据库产品:混合事务/分析处理。实现了一键水平扩展、多拷贝数据安全性强、分布式事务、实时OLAP等重要特性。同时,它与MySQL协议和ecolog兼容,易于移植,运行维护成本低。更重要的是,它是一个开源的分布式数据库,在大数据时代不可或缺。

大数据时代其实就是数据集成和分析的时代,传统的数据库是分不开的,比如MySQL和Hadoop。不过,目前各大厂商都在自己研究,比如阿里就有单独的研发。腾讯也是如此。当然,标题的分析速度也要提高,否则就无法实现准确的推荐。

大数据时代,每个大工厂都有自己的核心计算分析模型。当然,一定是在海量数据之后。不需要小公司,只需要几个mysql。Tidb也不错。

由蚂蚁金服自主研发的数据库超越Oracle登顶全球第一,你怎么看?

让我们看看TPC是什么样的组织。写科普太懒了。让我们看一波人高潮。

2019年,谈论六年前的数据是否感到自豪?

当数据库扼住系统性能咽喉,直接分库分表能解决吗?

子数据库和子表是一种相对落后的优化方法,因为成本相对较高。

遇到数据库瓶颈:

-首先考虑SQL优化,这是最简单的方法。对现有系统没有影响。

-第二个是考虑数据库读写分离,这也是一个相对简单的方法。在数据库级配置中,系统级只需要调整获取数据库连接的逻辑即可。读取数据时,可以同时获得主库和从库连接。写入数据时,仅获取主库连接。

-考虑添加缓存层。数据缓存在缓存中,再次访问时不再从数据库检索。通常,缓存层对系统是透明的,对系统本身没有影响。但是,cache的引入也引入了相应的需要考虑的问题,如雪崩、命中率、分布式cache等]-还有一种非技术手段,就是改变需求。性能问题的原因是否不合理?还是要求太复杂?需求可以简化吗?这种方法对系统的影响相对较小。

-最后,考虑子数据库和子表。优先考虑子数据库,因为它比子表简单。将相应的表移动到新的数据库中,并调整系统的逻辑以获得数据库连接。在这里,我们需要考虑移动哪些表。在提高性能的前提下,我们首先尝试避免分布式事务。

-最后,考虑子表。子表的主要原因是单个表中的数据量很大。子表分为纵断面和横断面。垂直剪切是按列剪切的,例如用户表。常用信息为基本信息表,其他信息为明细表。横切是按行切割。例如,一个有1亿数据的表被分成10个有1000万数据的表。这涉及到数据应该存储在哪个表中或从哪个表中获取。在表被划分之后,可以对数据库进行进一步的优化。

-如果涉及分布式事务,应考虑如何保证分布式事务。理论上,2个,3个,帕克斯,帽子,底座。相应中间件的使用。

系统的设计和优化不是模仿的问题,而是需要根据实际场景进行处理。

四大国产数据库 自动化运维平台 devops etl数据分析

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。