转载-数据库
文章平均质量分 61
转载于他人优秀文章
小豆干
这个作者很懒,什么都没留下…
展开
-
分片架构-分片方法
转至——架构师之路公众号分片架构什么是分片?答:分片架构是大伙常说的水平切分(sharding)数据库架构: user-service:依旧是用户中心服务 user-db1:水平切分成2份中的第一份 user-db2:水平切分成2份中的第二份 分片后,多个数据库实例也会构成一个数据库集群。水平切分,到底是分库还是分表?答:强烈建议分库,而...转载 2019-09-22 17:09:07 · 685 阅读 · 0 评论 -
MySQL双主一致性架构优化
一、双主保证高可用MySQL数据库集群常使用一主多从,主从同步,读写分离的方式来扩充数据库的读性能,保证读库的高可用,但此时写库仍然是单点。在一个MySQL数据库集群中可以设置两个主库,并设置双向同步,以冗余写库的方式来保证写库的高可用。二、并发引发不一致数据冗余会引发数据的一致性问题,因为数据的同步有一个时间差,并发的写入可能导致数据同步失败,引起数据丢失:如...转载 2019-09-28 15:58:56 · 127 阅读 · 0 评论 -
DB主从一致性架构优化4种方法
需求缘起大部分互联网的业务都是“读多写少”的场景,数据库层面,读性能往往成为瓶颈。如下图:业界通常采用“一主多从,读写分离,冗余多个读库”的数据库架构来提升数据库的读性能。这种架构的一个潜在缺点是,业务方有可能读取到并不是最新的旧数据:(1)系统先对DB-master进行了一个写操作,写主库(2)很短的时间内并发进行了一个读操作,读从库,此时主从同步没有完成,故读取到了一个旧数...转载 2019-09-28 15:45:03 · 104 阅读 · 0 评论 -
互联网公司为啥不使用mysql分区表?
缘起:有个朋友问我分区表在58的应用,我回答不出来,在我印象中,百度、58都没有听说有分区表相关的应用,业内进行一些技术交流的时候也更多的是自己分库分表,而不是使用分区表。于是去网上查了一下,并询问了58到家的DBA专家,将自己收到的信息沉淀下来,share给大伙。解决什么问题?回答:当mysql单表的数据库过大时,数据库的访问速度会下降,“数据量大”问题的常见解决方案是“水平切分”...转载 2019-09-28 13:41:53 · 74 阅读 · 0 评论 -
100亿数据1万属性数据架构设计
对于version + ext方案,还是有很多朋友质疑“线上不可能这么用”。本篇将讲述一下58同城最核心的数据“帖子”的架构实现技术细节,说明不仅不是“不可能这么用”,而是大数据,可变属性,高吞吐场景下的“常用手段”。一、背景描述及业务介绍问:什么是数据库扩展的version + ext方案?使用ext来承载不同业务需求的个性化属性,使用version来标识ext里各个字段的含义...转载 2019-09-28 13:39:29 · 95 阅读 · 0 评论 -
数据量大的表增加一列属性
需求缘起产品第一版:用户有用户名、密码、昵称等三个属性,对应表设计:user(uid, name, passwd, nick)第二版,产品经理增加了年龄,性别两个属性,表结构可能要变成:user(uid, name, passwd, nick, age, sex)假设数据量和并发量比较大,怎么变?(1)alter table add column?不太可行,锁表时间长...转载 2019-09-28 13:11:07 · 1048 阅读 · 0 评论 -
MySQL主从延时这么长,要怎么优化?
MySQL主从复制,读写分离是互联网常见的数据库架构,该架构最令人诟病的地方就是,在数据量较大并发量较大的场景下,主从延时会比较严重。为什么主从延时这么大?答:MySQL使用单线程重放RelayLog。应该怎么优化,缩短重放时间?答:多线程并行重放RelayLog可以缩短时间。多线程并行重放RelayLog有什么问题?答:需要考虑如何分割RelayLog,...转载 2019-09-28 12:30:12 · 116 阅读 · 0 评论 -
分片架构-粉丝关注,数据冗余
数据冗余,是多对多关系,在数据量大时,数据水平切分的常用实践。如何进行数据冗余接下来的问题转化为,好友中心服务如何来进行数据冗余,常见有三种方法。方法一:服务同步冗余顾名思义,由好友中心服务同步写冗余数据,如上图1-4流程: 业务方调用服务,新增数据 服务先插入T1数据 服务再插入T2数据 服务返回业务方新增数据成功 ...转载 2019-09-22 17:12:48 · 242 阅读 · 0 评论 -
分片架构实践-基因因子分片
一、用户中心用户中心是一个非常常见的业务,主要提供用户注册、登录、信息查询与修改的服务,其核心元数据为:User(uid, login_name, passwd, sex, age, nickname, …)其中: uid为用户ID,主键 login_name, passwd, sex, age, nickname, …等用户属性 数据库设计上,一般来说在业务初期,...转载 2019-09-22 17:11:03 · 972 阅读 · 0 评论 -
主从DB与cache一致性
本文主要讨论这么几个问题:(1)数据库主从延时为何会导致缓存数据不一致(2)优化思路与方案一、需求缘起上一篇《缓存架构设计细节二三事》中有一个小优化点,在只有主库时,通过“串行化”的思路可以解决缓存与数据库中数据不一致。引发大家热烈讨论的点是“在主从同步,读写分离的数据库架构下,有可能出现脏数据入缓存的情况,此时串行化方案不再适用了”,这就是本文要讨论的主题。二、为...转载 2019-09-28 16:59:32 · 111 阅读 · 0 评论