Storm 实在是太强大了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Livid
179.91D
602.2D
V2EX    Tornado

Storm 实在是太强大了

  •  
  •   Livid
    PRO
    2011-11-14 02:46:05 +08:00 8471 次点击
    这是一个创建于 5138 天前的主题,其中的信息可能已经有所发展或是发生改变。
    或许这不是一段很好的代码,但是刚才实在是被模版里这样的一段表达式给震撼了:

    {{ mention.event.reply_to.member.username }}
    17 条回复    1970-01-01 08:00:00 +08:00
    Los
        1
    Los  
       2011-11-14 02:48:30 +08:00
    rails 里最不缺少的就是这个
    ayanamist
        2
    ayanamist  
       2011-11-14 07:36:12 +08:00
    已经看到无数人吐槽Storm后转到SQLAlchemy了,期待过一段时间后Livid的吐槽。
    Livid
        3
    Livid  
    MOD
    OP
    PRO
       2011-11-14 07:38:12 +08:00
    @ayanamist 吐槽点是?
    huangz
        4
    huangz  
       2011-11-14 08:41:18 +08:00
    数据量大之后Storm会出现莫名其妙的锁表问题,在pythoncn的邮件列表里有个帖子说到过。
    muxi
        5
    muxi  
       2011-11-14 09:39:02 +08:00
    @huangz 所有的ORM在数据量大了之后都是鸡肋,而且没法优化或者很难优化
    chloerei
        6
    chloerei  
       2011-11-14 09:42:25 +08:00
    @muxi @huangz 不要过早优化
    chloerei
        7
    chloerei  
       2011-11-14 11:03:36 +08:00
    补充一下,实际中做页面片段缓存或者对象缓存或者队列缓存,比数据库层面的优化更好。
    est
        8
    est  
       2011-11-14 11:08:42 +08:00
    编程语言设计有两个方向,一钟是接近数理逻辑,一种是接近人性化。
    huangz
        9
    huangz  
       2011-11-14 11:29:28 +08:00
    @muxi @chloerei

    是的,受教了。

    我是看到有人问,才指出 Storm 存在的问题而已。实际上,比起 SQLAlchemy 我更喜欢简单易用的 Storm 多一些。
    Livid
        11
    Livid  
    MOD
    OP
    PRO
       2011-11-14 12:04:21 +08:00
    @ayanamist 感谢分享。

    不过 March Liu 的情况是:

    他用的数据库是 PostgreSQL
    他用到了 foreign key

    而目前我的项目里是 MySQL,而且没有用到 foreign key,也暂时还没有用到 transaction,所以目前一切情况还好。

    当然,如果将来在我的项目中的 Storm 出现了什么奇怪问题,我会在第一时间在这里向大家分享和请教细节的。
    ayanamist
        12
    ayanamist  
       2011-11-14 12:17:19 +08:00
    @Livid 反正从我看他们的代码而言,SQLAlchemy的代码质量比Storm要好太多了。
    muxi
        13
    muxi  
       2011-11-14 13:42:15 +08:00
    @chloerei 去年的今天我也是这么想的,先做起来再说。互联网业务速度增长的非常的快,就那么几个人,业务不断的还在继续增长,需求不断的新增,新招聘的人不能马上介入开发,这都是问题,虽然我不后悔当初对ORM的选择,但是从发展层面来说,我遇到了ORM这个模式本身的问题,从技术层面去重构程序需要面临的压力非常的大,首先你得保证现有业务的稳定性,还得保证能持续优化,在重构没有完成之前不能拖业务的后退,还得面临新需求的开发和迭代。在一个业务驱动的团队里,在系统没有倒掉之前,基本上你的领导都会告诉你,先做xxx,然后再去优化,等到真正倒掉的时候,开始心急火燎的要你xx天完成重构工作,而且还得保证新需求的研发。

    So,我的建议是,考虑你未来18个月的需求,这不是过度优化,而是前瞻性眼光。如果你不能预估,那么就按照100倍来估计,如果你项目刚刚还是上线,还没有流量,至少要保证能承受每秒1000个请求,哪怕是现在不能,但是未来可以通过添加服务器横向扩展达到。在12个月后,重新检查你的系统,如果不能满足从那以后18个月的需求,你应该着手布置你的重构计划,如果你不能,那么至少也要邮件说明。
    keakon
        14
    keakon  
       2011-11-14 13:56:33 +08:00
    都不知道这些ORM怎么处理异步,于是觉得还是自己发明轮子算了
    fanzeyi
        15
    fanzeyi  
       2011-11-14 19:29:51 +08:00
    曾经被 March Liu 批了一顿之后被推荐去用 SQLAlchemy 了..
    Livid
        16
    Livid  
    MOD
    OP
    PRO
       2011-11-14 19:46:10 +08:00
    @keakon 我打算改天试试 Tornado 里新增的 gen 能否用来搞定数据库写入的异步。
    fire5
        17
    fire5  
       2012-09-09 21:23:29 +08:00
    SQLObject
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5828 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 02:41 PVG 10:41 LAX 18:41 JFK 21:41
    Do have faith in what you're doing.
    ubao msn 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