我把数据存储引擎从mongodb更换为mysql了,mongodb磁盘空间浪费太厉害了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
laiwei
V2EX    MongoDB

我把数据存储引擎从mongodb更换为mysql了,mongodb磁盘空间浪费太厉害了

  •  
  •   laiwei 2012-09-15 23:33:04 +08:00 14958 次点击
    这是一个创建于 4774 天前的主题,其中的信息可能已经有所发展或是发生改变。
    项目之初,使用的是mongodb来存储用户数据,当时考虑到的是在数据量变大的情况下,期望查询速度保持基本恒定。

    现在,在2200个用户,大概440万条数据,mongodb共占用了20G的磁盘。

    因为磁盘较贵,

    因此更换为mysql存数据,启用innodb compression,数据转换后,占用了7G,相比mongo,节省了13G的磁盘空间。对于在linode上的服务,相当于每月节省了12$ ^^


    http://laiwei.net/2012/09/15/mongodb和mysql的一个小小的取舍比较/
    15 条回复    1970-01-01 08:00:00 +08:00
    KiseXu
        1
    KiseXu  
       2012-09-16 00:06:58 +08:00
    感谢技术分享,很实用,本来我也想尝试下用mongodb
    liuxurong
        2
    liuxurong  
       2012-09-16 00:10:06 +08:00   1
    MySQL经典好用 MONG被吹大了...
    ivanlw
        3
    ivanlw  
       2012-09-16 01:15:05 +08:00
    mongdb的速度感觉如何呢?
    Air_Mu
        4
    Air_Mu  
       2012-09-16 01:20:11 +08:00
    简单来说MONGDB是MYSQL的3倍嘛。。
    likuku
        5
    likuku  
       2012-09-16 01:24:04 +08:00   1
    @liuxurong mongdb 没被吹大,只是LZ资源有限。一般IDC自有托管机器,硬盘是最便宜的部分了。假若sql语句不好,或者表结构没弄好,经常需要嵌套查询生成很多临时表+全表扫描的,CPU首先就干涸了,硬盘i/o也会受到强烈的考验,这种情况下,memcached 的作用都是很有限的。
    cabbala
        6
    cabbala  
       2012-09-16 02:55:46 +08:00
    应用场景问题,大公司里磁盘资源是最不值钱的东西了。不组RAID的话十来T轻松上。。
    Js
        7
    Js  
       2012-09-16 07:26:57 +08:00
    内存比数据库小用什么mongodb...
    iandyh
        8
    iandyh  
       2012-09-16 10:41:20 +08:00
    2.0 据说放弃 BSON,改了新的存储格式来省空间,有试过吗?
    pppcat
        9
    pppcat  
       2012-09-16 11:00:14 +08:00
    在同等内存开销的情况下缓存+mysql似乎也不低于mongodb
    skydiver
        10
    skydiver  
       2012-09-16 12:55:38 +08:00
    pgsql怎么样?据说最新版支持json格式了
    ratazzi
        11
    ratazzi  
       2012-09-16 13:10:06 +08:00
    我想说一台独立服务器都不建议用 mongodb,更别说内存、硬盘有限的 vps 了
    laiwei
        12
    laiwei  
    OP
       2012-09-18 12:06:59 +08:00
    @ivanlw mongodb的速度还可以(加上索引的情况下),在数据量100G以内,都ok。


    @liuxurong 嗯,mysql的确 可靠,好用,现在发现,"好用"是多么高的评价!

    @Air_Mu mysql 启用innodb compression的时候,是mongo的1/3, 正常情况下,是3/5差不多。


    @likuku mongo至少在大公司来讲,很少用,比如淘宝,百度 等都会选择使用hbase,mongo在一些小的业务上(数据几百G的级别),确实还蛮不错的。

    但是mysql,可以轻松支持上T的业务量,前提是表结构的设计要合理,查询都走主键或者索引。然后主从读写分离。 像你说的出现临时表这种情况,需要从代码层面优化。


    @Js mongodb对内存的要求不高,比如我20G、440万条数据量,600M的内存都跑的很顺畅。

    你说的情况,应该是redis,redis要求数据量一定要小于内存,否则性能会很差,启动也会超慢。
    twm
        13
    twm  
       2012-09-18 13:19:53 +08:00
    mongodb对磁盘空间是个灾难,redis对内存来说也是个灾难。
    Js
        14
    Js  
       2012-09-18 22:07:22 +08:00
    @laiwei 不,确实是mongo, 当然,redis这方面确实比mongo严重。 之前一个应用,原始数据差不多也是20G, 每天更新追加的关系数据有20~30MB,更新内容数据4~8G, 追加新内容数据大致200MB左右, 当然,数据基本一天上都会被读到几次。 测试的时候上了台32G,后台进程做数据归并的时候mongo和应用抢数据抢得厉害,吃swap吃得有点频。 后来就转到了mysql, 拿redis缓存关系数据, 表现良好, 不过有些内容数据一天也就读个几次,innodb buffer调大了成本也有点高, 就把内容数据又移到了kyototycoon, 于是跑得妥妥的
    DuXing
        15
    DuXing  
       2014-03-14 18:04:05 +08:00
    根本原因,可不可以说是JSON格式的数据浪费了很多空间资源?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2679 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 14:53 PVG 22:53 LAX 07:53 JFK 10:53
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86