您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据挖掘与识别 > 大数据平台架构-巨衫
1.技术实现框架1.1大数据平台架构1.1.1大数据库是未来提升业务能力的关键要素以“大数据”为主导的新一波信息化浪潮正席卷全球,成为全球范围内加速企业技术创新、推动政府职能转变、引领社会管理变革的利器。目前,大数据技术已经从技术研究步入落地实施阶段,数据资源成为未来业务的关键因素。通过采集和分析数据,我们可以获知事物背后的原因,优化生产/生活方式,预知未来的发展动态。经过多年的信息化建设,省地税已经积累了丰富的数据资源,为下一步的优化业务、提升管理水平,奠定了坚实的基础。未来的数据和业务应用趋势,大数据才能解决这些问题。《1.巨杉软件SequoiaDB产品和案例介绍v2》P12“银行的大数据资产和应用“,说明税务数据和业务分析,需要用大数据解决。《1.巨杉软件SequoiaDB产品和案例介绍v2》P14“大数据与传统数据处理”,说明处理模式的差异。1.1.2大数据平台总体框架大数据平台总体技术框架分为数据源层、数据接口层、平台架构层、分析工具层和业务应用层。如下图所示:(此图要修改,北明)数据源层:包括各业务系统、服务系统以及社会其它单位的结构化数据和非结构化数据;数据接口层:是原始数据进入大数据库的入口,针对不同类型的数据,需要有针对性地开发接口,进行数据的缓冲、预处理等操作;平台架构层:基于大数据系统存储各类数据,进行处理?;分析工具层:提供各种数据分析工具,例如:建模工具、报表开发、数据分析、数据挖掘、可视化展现等工具;业务应用层:根据应用领域和业务需求,建立分析模型,使用分析工具,发现获知事物背后的原因,预知未来的发展趋势,提出优化业务的方法。例如,寻找服务资源的最佳配置方案、发现业务流程中的短板进行优化等。1.1.3大数据平台产品选型针对业务需求,我们选择巨杉数据库作为大数据基础平台。1.1.3.1传统数据库与大数据库的差异(丰富一下内容,说明应该选择大数据平台)传统的关系型数据库,只能存储结构化数据,在当前互联网快速发展的时代,僵硬的数据模型已经无法适应快速开发、快速迭代的互联网思维。同时,越来越广阔的移动无线网络覆盖,不断提升的上网体验,人们的生活已经与网络连接起来,现在人们在互联网产生的数据,比较过去正在以几何倍数增长。1.1.3.2巨杉的产品框架()巨杉的简要介绍。产品框架下的组件的简要介绍,说明由哪些东西组成,实现哪些功能。1.1.3.3产品比较?(与类似产品的竞争优势?)SequoiaDB作为一款拥有完全自主知识产权的文档型分布式数据库,天生具备高性能、高可用的特性。SequoiaDB采用分片技术为数据库提供横向扩展机制,这个分片过程对应用程序来说是透明的。分片分配数据跨越多个物理分区,每个分区也即分片。分片是为了替SequoiaDB部署解决单台服务器硬件资源受限问题,如内存或者磁盘I/O瓶颈,不会增加应用程序复杂性。SequoiaDB相比其他数据库的独有功能如下:序号功能点1灵活的数据类型2统一管理结构化数据及海量小文件3双存储引擎,简化系统架构4统一数据视图,实现冷、热数据物理分离5SequoiaDB支持读写分离,用户可以针对一份数据完成更多的业务处理6深度整合大数据体系的各个组件,如Spark/Hadoop7完善的运维、监控工具8SequoiaDB支持在线扩容,系统扩容升级快速简单1.1.3.4巨杉的特点?()SequoiaDB不仅在性能上领先业界其他的非关系型数据库,对比其他数据库,SequoiaDB提供了非常多的独有功能:1)灵活的数据类型SequoiaDB采用文档类型数据模型(对象存储),将程序中的对象以原生的方式保存在数据库中,并且可以对其中而已属性或子对象进行检索匹配,可以大幅度弱化复杂的关系模型,加快应用的开发速度,并减少系统的运维成本。灵活的数据类型2)统一管理结构化数据和海量小文件在过去,企业构建一个内容管理系统,基本是一个关系型数据库+存储这样的组合。这种构建方法,在过去数据量不大,并发数不高的情况下,系统还能运行得比较平稳。但是随着时间的推移,需要接入该系统的业务会越来越多,需要管理的文件和信息量都开始开始激增,并且随着查询的并发量增加,这时候,按照传统方法构建的系统,性能、扩容能力都无法满足需求。SequoiaDB是一款以BSON数据类型作为底层存储格式的文档型数据库。BSON格式本身是一种弱Schema的数据类型,一条BSON记录里面,可以包含各种类型的数据,如整型、字符型、浮点型和二进制类型的数据。用户可以利用BSON这种特性,将像图片,音频这种小文件以二进制类型放到一个BSON记录里面,同时将对文件的描述信息也存储在同一个BSON记录上,形成一条完整的信息存储在SequoiaDB中。结构化数据与非结构化数据存储在同一条记录上这种利用BSON特性的存储方法,可以有效避免由于数据需要存储在两个地方(数据库+存储),中间需要处理复杂的事务逻辑,并且从根本上避免了信息孤岛产生的可能。非结构化数据与结构化数据整合在一起,形成一条完整的记录存储。3)双存储引擎,简化系统架构SequoiaDB数据库支持BSON结构存储和块数据存储。当用户需要存储一些结构化数据时,可以选择使用BSON结构将数据存储在SequoiaDB中。当用户需要将大文件(超过16M)存储在SequoiaDB中时,可以选择块存储模式,将文件存储在数据库中。如果用户需要构建一个既需要存储结构化信息,有需要管理大量大文件的系统时,SequoiaDB双存储引擎这个特性,能帮助用户快速搭建一个高性能、高可用的系统,并且整个系统组件简单—只有SequoiaDB数据库,不再需要额外购买昂贵的存储设备,节省企业的开发和运维成本。图8:SequoiaDB双存储引擎4)统一数据视图,实现冷、热数据物理分离在大数据应用系统中,虽然存储了大量的历史数据,但是用户在使用数据的规律上,总会有一些数据是使用得比较频繁的(例如在银行中,近期三个月的数据位热数据),有一部分数据有价值,但是查询的频率不高,对于查询的性能也没有热数据那么严格(通常检索热数据,需要在50毫秒内返回结果,检索冷数据,允许在10秒内),这种数据我们就称为冷数据。SequoiaDB专门为历史数据归档、检索提供一种全新的存储机制,使得热数据与冷数据实现物理分离(例如热数据使用较好的存储硬件SSD,冷数据存储在廉价的磁盘上),但是冷、热数据均统一在一个数据视图上,用户只要像操作一个普通的数据表那样,进行数据检索、分析。冷、热数据分离5)SequoiaDB支持读写分离,用户可以针对一份数据完成更多的业务处理SequoiaDB通过多副本数据备份,实现数据安全,同时,利用数据的多副本,用户可以在指定多个业务同时访问不同的数据节点,实现一份数据,多种用途的目的,大大提升了数据的使用率。图10:SequoiaDB读写分离6)深度整合大数据体系的各个组件SequoiaDB不仅通过了全球最大的Hadoop发行商Cloudera的官方认证(全球只有四家NoSQL数据库获得),还获得了DataBricks的官方认证,同时,SequoiaDB也是国内三家经过DataBricks授权,拥有发行Spark权利的厂商之一。SequoiaDB的企业版本,除了为客户提供一个高性能的分布式文档型数据库外,还集成了Hadoop的HDFS、MapReduce,基于内存计算的分布式计算框架Spark,SequoiaDB还向客户提供完善的SQL解决方案,像Hive、SQLEngine和SparkSQL,用户可以根据不同的场景,选择不同的组件快速构建属于自己的大数据平台。从下图可以看到,用户可以基于SequoiaDB作为底层数据库,在应用开发上,根据不同的场景,例如海量数据分析,用户可以选择MapReduce、Hive、SparkRDD或者SparkSQL来完成;如果是做数据实时检索类型的业务,用户可以选择使用SQLEngine或者SequoiaDB提供的API来进行实时数据检索。SequoiaDB深度整合大数据体系各个组件SequoiaDB企业版架构图7)完善的运维、监控工具SequoiaDB作为一家企业级数据库厂商,除了为用户提供高性能的数据库服务外,还为用户提供完善的运维工具。例如在命令行工具上,SequoiaDB为用户提供sdbtop工具,方便用户实时追踪集群运行状况,还有sdb日志追踪工具,多级别日志选择等都为企业后续的运维减轻压力。另外,SequoiaDB还为用户提供一套WEB管理工具,用户可以通过页面部署、管理SequoiaDB集群,并且WEB控制台还将实时监控的数据用形象的图表展示给用户。企业后续对SequoiaDB集群的运维工作量大大减少。SequoiaDBWEB管理界面8)SequoiaDB支持在线扩容,系统扩容升级快速简单SequoiaDB支持在线扩容,系统扩容升级快速简单SequoiaDB作为一款分布式文档型数据库,在数据库架构设计之初就已经将方便快捷扩容作为设计标准,用户在系统性能不足时,通过快速扩展集群,提升系统整体性能。SequoiaDB在线扩容图1.1.3.5本地化服务?(国产;本地企业;服务和维护能力)1.1.4数据接口(这里的内容,与“数据采集”是啥关系?)(下面的内容,是数据采集的工具吗?)SequoiaDB作为分布式数据库,能采集的大量数据进行分布式存储,并与众多数据处理工具进行对接。以下为推荐的数据处理工具。()工具作用kafka分布式消息系统,它可以实现水平扩展和高吞吐量flumeFlume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统Kestrel开源的消息中间件,高性能,小巧,持久存储及可靠获取Kettle(ETL)实现数据的交换,即数据的ETL操作kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群机来提供实时的消费。Flume最早是Cloudera提供的日志收集系统,目前是Apache下的一个孵化项目,Flume支持在日志系统中定制各类数据发送方,用于收集数据。Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力Flume提供了从console(控制台)、RPC(Thrift-RPC)、text(文件)、tail(UNIXtail)、syslog(syslog日志系统,支持TCP和UDP等2种模式),exec(命令执行)等数据源上收集数据的能力。Kestrel是twitter的开发团队用scala语言写的开源消息中间件,可以将消息持久存储到磁盘上,也可以将消息存储于内存中,但是不论保存磁盘还是内存中都可以设置消息存储的超期时间长短。其具备了以下特点:快速、小巧、持久性、可靠性。除此之外kestrel还具备了很多让人眼前一亮的特性:支持多请求协议、FanoutQueues(队列分发)、集群支持、灵活的配置。Kettle是Pentaho的一个组件,主要用于数据库间的数据迁移,数据抽取高效稳定。Kettle中文名称叫水壶,该项目希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。作为Pentaho的一个重要组成部分,现在在国内项目应用上逐渐增多。1.1.5数据采集(迁移?)在项目中,面对旧系统升级改造、数据需要从原有系统的Oracle数据库中迁移到新系统的SequoiaDB上。SequoiaDB的基本安装包中,已经为用户提供了功能完善的
本文标题:大数据平台架构-巨衫
链接地址:https://www.777doc.com/doc-2511946 .html