ITPub博客

数据库新兵登场:KDB初体验

原创 作者:hongyehongye1 时间:2015-09-09 23:09:52 0 删除 编辑
<p style="text-indent:21.0pt;"> 还未甩掉清晨的疲惫,走进浪潮公司大厅,映入眼帘的就是红蓝色的<span>OK</span>二字,让人直接想到了大名鼎鼎的<span>oracle</span>与今日神秘的主角<span>KDB</span>。对于<span>Oracle</span>相信只要是<span>IT</span>从业者,就没有不知道的,但对于<span>KDB</span>,想到的更有可能是<span>Linux</span>下的<span>DEBUG</span>工具。而这位数据库新兵与老牌数据库大鳄摆在一起究竟有代表着什么?<span></span> </p> <p style="text-indent:21.0pt;"> 在工作人员的引导下进入会议室,看到了很多老朋友和新朋友,有这次活动的导师(恩墨科技的盖国强老师),同为参赛者的恩核公司的郑保卫博士以及其他各行各业的高手们。其中有对数据库内核的开发者,来自一线的支持人员及不同行业的运维人员。以大家对数据库的多年研究和了解,相信这次会对<span>KDB</span>能有一个深入的了解和探究。<br /> <img src="/attachment/201509/9/14652951_1441811855wPzV.jpg" width="554" height="373" alt="" /><br /> <span></span> </p> <p> <span></span> </p> <p align="center" style="text-align:center;"> 图<span>1 </span>导师及参赛选手<span></span> </p> <p style="text-indent:21.0pt;"> 第一环节就是对<span>KDB</span>进行基本介绍,作为数据库新兵,表现的一点不比老手们逊色,整体架构对<span>Oracle</span>的架构在连接池的部分进行了一定程度的优化,详见图<span>2</span>。可用性解决方案齐全(<span>Share Nothing</span>架构与主备库读写分离架构都可实现),迁移方案完善,并且连配套的管理工具都也齐全。<span></span> </p> <p> <img src="/attachment/201509/9/14652951_14418119107B7S.jpg" width="554" height="337" alt="" /> </p> <p align="center" style="text-align:center;"> 图<span>2 KDB</span>架构<span></span> </p> <p style="text-indent:21.0pt;"> 书面的了解之后,第二环节开始了<span>K-RAC</span>的高可用演示,首先展示在屏幕中<span>K-APM</span>极大的引起了我的兴趣,黑色时尚的界面,对于集群的监控和展现能力体现了公司对于产品细节的把握。待应用运行平稳后,由工作人员现场进行破坏性测试,出现异常后的集群响应速度非常及时,出现异常及恢复的<span>TPS</span>并未出现大幅波动,集群的复杂程度远高于单机环境,尤其在异常后对于异常的响应及一致性的保证都很那做到,但现场这个表现确实让大家在心中对<span>KDB</span>点了个赞。<span></span> </p> <p style="text-indent:21.0pt;"> <span style="display:none;" id="__kindeditor_bookmark_start_10__"></span><img src="/attachment/201509/9/14652951_1441811962jCcK.jpg" width="554" height="337" alt="" /> </p> <p align="center" style="text-align:center;text-indent:21.0pt;"> 图<span>3 K-APM</span>界面<span></span> </p> <p style="text-indent:21.0pt;"> 演示之后开始了一键迁移的动手操作环节,同时也给了我们亲自体验<span>KDB</span>的机会。令人惊讶的是,<span>Oracle</span>的命令和参数在这里都能看到。一键迁移工具,界面略显简陋,管理性还有待提高,对于报错的展示不够充分和人性化(迁移过程中报了一些错误,错误提示不够友好)。但对于<span>Oracle</span>的兼容性确实没的说,不管是数据结构,还是<span>SQL</span>语句,甚至存储过程都可以完美兼容,看来开发人员确实下了一番苦工的。<span></span> </p> <p style="text-indent:15.75pt;"> 简短的午餐过后,开始了今日的重头戏,<span>O.K</span>的性能较量。我们十名参赛者分为红蓝两队,我有幸被选为红队队长,在这两轮共八十分钟的时间里,我将和另外<span>4</span>位队友在<span>Power</span>上通过<span>Oracle</span>与<span>K1</span>上运行的<span>KDB</span>进行同台竞技。<span></span> </p> <p> <img src="/attachment/201509/9/14652951_1441812009lgz8.jpg" width="554" height="264" alt="" /> </p> <p style="text-indent:21.0pt;"> 从表面上来看貌似红队是有一定优势的,毕竟<span>Oracle</span>大家或多或少都有一定的了解,但<span>KDB</span>却是首次接触。但初次测试却让本该淡定的我们添加了一份压力,为了消除我们的优势,我们的环境是被埋下了一些陷阱的,而且<span>KDB</span>对于<span>Oracle</span>超好的兼容性并未给蓝队带来多少阻碍。<span></span> </p> <p style="text-indent:21.0pt;"> 于是第一个面临的任务就是填坑,经过三轮测试及分析,我们将部分不合理的参数进行修正,并对<span>Oracle</span>进行了针对性的优化,但依旧被蓝队远远地甩在了后面(图<span>4-</span>第一次调优结果)。<span></span> </p> <p> <img src="/attachment/201509/9/14652951_1441812047urgZ.jpg" width="554" height="369" alt="" /> </p> <p align="center" style="text-align:center;"> 图<span>4 </span>比赛结果<span></span> </p> <p style="text-indent:28.25pt;"> 第一轮调优间隙,盖老师针对我们的问题,建议我们进行更大胆地优化策略,我们决定胆大心细,首先再仔细检查是否存在还未添补的陷阱,其次采取一些更大胆的优化策略。第二轮开始,我们发现了两个关键问题,第一数据库审计是被打开的,在这种场景下,不仅没有必要,反而会大大影响数据库性能。第二是日志写入磁盘繁忙程度较高,日志切换较频繁。关闭审计并且调节日志参数后,较第一轮的优化结果我们有了大幅的进步,但终究还是没有到达期望的<span>90000 TPS</span>。时间不等人,比赛终于在一丝遗憾中落幕。<span></span> </p> <p style="text-indent:26.25pt;"> 赛后盖老师对两队的优化进行总结,蓝队调优手段明显更多样化,改分区,改并行,建索引,大页调整等等。而红队显得更温和,多用一些非常标准的手段和方法去调优。<span></span> </p> <p style="text-indent:26.25pt;"> 经过<span>2</span>轮对比测试,<span>K-DB</span>的表现很稳健,功能也很健全,但作为多年的<span>DB2</span>的<span>DBA</span>,我认为一个成熟的技术社区和开放的态度才是一个数据库更优秀的品质。<span>KDB</span>在完善自身产品的同时应该更加的去考虑如何向社区提供更开放的接口。不管是文档、方法、工具甚至架构,让大家更快的更深入的理解这款产品,创造一个良好的生态,获得广泛的生命力。我认为与<span>Oracle</span>相比,其他一些关系型数据库产品在技术上各有千秋,但封闭的特性却让大多数人对其并不了解,间接导致市场衰退,希望<span>KDB</span>能在技术上更加开放及活跃,让国产数据库真正迎来春天。<span></span> </p> <p> <span>&nbsp;</span> </p> <p> <span>&nbsp;</span> </p> <p> <span>&nbsp;</span> </p> <p> <span>&nbsp;</span> </p> <p> <span>&nbsp;</span> </p>
上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论
  • 博文量
    1
  • 访问量
    11360