摘 要
因特网的发展已经彻底改变了人们的生活,每时每刻都有大量数据被传送到互联网上,越来越多的数据存取功能开始水平扩展,这样就可以删除和增加存储服务,从而适应多变的业务需求。在做数据存储使用的数据库中,传统的关系数据库虽然在SQL查询方面表现良好,但是他们更侧重在一台服务器上,海量数据的存储成为瓶颈,单台服务器无法加载海量数据。另一种存储技术HBASE不同于传统的关系数据库,它是基于列存储的非关系数据库,在海量数据的存储和查询方面有很大优势。但是HBASE不支持SQL查询,而且对于繁复的业务流程难以满足需求。而传统的关系数据库恰好能和HBASE互补,如果能使用工具将二者随意转换,那么刚好在弥补彼此的缺点之后,在相应的需要的场景使用不同的数据模式,便能在大数据时代得心应手。
本次论文研究HBASE与关系数据库同步工具的设计与实现,旨在提供一个方便快捷的工具,从而使企业在使用的时候可以避免传统关系数据库和HBASE的不足点,充分利用二者的优点,适应大数据时代背景和多变的业务需求,从而更好的提供互联网服务。在java环境下,开发一个从关系数据库到HBASE的实时增量同步的工具,支持MS-sqlserver、oracle、mysql三种关系数据库类型。使数据维护人员在进行数据库维护和大数据运算的时候可以本别选用关系数据库和HBASE,充分发挥两种数据库模式的优点并避开其弊端。而在市面上已经有了HBASE和RDBS的导出工具,例如sqoop等,所以此处我们只做RDBS到HBASES的同步工具。
关键词 关系数据库 HBASE 同步
Design and Implementation of Data Synchronization Tool Between HBASE And Relational Database
ABSTRACT
The development of the Internet has revolutionized the way people live, every moment, a lot of data is transferred to the Internet. With the increasing scale of data, more data access function begins to expand horizontally, so we can delete and add storage services to adapt to changing business needs. And although the performance of traditional relational database is good at SQL queries, but they are more focused on a single server, mass data storage becomes it’s bottleneck, a single server can not load massive amounts of data. The HBASE is unlike traditional relational database, it’s data is stored in a column based on non-relational databases, there is a great advantage in terms of storage and query huge amounts of data. But HBASE does not support SQL queries, but also none complex business processes can meet demand. And if we can just to traditional relational database and HBASE complementary, then just adapt to each other to make up for the shortcomings in the scene corresponding need to use different data patterns, can be very convenient in the era of big data.
This paper is about Design and Implementation HBASE and relational database synchronization tool, designed to provide a convenient and efficient service, so that enterprises can be avoided when using traditional relational databases and inadequate point HBASE, we can make full use of the advantages of both adaptation big data era background and changing business needs, so as to better provide Internet services.
We are going to do in java environment, create a database from relationship to real-time synchronization tools to synchronization to HBASE, supporting MS-sqlserver, oracle, Mysql ,three type relationships. So when doing database maintenance of large data when you can not only choose this relational databases and HBASE, and also give full play to the advantages of both the database schema and avoid its drawbacks. Because there already has HBASE to RDBS export tools, such as sqoop etc. So here we only do RDBS to HBASES synchronization tool.
KEY WORDS Relational database HBASE Synchronize
目 录
第一章 绪论 1
1.1 论文背景 1
1.2 论文结构 1
第二章 关键技术研究 3
2.1 关系数据库介绍 3
2.1.1 MySQL 3
2.1.2 MS-Sqlserver 4
2.1.3 Oracle数据库 4
2.2 Java语言介绍 4
2.3 HDFS概述 5
2.4 HBase概述 5
2.4.1 HBase的逻辑数据模型 5
2.4.2 HBase的物理数据模型 6
2.5 xml技术概述 6
2.5.1 Xml语法 6
2.5.2 示例 7
第三章 Hbase与关系数据库同步工具的需求分析 8
3.1 Hbase与关系数据库同步工具的设计目标 8
3.2 Hbase与关系数据库同步工具的功能需求 8
3.2.1 同步过程中的数据库管理的功能需求 9
3.2.2 同步过程中文件管理的功能需求 9
3.2.3 同步过程中的变化捕捉的功能需求 12
3.3 Hbase与关系数据库同步工具非功能性需求 13
第四章 Hbase与关系数据库同步工具的概要设计 15
4.1 系统总体框架 15
4.2 表处理模块的概要设计 17
4.2.1 依赖解决的概要设计 17
4.2.2 数据传输模块的概要设计 17
4.3 存表模块的概要设计 17
4.3.1 HBASE存储模块的架构设计 17
4.4 日志表、中间文件、日志结构设计 18
4.5 系统架构 19
4.6 小结 21
第五章 Hbase与关系数据库同步工具的详细设计与实现 22
5.1 工具中的模块具体实现 22
5.1.1 读表模块: 23
5.1.2 表处理模块 24
5.1.3 存表模块 25
5.2 变化捕捉策略 25
5.2.1 方案分析 25
5.2.2 新建记录触发器详细设计 27
5.2.3 更新记录触发器的详细设计 27
5.2.4 删除记录触发器的详细设计 28
5.3 关系数据库数据依赖解决(表模式转换) 29
5.3.1 基本变换 29
5.3.2 内嵌变换 30
5.3.3 分割变换 31
5.3.4 内联变换 32
5.3.5 小结 32
5.4 具体实现 33
5.4.1 技术方案选择 33
5.4.2 文件设计 33
5.5 其他性能和管理问题具体实现 34
5.5.1 关系数据库连接维护、中断续传、缓存问题、中间文件 34
5.5.2 错误控制 34
第六章 Hbase与关系数据库同步工具的软件测试 36
6.1 测试环境 36
6.2 关系数据库到HBASE数据同步工具的功能测试 37
6.3 关系数据库到HBASE数据同步工具的性能测试 40
6.3.1 吞吐率测试 40
6.3.2 可靠性测试 41
6.4 测试总结 41
第七章 结束语 42
7.1 论文工作总结 42
参考文献 43
致 谢 44
附 录 45
附录1 英文缩略语对照表 45
本文来自: 毕业作品网站(www.biyezuopin.vip) 详细出处参考:http://www.biyezuopin.vip/onews.asp?id=16146
网友评论