频道栏目
读书频道 > 数据库 > Oracle > 高并发Oracle数据库系统的架构与设计
1.1.1 从一次谈话说起
2014-11-27 16:42:42     我来说两句
收藏   我要投稿
Foreword?推 荐 序 一文以载道 书以自娱侯松的新书付梓,嘱我为序,品读精华章节,览其前言,心有所感,遂言而记之。关于写作之因由,于作者来说,一直是最为重要的缘起。认真地写作一本好书,其中的坚持、勤  立即去当当网订购
应用架构师:“哥们!还记得上半年让你们帮忙做的一次数据库容量测试吗?”
数据库架构师:“当然!我们可是费了很大的工夫才完成的。”
应用架构师:“当时不是说我们在现有的硬件条件下,数据库的容量足够承受当时4倍业务压力吗?可是下半年我们的业务量才增长了0.5倍,怎么就不行了呢?”
数据库架构师:“从系统资源利用率的报告来看,CPU、内存、I/O、网络上都没有太大的压力。但是,在业务高峰时段,CPU出现短暂冲高的现象。”
应用架构师:“没错!在应用端可以看到出现用户阻塞,中间件上的连接持续增加,没有得到及时释放。”
数据库架构师:“嗯,那是数据库未能及时响应造成的。CPU冲高,通过监控,我们发现很多并发的会话在争用一些资源,比如数据块、索引块、Latch和Mutex。表现出很多等待事件的冲高。”
应用架构师:“我想我们遇到高并发争用的麻烦了。”
数据库架构师:“是的。当初这套系统的设计,预期到现在这么大的业务压力了吗?”
应用架构师:“谁也不会有这种先见之明吧?当初只是一种业务的尝试而已,谁能想到市场的反应会那么好!从数据库层面来看,有什么好办法吗?毕竟现在的问题出在数据库上。”
数据库架构师:“办法是有的,针对性地一一解决掉。但是,这总归是治标不治本的办法。就像治水,现在压力我们堵住了,如果压力再大一些呢?我需要你的帮助。”
应用架构师:“你是说业务架构的变更吗?小变化没有问题,但是要像互联网公司那样大改,肯定是不行的,我们接受不了这么大的变化。”
数据库架构师:“是的,变革对我们来说,成本太大,小帆船掉头容易,航母掉头可能就要出事情了。”
应用架构师:“我们最近在开发消息队列,能一定程度上缓解用户的高并发压力。但这是以牺牲用户体验作为代价的,终归不是太好的办法。”
数据库架构师:“我想我们可以学习大禹治水,堵不上,就疏通。先将一部分业务压力分离出去,在子数据库和主数据库之间即时同步必要的数据,同时适当冗余数据到子数据库,减少数据库之间的交互。”
应用架构师:“是个好办法,我们现在不就是这么在做的吗?问题不还是在那里吗?”
数据库架构师:“我想是的。因为业务热点过于集中,在数据库上这部分业务数据耦合度又非常高,没有办法做到有效拆分。”
应用架构师:“这不奇怪,我们的业务逻辑的复杂程度不是互联网应用可以比拟的,没办法像他们那样去充分地解耦。但是,我们是否可以学习他们使用廉价MySQL数据库代替Oracle数据库,这样业务分离的成本就低了很多。”
数据库架构师:“你确定这样的成本会低吗?Oracle数据库的开发人员真的会开发MySQL吗?我们的业务逻辑是很难在MySQL数据库上实现的,现在Oracle数据库帮助我们完成了大部分的数据耦合,如果使用MySQL,这些都将要在应用端完成,开发成本将会增加。另外,Oracle有强大的优化器机制,开发者写得不算太好的SQL,它也能包容,MySQL则不然了,SQL写得不好,马上给你颜色看,因为它的优化机制不能跟Oracle相提并论。与Oracle相比,MySQL只能作为一个数据容量来看待。”
应用架构师:“你说的这些我也明白,但是我们的数据库是应该架构扩展了吧?”
数据库架构师:“当然。虽然我们不能做到充分的数据解耦,但是一点一点地解还是可以的吧。我们现在的问题是解决高并发问题,而高并发集中的那部分业务就是我们的目标。”
应用架构师:“那部分业务很难弄哦。读写比例为5∶1,写操作占比还是蛮高的,而且都交织在一起的。最大的问题是要保证较快的响应速度,否则高并发压力就会积压。”
数据库架构师:“内存数据库!将其作为Oracle数据库的前置缓存数据库来加快响应速度,如果保证了快速响应,高并发压力也就解决了。眼下Oracle和SAP都在内存数据库上大做文章呢。”
应用架构师:“他们都是在搞OLAP的内存数据库吧,我们的可是OLTP。”
数据库架构师:“Oracle的TimesTen就是为了解决OLTP的并发问题而研发的哦。关键是看我们的应用是否适应得了。”
应用架构师:“嗯,是多样化的数据库架构了。”
数据库架构师:“是的,就像一套数据库生态体系,没有必要特别待见谁,也没有必要特别排斥谁,关键是看应用的需要。不过,我们也需要反思一个问题,就是当初Oracle的设计阶段没有预见性,应该从Oracle内部设计先把握好,加强其处理并发的能力。是谓:‘先修内政而后纵横。
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.1 初见高并发
下一篇:1.1.2 问题就在那里
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站