作者powerup (东刀轮一流)
看板Database
标题Re: [系统] 正规/反正规化的取舍
时间Mon Jun 11 10:32:09 2012
这是alpe前辈要回文却不小心寄到我信箱的文,贴出来和大家分享
作者 alpe (薛丁格的猫)
标题 Re: [系统] 正规/反正规化的取舍
时间 Fri Jun 8 21:00:56 2012
───────────────────────────────────────
※ 引述《powerup (东刀轮一流)》之铭言:
: 各位前辈好,有些关於资料库规划的问题想请问一下
: 小弟目前的专案有点像会员制的google reader 一样,使用者可以自订阅其想要的网站
... ...
: 但是现在主管想要增进我们资料库的效能,不管空间浪费(因为现在硬碟很便宜)
: 所以他要求用反正规化的方式,亦即每一个使用者都用一个资料表
不是这样玩的啊... DBA会想死的, 你们之後也会想死.
1. 是否有要做统计分析? 一堆table资料要汇整... 想到就累.
2. 会员旧资料的清除? 又是一个一个跑.
3. 资料库换server,升级? (不熟)但dump出来的应该大很多很多.
4. 未来架构 "0" 扩充性. 要改就 N 个table!!! 停机要停多久?
: 彼此订阅的网站互不干涉,资料重复没差
: 这样子资料存取会比较快,因为不用做where查询,使用者越多越明显(跟原先的结构比
)
join ?
: 而且同步也方便(我们之後会有许多台伺服器,会有资料库同步问题)
: 因为原先的结构是储存id,如果同一个网站在不同伺服器有不同的id同步会很麻烦
订阅不是常常发生 insert 比例比较低, 其实用 multi-master还ok
MM 下id同步好解决. M1 pkey+3 M2 pkey+5 M3 pkey+7. 质数很多....
用master-slaver 差个几秒也没人知道(fb表示,你知道了能咬我吗?)
: 但是这样的话,资料库里会有一堆user table耶!
: 又,一般网路游戏或其他有会员制的的专案是怎麽管理庞大的会员资料的啊
: (约数十万笔以上,而且会员数会一直增加)?
.. ...
: 我朋友说mysql一个资料表要维持最高效能,所储存的资料大约只有十万笔
我公司比较小的资料库... 7M个会员. 大点的... 千万级(国际的色情网站啊).
用 MySQL , 我现在的案子小的. 7M个会员.
每个会员大概30个属性...
搜寻有用到index的话. 0.00xx sec, 没用到 index 1~2s.
好好弄好index才是正途.
以你的case 抓一笔资料出来做join.... 真的很快.
: 就算是分散式资料库,也只是把不同table分散到不同伺服器而已啊
谁说得?? 同一个table再不同server 也是可以减少 slow query 带来的灾难.
: 所以可以每十万笔资料换一个资料表,也就是有user_table1, user_table2之类的
: 这样在做查询时,还要先作数学运算看这个使用者是在哪个资料表......
google : mysql partition
不用... mysql 会帮你做好, 但旧写法得却会是这样
--
Exactly. For that one fraction of a second, you were open to options
you had never considered. THAT is the exploration that awaits you:
not mapping stars and studying nebulae,but
charting the unknown possibilities of existence.
Star Trek S7E26 "All Good Thing"
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.31.105.62
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.128.209.67
※ 编辑: powerup 来自: 220.128.209.67 (06/11 10:35)
1F:推 LaPass:推关键字 mysql partition 06/11 12:34