1 大数据产品整体框架设计
大数据产品整体框架之软件建设主要分为四部分内容:
1、 ETL,负责各数据库间数据有序流动;
2、 资源统一管理平台,负责多个数据库的资源管理,包含元数据管理等;
3、 分布式文件系统,负责非结构化数据,如图片、文档、音视频等文件存储与访问;
4、 大数据处理平台,负责海量数据的入库、查询检索、运维管理等;
目前我部门已完成上述1、2、3部分的产品开发,准备开始启动第4部分研发,即大数据处理平台的研发工作;
2 深圳市局客户需求
市局客户现状:
1) 数据量(180亿,4TB)
2) 数据种类(结构化,非结构化,47张表包含视频,图片)
3) 表情况(共518张表,其中23张上亿,72张上千万,最大单表达31亿,如深圳通)
4) 数据更新情况(每周有322张表新增记录3000万,146张表修改800万,41张表删除1万)
5) 上亿记录数大表查询非常慢(在Oralce数据库中做单表查询及多表关联查询非常慢)
市局客户对云平台的建设标准要求如下:
3 产品预期实现功能
大数据处理平台功能框架如下:
详细实现功能描述如下:
1) 支持集群节点数线性扩展上限≥256
2) 支持JDBC接口和访问,支持类SQL或SQL语言(包含多表联合查询、子表关联查询等),支持DML语句(如insert/delete/update操作)和DDL语句(如Create table等),支持索引。
3) 支持会话管理,考虑会话负载均衡
4) 支持数据库实例管理,如数据库创建删除、帐号角色管理、备份策略以及查看实例信息等。支持多实例且统一管理。
5) 支持用户密码管理,同时支持按照库(实例)、表不同级别的权限控制。
6) 支持数据的批量导入与导出。
7) 支持非结构化数据存储及访问(如文件、图片、音视频流文件)
8) 支持web界面查询浏览数据(需分页)
9) 支持资源元数据管理
10) 支持数据的备份与恢复
11) 支持较好的分页与排序算法
12) 运维管理平台,实现整个集群主机的运维监控(如cpu/内存/磁盘IO/网络流量),异常告警管理,日志管理,库、用户、表、索引等对象的维护管理。
13) 性能基本能满足市局客户的要求。
4 前期方案
我们的前期方案采用Cloudera 公司的Hadoop,利用Cloudera公司的Hbase + Impala混合模式来进行功能上的取长补短,因为Impala查询速度非常快,但是Impala不支持数据的更新与删除,于是我们将数据通过hbase进行更新,然后采用快照方式批量更新上传至impala,这种方式可实现对大表对象的新增、修改、删除以及快速查询等操作要求,同时Cloudera Manager提供了强大的运维管理平台也基本满足客户要求。
4.1 大数据处理平台-架构设计
下面是利用Cloudera公司的Hbase + Impala混合模式来进行改造的大数据处理平台架构。
4.2 存在问题
1) 我们采用的Cloudera Manager免费版仅支持50个节点,不满足客户节点数线性扩展上限≥256的要求;
2) 实时数据查询速度慢,Hbase索引不好实现;
3) Impala查询速度快,但是Impala不支持数据的更新与删除,我们的前期方案是将数据通过hbase更新,然后采用快照方式批量更新上传至impala中,这样impala中这部分数据没办法实时更新;
4) 数据更新、删除效率达不到客户要求;
5) 标准JDBC驱动接口实现难度较大;
END。。。
来源:成都科多大数据科技有限公司