基于Erlang和异构平台的Key-Value数据库的研究

基于Erlang和异构平台的Key-Value数据库的研究

论文摘要

传统的关系型数据库在数据量和用户数爆炸式增长的现在遇到了性能瓶颈,这主要归结于关系模型中数据间复杂的关联和耦合,导致数据库难以扩展,无法充分利用分布化提升性能。Key-Value数据库放弃了关系型数据库中的关系模型,通过去除数据之间的耦合使数据库更为适应现代的高性能服务架构,从而达到高可扩展性、高性能。但是由于当前数据中心的限制和Key-Value集群本身庞大的服务器数量,Key-Value集群的部署成本过高,相对计算效率较低,这大大限制了Key-Value集群的应用范围,因此提升集群的计算效率和部署密度对于工业界有着重要的意义。本文研究了Key-Value数据库的核心特性、应用模式以及当前的计算环境,提出解决集群计算效率和部署密度问题的关键在于对异构平台的支持。通过使用计算效率更高的平台替换当前的常用平台,可以大大减少计算的能耗和热耗散并提升部署密度。但支持异构平台的特性也对所使用技术的选择、系统架构的设计和开发的技巧提出了更高要求,如:现有软件栈对新架构支持度不够,需要在研究中进行大量的开发;异构集群内性能差异较大,需要良好的负载均衡方案保证集群的稳定运行。本系统使用Linux操作系统和Erlang运行时作为服务的基础设施,定制了适于运行于ARM架构上的Linux系统,充分利用了其开源、跨平台、高稳定性、高成熟度等优势,构建了稳定的数据库运行基础;深入的研究了Erlang的函数式编程方法、进程模型、消息传递机制和容错机制等语言特性,以此为基础解决了针对分布式集群的通信、容错等难点问题;针对异构系统性能差异大的特点,系统应用了分层体系、一致性哈希等思想进行总体架构设计,保证了服务的可扩展性。最终本研究实现了基于x86和ARM异构平台的分布式Key-Value数据库系统。相对于关系型数据库,此Key-Value数据库可以轻松的进行线性扩展,获得理想的性能增长;相对于已有的Key-Value数据库,本文提出的数据库集群设计方案可扩展性更高,并可充分利用现有和未来异构的机器资源,更好的适应数据中心环境,提供极高的性能/能耗比,进行高密度的部署。

论文目录

  • 摘要
  • Abstract
  • 第1章 引言
  • 1.1 研究背景和意义
  • 1.2 国内外研究现状
  • 1.3 主要研究内容与成果
  • 1.4 论文的结构
  • 第2章 Key-Value 模式的研究
  • 2.1 关系型数据库的缺陷
  • 2.2 NoSQL 的定义
  • 2.3 Key-Value 数据库的特性
  • 2.4 Key-Value 系统的使用场景
  • 2.4.1 作为单一数据源使用
  • 2.4.2 同关系型数据库一同作为数据源使用
  • 2.4.3 作为关系型数据库的镜像使用
  • 2.4.4 作为数据中间层或者缓存
  • 2.5 现有 NoSQL 系统分析
  • 本章小结
  • 第3章 异构平台的重要性
  • 3.1 当前数据中心面临的问题
  • 3.1.1 供电不足
  • 3.1.2 散热能力有限
  • 3.2 数据中心的发展趋势
  • 3.3 异构平台的优势
  • 3.3.1 有效利用机器资源,最大程度利用最新技术
  • 3.3.2 可以利用更高效的服务器架构
  • 3.3.3 更好的适应数据中心
  • 3.4 异构平台的可行性
  • 3.5 异构平台的不足
  • 本章小结
  • 第4章 Key-Value 系统的基础设施
  • 4.1 概述
  • 4.2 硬件平台
  • 4.3 操作系统
  • 4.4 Erlang 编程语言
  • 4.5 开发环境和工具
  • 本章小结
  • 第5章 Key-Value 系统的设计与实现
  • 5.1 总体设计
  • 5.2 外向接口设计
  • 5.3 客户端设计
  • 5.4 数据分布化的方式
  • 5.5 可靠性及容错
  • 5.6 存储服务的设计
  • 5.7 集群的初部署
  • 5.8 数据的迁移
  • 本章小结
  • 第6章 Key-Value 系统的特性
  • 6.1 优秀的可扩展性
  • 6.2 混杂服务器共存
  • 6.3 灵活的客户端侧支持
  • 6.4 高效的性能/能耗比
  • 6.5 构建高度紧凑型的机架服务器集群
  • 本章小结
  • 总结与展望
  • 致谢
  • 参考文献
  • 攻读学位期间取得学术成果
  • 相关论文文献

    • [1].两个k阶Erlang分布之间的Kullback-Leibler距离[J]. 青海师范大学学报(自然科学版) 2018(03)
    • [2].激光干扰卫星的Erlang排队模型及其仿真运用[J]. 激光与红外 2016(11)
    • [3].A Hyper-Erlang Jump-Diffusion Process and Applications in Finance[J]. Journal of Systems Science & Complexity 2016(02)
    • [4].广义Erlang(2)风险模型下破产时和破产前索赔次数的联合密度(英文)[J]. 南开大学学报(自然科学版) 2015(01)
    • [5].Ruin probability for correlated negative risk sums model with Erlang processes[J]. Applied Mathematics:A Journal of Chinese Universities(Series B) 2009(01)
    • [6].冬眠中的Erlang[J]. 程序员 2008(07)
    • [7].无废话Erlang[J]. 程序员 2008(09)
    • [8].带扰动对偶模型中Erlang(2)分红决策时间下的最优分红[J]. 重庆工商大学学报(自然科学版) 2019(04)
    • [9].Coxian Representations of Generalized Erlang Distributions[J]. Acta Mathematicae Applicatae Sinica(English Series) 2009(03)
    • [10].带扰动的广义Erlang(n)风险过程最大亏损问题研究[J]. 盐城工学院学报(自然科学版) 2015(01)
    • [11].基于Erlang的混合语言编程及其实现[J]. 微型电脑应用 2011(11)
    • [12].不期而遇的利器——Erlang[J]. 程序员 2010(08)
    • [13].相依的Erlang(2)风险模型下的多段分红问题(英文)[J]. 应用概率统计 2017(01)
    • [14].Erlang算法在呼叫中心的应用研究[J]. 计算机技术与发展 2010(06)
    • [15].不带利率Erlang(2)风险模型的联合概率[J]. 江汉大学学报(自然科学版) 2013(05)
    • [16].关于Erlang分布的一个注记[J]. 数学的实践与认识 2011(11)
    • [17].一类更新风险模型的破产前最大盈余[J]. 湖南理工学院学报(自然科学版) 2011(03)
    • [18].条件Erlang分布双参数加法定理的推广[J]. 数学的实践与认识 2009(02)
    • [19].破产时刻和破产赤字对保险公司破产概率的影响研究——基于Erlang风险模型[J]. 重庆师范大学学报(自然科学版) 2019(03)
    • [20].Erlang(2)更新风险模型的破产概率[J]. 中国商论 2017(09)
    • [21].重尾数据的混合Erlang分布拟合方法[J]. 运筹与管理 2013(01)
    • [22].两险种广义Erlang(2)风险模型的破产概率[J]. 工程数学学报 2013(05)
    • [23].带干扰的Erlang(2)风险模型破产概率的分解[J]. 数学杂志 2009(03)
    • [24].Erlang——一种支持大规模并发处理的高可靠性编程语言[J]. 电脑与电信 2009(11)
    • [25].投资和干扰下的Erlang(2)模型的破产概率[J]. 菏泽学院学报 2010(05)
    • [26].Erlang(2)模型在多发点过程上的推广模型在破产T时刻的矩[J]. 南开大学学报(自然科学版) 2020(01)
    • [27].不同损失下k阶Erlang分布参数的Bayes估计[J]. 淮阴师范学院学报(自然科学版) 2017(04)
    • [28].一类混合分红策略下的广义Erlang(n)风险模型[J]. 中国科学:数学 2014(10)
    • [29].扩散风险模型中Erlang(2)间隔随机观察边界分红问题[J]. 华中师范大学学报(自然科学版) 2020(03)
    • [30].Erlang模型在坐席规模预测中的研究与改进[J]. 铁路计算机应用 2013(10)

    标签:;  ;  ;  ;  

    基于Erlang和异构平台的Key-Value数据库的研究
    下载Doc文档

    猜你喜欢