论文摘要
随着云存储、云计算技术的快速发展,数据的存储、索引、搜索已经成为互联网数据管理中心的一个重要技术瓶颈,这是因为现行互联网数据都是海量的,而基于ACID理论的关系数据库很难满足现行数据管理的需求。根据CAP理论,一个分布式系统不可能同时满足一致性(Consistency),可用性(Availability)和分区容忍性(Partition Tolerance)这三个需求,而基于高一致性和可用性的关系数据库难以在架构及部署上进行横向或者纵向的切分,也就失去了充分利用并行和分布式系统扩展性能的可能。本论文在研究现有流行的搜索系统的设计原理、应用环境及应用案例的基础上,结合海量日志数据的特点,提出基于Elastic Search的分布式日志搜索系统的架构方案、设计方案、部署策略。根据日志系统搜索的特点,一方面绝大部分检索都是基于主键的查询;另一方面,日志数据在管理上并不需要保证强一致性,而只需要保证最终一致性。因此本系统采用分布式存储策略,对数据进行分级索引和缓存,从而使系统能够达到实时搜索、稳定可靠、快速安装和使用方便的需求,同时支持通过HTTP使用JSON进行数据索引快速查询。根据最终的测试结果,本方案能够很好的降低部署和运行成本,在保证可用性以及最终一致性的前提下,具有极高的插入和搜索性能。在兼顾效率的前提下,本系统完全能够满足现有互联网海量日志的数据存储、并发查询、分类统计等各项需求。
论文目录
摘要ABSTRACT第一章 绪论1.1 课题研究的背景和意义1.2 现有的搜索引擎技术1.2.1 搜索引擎分类1.2.2 全文搜索引擎架构1.2.3 垂直搜索引擎介绍1.3 分布式日志搜索系统国内外研究现状1.3.1 Scribe应用系统1.3.2 Chukwa应用系统1.3.3 Kafka应用系统1.3.4 Flume应用系统1.4 论文主要研究内容与成果1.5 本论文的结构第二章 Elastic Search及云存储关键技术研究2.1 海量数据存储、索引搜索系统的特点2.1.1 海量数据关键特性2.1.2 CAP理论简介2.2 基于Lucene的Elastic Search系统2.2.1 Lucene简介2.2.2 基于Lucene的Elastic Search架构概览2.2.3 Lucene搜索系统和及其它搜索系统比较2.3 Trie树分词技术2.4 倒排序索引2.4.1 正排索引与倒排索引2.4.2 Elastic Search的segments倒排索引存储模型2.4.3 Lucene索引文件结构分析第三章 基于Elastic Search的分布式日志搜索系统架构设计3.1 分布式日志搜索系统需求分析3.1.1 项目描述3.1.2 功能描述及流程3.1.3 数据收集及请求的特点3.1.4 数据量分析3.1.5 需求分析结论3.2 总体架构图3.3 系统模块架构3.4 Elastic Search存储系统架构3.5 系统部署架构图第四章 分布式日志搜索系统详细设计与实现4.1 网络部分设计4.1.1 IOService & EventUnit4.1.2 事件注册流程4.1.3 网络数据处理流程4.1.4 Libevent Reactor网络模式具体应用4.2 进程处理详细设计4.3 系统初始化处理流程4.4 容错处理机制设计4.5 Elastic Search数据存储实现4.5.1 建立索引的执行过程(Store、Index)4.5.2 从索引库中搜索的执行过程4.5.3 使用IndexDao封装对索引库的增删改查第五章 性能测试与分析5.1 系统关键性能测试5.1.1 测试部署图5.1.2 测试环境配置5.1.3 软件版本5.1.4 Elastic Search服务器配置5.1.5 测试方法5.2 性能测试结果第六章 总结及展望6.1 本文的结论6.2 本文的不足6.3 分布式日志搜索系统展望参考文献致谢
相关论文文献
标签:海量存储论文; 分布式论文; 理论论文;
基于Elastic Search的分布式日志搜索系统设计
下载Doc文档