江苏省公安厅
全省警综汇聚大数据项目DSG应用
(oracle&greenplum)

项目概述
随着大数据时代的到来,省厅下辖各级公安机关警综系统采集汇聚的数据量日益巨大、数据结构更加复杂,增长迅速。目前,省厅还未建立有效的警综系统数据汇聚手段,原有的数据抽取整合工具在传输海量结构化数据时效率低下,且无法满足各类数据抽取整合的需要。为解决因数据分散导致的资源共享不及时、利用率不高等问题,省厅急需开展警综系统数据汇聚整合工具建设,实现对下辖各级公安机关警综系统的高效抽取汇聚和关联整合,进一步丰富全警实战应用需要。
需求描述
完成省厅下辖十三个地市警综系统(Oracle)数据实时汇聚到省厅警综系统集中库(GP)。
 省内下辖十三个地市的警综系统进行数据汇聚,数据量目前估算约为20-24TB左右;
 省内下辖十三个地市的警综系统进行数据汇聚,要求数据为实时或准实时复制,原有数据汇聚整合工具,无法做到实时或准实时的数据汇聚,并经常发生丢或漏数据的情况;
 省内下辖十三个地市的警综系统进行数据汇聚,部分地市有个性化开发,导致有的地市表结构不完全相同(关键字段是有的),考虑汇聚共性字段;
 省内下辖十三个地市的警综系统进行数据汇聚,从地市警综系统生产端压力考虑,目前采用从警综前置机或备份库上进行数据汇聚,地市前置库或备份库具体建立技术标准,由省厅统一下发;
 省内下辖十三个地市的警综系统进行数据汇聚,为了便于对汇聚库资源进行整合,地市相同表名的数据同步省厅,需要整合到同一个表内;

项目难点
在此项目中,需要实现oracle到GP之间的数据实时复制,这类解决方案在整个业界的可选性就不是很多,同时,涉及到的地市和数据量众多,以及异构数据库之间的各种技术细节,难点众多。根据客户的需求以及现有技术的特点,该项目主要存在以下几方面的难点:

  1. 数据量大。全省13个地市的数据预计由20-30T,这就要求产品在数据的处理能力上要具有较高的效率。
  2. 实时性要求高。为满足汇聚结果实时查询的目标,所有地市数据汇聚的时延要求在秒级完成。
  3. 多种平台混合复制。由于源端有13个生产库或者生产库的备库,其中存在hp,aix等知名厂商的各种平台系统,这就要求复制产品支持各种异构平台。
  4. 基于表复制。每个系统抽取的数据均是部分表的数据。
  5. 索引异构。由于源端和生产系统,目标端是查询系统,系统的功能不同导致相应的索引也有所不同。
  6. 分区异构。同样由于系统功能不同,导致某些表的分区结构也不同,要求复制软件能够在分区异构的情况下也能正常复制。
  7. 多表合一。在多个系统中,有可能存在用户名和表名均相同的情况,在复制过程中,需要解决多表合一的问题。
  8. Oracle数据库和gp数据库的兼容性。异构数据复制的过程中,不同种类的数据库之间数据类型,操作差别等需要完成兼容转换。

解决方案
经过数月的需求调研以及方案、产品的评比,结合现场环境的测试结果,最终DSG的产品方案在此项目中顺利胜出,承担江苏省公安厅此次数据汇聚的项目建设。
架构图:省厅下辖十三个地市警综系统(Oracle)数据实时汇聚到省厅警综系统集中库(GP)系统架构如下:
江苏省公安厅警综汇聚大数据项目DSG应用(13地市Oracle实时同步到省中心的Greenplum)

* DSG方案优势
江苏省公安厅数据汇聚平台,涉及江苏省13个地市的警综数据,各地市的系统、平台等环境都存在一定差异,因此,如果要如此大规模的数据汇聚,存在诸多方面的挑战。DSG给出的方案中,基本上解决了各种难题,主要体现如下:
1、 DSG产品方案成熟度高。在国内有大量客户案例,在这类异构数据复制领域属于领头羊的地位
2、 DSG产品功能丰富,减轻现场工作量,降低项目建设周期和成本
3、 DSG具备数据高压缩比,完成大数据量的快速传输和同步
4、 DSG基于日志同步,相比传统的ETL方案,对源端生产库几乎0影响,同时能完成高效数据同步,确保数据的准确性和一致性
5、 DSG产品属于逻辑复制,具备非常高的灵活性,能够很好满足异构数据库之间复制各种结构的异构的情况。
6、 定制化开发。针对现场的个性化以及异构数据库之间的数据复制,可以依靠优秀的原厂研发资源,快速、高效率地完成,在此次项目中,根据现场的实际情况,把数据从oracle到greenplum的数据复制,存在以下方面的一些转换:
序号 需求内容 解决方案 实现结果
1 字符集转换 GBK转换为UTF-8 实现
2 Blob 表处理 Blob 表源端导出过滤、目标端加载过滤 实现
3 Delete+insert Update 操作先delete后insert 实现
4 关键字特殊处理 表结构有特殊字段#或者是count(
) 进行转换 实现
5 字段长度处理 字段长度太长,进行转换处理 实现
6 Index 处理 根据需求制定特殊列的索引为btree 实现
7 增加loadtime列 增加gp入库的时间标记 实现
8 增加rowid 增加rowid对no pk/uk提升update加载速度 实现
9 数据引号处理 入库数据不需要‘’处理 实现
10 Delete 删除优化 优化delete 操作 实现
11 Update更新优化 优化update 操作 实现

DSG公司简介
DSG是领先的致力于数据存储管理的专业厂商,提供优秀的大数据管理软件和数据安全、灾难恢复、数据抽取共享、数据归档检索和一体化管理平台在内的解决方案,产品包括:备份、容灾、数据同步复制/抽取/共享、数据归档、数据稽核等,在国内得到了广泛的应用。目前公司拥有员工近300余人、全国设有3个研发中心、20多个办事处和分支机构,服务网点覆盖全国,在中国市场拥有数百家电信、金融和政府行业的高端用户。
SuperSync数据同步复制软件应用:(国内800余家客户,在原有强大的Oracle的实时同步复制/灾备外,还可以支持Mysql/Sql/DB2/PostgreSql/Hana/Qcubic/Redis/Teradata/浪潮K-DB/达梦/南大Gbase等国内外各类数据库与Hadoop、HBase、Phoneix、Storm、Flume、Spark、Kafka、tibc、阿里云间的实时同步复制,可根据kafka等格式需求定制(添加字段/数据转换/分类等),应用在大数据共享、读写分离和实时灾备等方面。