关闭

缓存与数据库一致性保证

本文主要讨论这么几个问题: (1)啥时候数据库和缓存中的数据会不一致 (2)不一致优化思路 (3)如何保证数据库与缓存的一致性   一、需求缘起 上一篇《缓存架构设计细节二三事》(点击查看)引起了广泛的讨论,其中有一个结论:当数据发生变化时,“先淘汰缓存,再修改数据库”这个点是大家讨论的最多的。 上篇文章得出这个结论的依据是,由于操作缓存与操作...
阅读(49) 评论(0)

细聊冗余表数据一致性

本文主要讨论四个问题: (1)为什么会有冗余表的需求 (2)如何实现冗余表 (3)正反冗余表谁先执行 (4)冗余表如何保证数据的一致性   一、需求缘起 互联网很多业务场景的数据量很大,此时数据库架构要进行水平切分,水平切分会有一个patition key,通过patition key的查询能够直接定位到库,但是非patition key上的查询可能就...
阅读(130) 评论(0)

缓存架构设计细节二三事

本文主要讨论这么几个问题: (1)“缓存与数据库”需求缘起 (2)“淘汰缓存”还是“更新缓存” (3)缓存和数据库的操作时序 (4)缓存和数据库架构简析   一、需求缘起 场景介绍 缓存是一种提高系统读性能的常见技术,对于读多写少的应用场景,我们经常使用缓存来进行优化。 例如对于用户的余额信息表account(uid, money),业务上...
阅读(56) 评论(0)

100亿数据1万属性数据架构设计

对于version + ext方案,还是有很多朋友质疑“线上不可能这么用”。本篇将讲述一下58同城最核心的数据“帖子”的架构实现技术细节,说明不仅不是“不可能这么用”,而是大数据,可变属性,高吞吐场景下的“常用手段”。   一、背景描述及业务介绍 问:什么是数据库扩展的version + ext方案? 使用ext来承载不同业务需求的个性化属性,使用version来标识e...
阅读(183) 评论(0)

这才是真正的表扩展方案

零、缘起 讨论问题域: (1)数据量大、并发量高场景,在线数据库属性扩展 (2)数据库表结构扩展性设计   一、哪些方案一定是不行的 (1)alter table add column 要坚持这个方案的,也不多解释了,大数据高并发情况下,一定不可行   (2)通过增加表的方式扩展,通过外键join来查询 大数据高并发情况下,join性...
阅读(177) 评论(0)

啥,又要为表增加一列属性?

需求缘起 产品第一版:用户有用户名、密码、昵称等三个属性,对应表设计: user(uid, name, passwd, nick) 第二版,产品经理增加了年龄,性别两个属性,表结构可能要变成: user(uid, name, passwd, nick, age, sex) 假设数据量和并发量比较大,怎么变? (1)alter table add ...
阅读(193) 评论(0)

mysql中decimal,numeric,double,float的区别

概述: 简单来说decimal,numeric属于标准数据类型,指定精度和刻度;decimal的存储大小不确定,numeric的存储大小默认8个字节。 double,float属于非标准数据类型,在DB中保存的是近似值,而Decimal则以字符串的形式保存数值。 float,double类型是可以存浮点数(即小数类型),但是float有个坏处,当你给定的数据是整数的时候,那么它就以整数给你处...
阅读(113) 评论(0)

一分钟了解索引技巧

花1分钟时间,了解聚集索引,非聚集索引,联合索引,索引覆盖。   举例,业务场景,用户表,表结构为: t_user( uid primary key, login_name unique, passwd, login_time, age, … );   聚集索引(clustered index):聚集索引决定数据在磁盘上的...
阅读(88) 评论(0)

1对多业务,数据库水平切分架构一次搞定

本文将以“帖子中心”为例,介绍“1对多”类业务,随着数据量的逐步增大,数据库性能显著降低,数据库水平切分相关的架构实践: 如何来实施水平切分 水平切分后常见的问题 典型问题的优化思路及实践   一、什么是1对多关系 所谓的“1对1”,“1对多”,“多对多”,来自数据库设计中的“实体-关系”ER模型,用来描述实体之间的映射关系。   ...
阅读(83) 评论(0)

MySQL的or/in/union与索引优化

假设订单业务表结构为: order(oid, date, uid, status, money, time, …) 其中: oid,订单ID,主键 date,下单日期,有普通索引,管理后台经常按照date查询 uid,用户ID,有普通索引,用户查询自己订单 status,订单状态,有普通索引,管理后台经常按照status查询 mon...
阅读(38) 评论(0)
    个人资料
    • 访问:18286次
    • 积分:1077
    • 等级:
    • 排名:千里之外
    • 原创:92篇
    • 转载:10篇
    • 译文:0篇
    • 评论:5条
    文章分类
    最新评论