五千年(敝帚自珍)

主题:【原创】也来说说Linux和Windows下的开发感受 -- 昔杨今雨

共:💬203 🌺502
全看分页树展 · 主题 跟帖
家园 我毕业的时间比94可能还是要早那么一点

风兄是不是把我和什么人搞混了。

已经有一段时间没碰数据库了,最近的测试数据手头也没有。可能最近会做一些数据库效率的测试。根据我之前的经验,基本上Oracle的处理速度具体要看你的测试环境和逻辑复杂程度。Oracle内部操作的确是比较快,但是通常的商用系统业务逻辑都是定义在数据库外部的。在你的测试用例中,一个transaction,只查询4次数据库,更新一次数据库,这个有点理想化。一笔简单的转账,包括从源账户扣除,在目标账户记入,两边的流水记入,以及日志,就是5条写操作。加上花在事务协议上的时间,虽然现在的数据库和硬件都比几年前有所提高,但是如果业务逻辑在数据库外部,单PC节点800tps肯定是不可能的。

我们之前,曾经做过多币种的实时交易系统,里面的逻辑比较复杂。一笔简单的转账,需要更新10多张表。最后查询使用Cache,交易过程使用存储过程。单纯在数据库内部调用存储过程,在单PC服务器下面每秒钟大约可以做到60次左右,但是,从Java端调用,每秒钟就只能到10几次。当然,这是几年前的系统,现在应该性能有所提高。

现在使用一些Partition和Data Grid的配置或者第三方工具,可以大大提高查询和更新的速度。但是对于一些Cross join的交易,还是比较麻烦。而且,数据库昂贵的license,(特别是RAC和partition)也是一个负担。除了金融和博彩业,能用得起Oracle做网站存储解决方案的太少了。如果腾讯之类的企业采用oracle的解决方案,估计早就销声匿迹了。

对于技术差的看法。可能我们对技术差的定义不太一样。

没经验不是问题,只要有想法,有学习能力,有钻研能力,就是可造之材。个人而言,我挺喜欢和这一类的人工作。他们不应该被称为“技术差”,只是缺乏经验而已。正如你所言,缺乏经验可能往往也会成为一种优势。所以,对于工作有一段时间的“老兵们”来说,有的时候,能忘记自己所了解的东西,从头学起,也是一种能力。

但是,如果一个人工作了三五年,对于他自己所作的技术问题还是一知半解,这种“技术差”的员工,哪怕再有想法,从我目前的角度来看,我也只会去选择无视,即使最终可能采用的方法和他的类似。这里面有团队管理的问题,也有信任方面的问题。

通宝推:然后203,
全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河