Oracle
hongrenldd
这个作者很懒,什么都没留下…
展开
-
Mysql水平分表
Mysql在数据量大的情况下,会遇到水平分表的情况。1. 根据业务属性拆表这种分表方式的算法大致是取模,hash,md5等。用业务属性拆表,业务关系复杂的情况下,如果要根据其他条件查询,其他的条件都必须和这个属性关联起来,查询条件必须带有这个属性。例子:用户profile表根据用户ID取模进行水平拆分。社区里有群组,群组里有应用,应用有各种类型。可以用群组ID,应用ID拆表...2011-02-22 10:26:19 · 192 阅读 · 0 评论 -
海量数据的删除策略
1.延迟删除一条数据会被很多数据引用。当被引用的数据删除时,引用的数据也需要删除。这时候可以用延迟删除的方法。例子:用户发表的帖子,可以被转发到很多地方。所有转发过的贴都是对原帖的引用,用户接着把他的原帖删除,所有被转发过的帖子也需要进行清理。我们采用的是延迟删除的方法,用户操作时,先直接删除原帖,被转发的贴,在点击时,会到原帖加载内容,这时发现原帖已经不存在,此时这条被点击的转发贴也...2011-02-24 13:53:43 · 200 阅读 · 0 评论 -
最近分表的一点感想
1. 都是基于散列算法分表,有两种不同的方法, 一种取模法,但是取模也是先预估100张,也可以先用10张,10张表相当于0, 9,19, 29等,如果模下来的在5就寻址到值为9的那张表,这样即使加入新的10张表也只要迁移部分数据。 二种一致性hash,按100张表为例,每个物理节点增加10个虚拟节点。不要舍不得增加虚拟节点,直到算出来的节点比较平均就可以了。 2. 数据不要舍不...原创 2012-06-15 08:08:03 · 100 阅读 · 0 评论