以“大数据技术探索和价值发现”为主题的第六届2015中国数据库技术大会(以下简称大会)近日在京召开。大会吸引了近2500名技术爱好者参与,活动主办方除设置主会场外还开设了多个专场,在《专场19:大数据-商业与开源架构》上来自中海纪元数字技术公司技术总监任广坤,携程网高级架构经理赵俊,搜狐DBA赖亿,博晓通联合创始人董健将为我们带来一场精彩的大数据全方位的知识“盛宴”。
▲中海纪元数字技术公司技术总监任广坤
中海纪元数字技术公司技术总监任广坤首先介绍了大数据在智慧政务上的应用。他指出,在云计算已经遍布国内大江南北,各地都在建设云计算基地能够为大数据应用奠定基础。再说电子政务的发展,它与我们的生活是密切相关的,回顾整个电子政务的发展经历来看,它主要经历了几个阶段:
第一个阶段90年代左右其信息化是垂直的系统;第二阶段是从2000年到2005年是两网一站,四库十二金的应用;第三阶段是从2006年到2011年,面向业务协同提高办事效率主要推是标准化市民中心。第四阶段从2012年以后政务向是一站式智慧政务。所谓一站式主要是基于云计算、大数据等提供的服务。
▲新技术带来的行业变化
任广坤指出大数据带来了行业的变革,给政府行业大数据带来了六大转变:从粗放管理向精细化转变,从单相管制向政民互动转变,从各自为战向协作共享转变,从被动响应向主动预见转变,从行政主导的政府向以人为本服务型政府转变,从经验决策向基于大数据的科学决策转变。
▲业务新要求、IT新需求推动统一化
谈到电子政务的应用,其实电子政务与企业的架构有很高的相似性,过去企业建了很多的IT系统,形成“烟筒”式的架构,这些问题不仅仅是企业面对,对于电子政务而言,同样也面临相信的问题比如当有了新的业务需求时,同样也对IT提出了新的需求,这就要求必须统一化。以政务数据为例,政务的需求是纵向访问上级部门,纵向各业务之间要隔离,要求数据需要更强的稳定性、安全性、可靠性。 大数据是政务资源整合和业务协同的重要组成部分,对于政务的需求推荐使用面向电子政务领域的EDATA平台,它是基于大数据的采集、存储、分析与挖掘及可视化展示应用等全方位一体化解决方案,基于开放性架构的平台,可面向电子政务各行业应用进行具体业务需求快速实现。
▲平台设计功能
携程高级架构经理赵俊就《应用与DB的实时依赖分析与故障定位》作了主题分享。他指出,当网站访问量越来越大的时候,对于DB是一个“灾难”,大量报错需要花很久的时候才能定位。基于此,携程开发了DAP。DAP(Data Arch Portal)是基于Java开发的, 使用12种开源框架的实时应用与DB监控平台。它为携程提供了从架构到应用访问DB的全面监控服务和决策支持。
▲携程高级架构经理赵俊
现在DAP的现状是拥有16台物理监控肌群,1500+业务应用(包括.net,Java,和MS SQL),4000+应用服务器,>10TB消息大小,>100亿消息(每天),单机Max QPS 10w/S(生产环境)。一套好的监控系统指标不仅要具备对应用无影响,还能够具备实时性、吞吐量、开销低、可靠性、服务端处理100%的到达消息等元素。
▲DAP报表之架构总图
在专场现场,搜狐DBA赖亿以infinidb列式数据库为基础,详细的介绍了infinidb在大数据的应用的。以某应用场景为例,搜狐某业务使用了其它数据库,但整体的效率不是很理想,最终使用infinidb解决了问题。众所周知,在整个数据处理中,infinidb的定位在Hbase功能之上做了汇总,它是一个汇聚层。而且它具有MySql协议兼容,能够支持dml,统计类查询10倍,Load数据快,压缩率5倍,而且最主要的是免优化等特点。
▲搜狐DBA赖亿
Infinidb能够查询29亿数据只需要3.13秒,不管查询条件如何组合,它的查询很快。Infinidb在数据量越大,它的优势越明显,这是因为在数据存储方面,它是按列进行查询,再按行业查询,然后在查询,这样的速度会更快。
▲Infinidb的单机构架
Infinidb的核心算法是:hash join 每行都有一个rowid,查询2列以上,通过rowid关联,使用hash join。而且infinidb不担心表的关联,但是很怕Select *。
▲Infinidb核心算法hash join
Infinidb不适合的场景如下:查询包括大量的查询,它的单行查询效率其实和统计类查询效率差不多,大量存在Select*这种列出所有列的查询;通过在线的单行insert录入数据,它的单选插入每秒只能是几十条;需要特别快的查询响应时间比如50ms内;有大的并发,比如200个并发;大量的varchar甚至text的字段。
博晓通联合创始人董健在专场上作了《基于混搭存储引擎的融合型分布式数据库架构》。他指出,现在商业应用场景存在很多的困境需要我们用多个节点解决单个节点不能解决的问题。那么分布式是最好的解决方案之一。分布式通过scale out解脱单一计算节点上无法从硬件无限突破的两大性能瓶颈:CPU和磁盘。实现高可用,高可靠、高性能,弹性可伸缩。
▲博晓通联合创始人董健
分布式的目标是安排尽可能多的人共同执行一个任务,但分布式不是一种新技术,它是一种设计模式,它衍生的支撑技术如路由、负载均衡、任务调度、并行计算、资源竞争、线程间/进程间/网络通讯。理想的分布式是站在应用的角度来讲是“分而治之”,这样的好处是所有的应用都可以实现分布式。理想的分布式计算框架最主要的分布式应用。
博晓通联能够提供了服务型分布式计算服务,它是以服务化的开发方式,自上而下,自内而外的SOA。它不改变业务流和编程模型,单机单用户思路设计分布式应用。服务型分布式计算服务的功能是灵活强大的编程模型,数据/通讯协议全透明,核心架构方面提供了分布式虚拟机,背板+刀片的架构。
提到分布式计算,离不开对于Map-Reduce,Map-Reduce是伟大的创新,复杂任务并行的好方案,通用、成熟、“廉价”的大数据方案,唾手可得的“免费”方案。但Map-Reduce不是分布式计算、大数据领域的万金油,也不是阿司匹林!
▲基于混搭存储引擎的融合型分布式数据库
传统数据库面临的许多的烦恼如数据的维度和容量极大扩展,数据维度频繁变化,不支持新的数据类型,数据容量有限,数据维度有限,维度修改成本高。那么如何该解决?基于混搭存储引擎的融合型分布式数据库或许是一个不错的选择。
▲融合型分布式数据库的分布式架构