没有合适的资源?快使用搜索试试~ 我知道了~
Experiences and challenges in building a data intensive论文阅读笔记1
需积分: 0 0 下载量 96 浏览量
2022-08-04
17:18:06
上传
评论
收藏 1.04MB PDF 举报
温馨提示
试读
17页
一、背景近年来随着互联网的发展,大数据的作用越来越明显,为了有效地管理大数据,DI(Data Intensive)系统应运而生,它负责管理数据的创建、分析和转换
资源推荐
资源详情
资源评论
实证研究论文阅读笔记
论文详细信息(发表于ESE期刊2018年) :
Experiences and challenges in building a data intensive system for
data migration
Scavuzzo, M., Nitto, E.D. & Ardagna, D. Experiences and challenges in building a data
intensive system for data migration. Empir Software Eng 23, 52–86 (2018)
doi:10.1007/s10664-017-9503-7
论文地址:https://link.springer.com/article/10.1007/s10664-017-9503-7
选择该论文的原因与动机:
在软件工程领域,数据库是大型软件开发必不可少的一个部分,比如有传统的
RDBMS(关系型数据库管理系统)和较新的NoSQL数据库。通过本科的学习,
我基本了解了RDBMS的原理和使用方法,但对最近比较流行的NoSQL数据库缺
乏了解。因此借这个机会,选择这篇论文,不仅可以更具体的了解实证研究方
法,还可以了解NoSQL数据库以及如何进行数据库数据迁移。
一、背景
近年来随着互联网的发展,大数据的作用越来越明显,为了有效地管理大
数据,DI(Data Intensive)系统应运而生,它负责管理数据的创建、分析和转换。
而DI应用必须有容错性,能容忍硬件、软件、网络问题导致的错误。
在 DI 应用技术之前已经出现了许多大数据处理框架,比如 Hadoop、Spark
和 Flink。这些框架极大地简化了 DI 应用的设计和开发,因为它们提供了任务并
行化和调度策略。但是这些框架无法处理一些复杂情况,比如数据模型接口不标
准的问题、如何分配系统资源给这些框架的问题等等,因此需要设计和开发 DI
应用,DI 应用可以提供规则和工具来组合这些框架。
由于当前软件工程领域中没有能够符合上述要求的支持数据迁移的DI应
用,所以论文中使用了实证研究的方法来进行设计和开发一个支持数据迁移的
DI应用,用开发-测试-重新设计的流程解决问题。在这篇论文里主要研究和改
进的DI应用是 Hegira4Cloud,它支持NoSQL数据库中大量数据的离线迁移,而
且对准确性、错误容忍度、迁移速度都有很严格的要求。
论文里用到的基础模型 Hegira4Cloud 实际上是作者之前提出过的模型,
作者先是在2014年的一篇论文里提出 Hegira4Cloud 的基础模型,这个v1版本
主要是完成了不同NoSQL数据库间数据迁移的基本功能。再然后是作者在2016
年的另一篇论文里提出了它的改进版本v2,简单地讲解了如何提高
Hegira4Cloud模型性能和容错性。而本文的主要贡献是详细地讲解了如何使用
反复试验、实证研究的方法来开发Hegira4Cloud模型的v2版本,并验证其可扩
展性(可扩展性指的是可以进行大量数据的迁移),最后在理论层面上提出更完
善的v3版本(但没有做实验证明)。
二、相关工作
这部分主要讲 NoSQL 数据库、数据迁移、Hegira4Cloud 基础模型这几个相
关的工作,以及论文的研究动机。
2.1 NoSQL 数据库
NoSQL 的优点主要是可以处理以下几个 RDBMS(关系型数据库管理系统)
无法高效处理的问题:
1、 数据量大:RDBMS 无法高效存储和检索大量数据,比如查询操作就常常
需要处理多个索引、在多个关系表间联合筛选、排序等,而 NoSQL 就没
有这个问题。
2、 数据种类多:大量数据常常有不同数据源和格式。
3、 数据处理速度要求严格 :大数据处理要求快速写、转换、分析等等。
为了提高可用性,NoSQL 将数据分割到多个数据库节点中,这样用户只需要
向包含他们请求的数据的节点查询即可。此外,为了进一步提高可用性和容错能
力,NoSQL 还对每个节点进行节点复制/备份,一般存放在不同的数据中心里。
由此可见 NoSQL 往往是以分布式系统存在的,因此就需要受到 CAP 原则的约
束,即只能在一致性、可用性、分区容错性之间取其二。在必须有分区容错性的
前提下,NoSQL 需要在一致性和可用性之间进行权衡。而大多数 NoSQL 数据库
倾向于选择可用性,在一致性上进行让步,放弃严格一致性,只需要实现最终一
致性。
NoSQL 数据库有多种不同的数据模型,比如 Key-Value, Document, Graph,
and Column-family-based 等。在本论文中主要研究的是 Column-family-based
NoSQL 数据库。举一个例子了解一下 Column-family-based NoSQL 数据库:
以上是一张表,表中只有一条数据,其中 RowKey 即行键,可理解成 MySQL 中
的主键列,数据库就是根据 RowKey 来查找数据的;Column 即列,可理解成
MySQL 列;ColumnFamily 即列族,将多个列聚合成一个列族。之所以这样设
计,是因为查询有时不需要将一整行的所有列数据全部返回。列族对应到文件
存储结构(不同的 ColumnFamily 会写入不同的文件);TimeStamp:在每次更
新数据时,用以标识一行数据的不同版本。
2.2 数据迁移
数据迁移的定义:创建一个源数据库的快照,然后将其传输到目标数据库,
并且能够适应目的数据库的技术特性,也就是说这个快照能够在不同种类的
NoSQL 应用间进行迁移。此外,如果数据迁移过程中不允许修改(插入、更新等
等),则称为离线(offline)数据迁移。
在 NoSQL 领域中,暂时还没有这样的一种工具,能够以通用的方式来支持
在不同类型的 NoSQL 数据库间进行数据迁移。虽然有一些数据库提供了一些工
具(比如 Google Bulkloader),以特定的格式(比如 CSV 或者 JSON)进行数据
导出和数据导入,但是这些工具只是起到辅助作用,实际上还是需要程序员人工
地将数据转换为这种特定的格式才能进行数据迁移,这样的话就称不上一种通用
的数据迁移工具。而且这些工具还没有容错机制,因此并不能用于实际的生产环
境中。
2.3 Hegira4Cloud
Hegira4Cloud 是一个批量处理类型的 DI 应用,适用于 Column-family-based
NoSQL 数据库间的离线数据迁移,符合大量、高速、多格式兼容的数据处理要
求。Hegira4Cloud 的元模型(meta-model)如下图所示:
剩余16页未读,继续阅读
资源评论
小米智能生活
- 粉丝: 30
- 资源: 300
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功