- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于内存的NoSQL分布式数据库技术研究项目项目总结 中科大移动云计算系统实验室 孟宁 项目目标 一、选型与测评分析 数据库调研 数据库选型 测评方案设计 测评系统的设计与实现 测试结果的对比分析 数据库调研 主要测试软件架构设计 基本测试结果对比 二、板内改造与测评分析 共享内存方式 板内分布式方式 缓存方式 测评与对比 共享内存方式实现方案和测试方案 板内分布式实现方案和测试方案 采用分布式算法将板内所有进程构成一张全局表,每个单板的进程数目可以达到N个(最大32个),每个进程内存中存有1/N部分数据;重点测试各种读性能。 分布式算法采用一致性哈希算法将数据随机分布到各节点上,当业务进程访问某个数据时,根据数据的Key计算出该数据存储在具体哪个节点,直接到该节点读取数据即可。 进程缓存方式 采用缓存机制将通过C/S方式读到的数据缓存到本地进程,当缓存占满时随机淘汰部分数据。 利用缓存机制我们对不同的缓存空间大小(100%-10%)和读取的数据范围进行测试(10%-100%),同时每次测试我们先进行了初始化,也就是缓存数据的过程,然后进行实际测试。 各种策略的综合对比 三、ConfigDB分布式数据库的设计与实现 进程间的互斥机制(信号量、共享内存) 缓存性能及淘汰机制研究 服务器并发处理(epoll、pthread、队列、信号) 一致性Hash分布式策略 ConfigDB系统整体架构 一致性Hash分布式策略 根据系统对读性能的极端要求,专门设计了指针数组方式的环形空间,以hash值为下表的指针指向数据节点信息,保证分布式策略以O(1)复杂度执行。 服务器并发处理 epoll线程负责监听所有套接字描述符 任务线程读写任务处理 线程间采用事件(信号量)+消息队列方式通信 总结 项目的主要产出 完全自主设计了一套针对KV NoSQL数据库的自动化测评软件系统(约5000行C/ShellScript等代码),良好的分层软件架构保证了良好的扩展性,针对目前的测试模型可以全自动生成柱状对比图。 对板内共享内存的局限、板内分布式和缓存技术做了大量测评分析,产出了一组有参考价值的数据。其中探索了缓存淘汰技术的适用性和局限性。 完全自主设计了一套Data-Grid模式的分布式数据库系统(约4000行C代码),其中实现了一种基于一致性Hash的分布式节点管理策略,使其达到了O(1)节点查找性能;另外还实现了基于epoll和多线程方式的服务器并发处理策略。 项目结论 本项目按计划探索了在各种条件下的数据库读性能的极限及其影响因素,顺利完成了研究任务。 LOGO LOGO 本项目需要研究一种新的快速存储与访问机制,改善内存使用的现状,同时要保证软件架构上不做大的改动,性能没有明显下降。 具体目标 在保留当前函数调用的基础上,用NoSQL数据库替换现有SQL数据库 一、选型与测评分析 二、板内改造与测评分析 板内共享内存、板内分布式、缓存方式的设计与实现,及其测评分析 三、ConfigDB分布式数据库的设计与实现 采用mmap方式实现共享内存方案,将板内所有进程通过mmap方式共享同一个数据库,每个单板的进程数目达到32个;主要进行了基本读写性能测试。 1)初始化数据库,插入所需的测试数据,把数据库内存映像保存为文件; 2)测试进程将数据库文件使用mmap方式映射到本进程地址空间; 3)利用shell脚本分别同时执行1个、2个、4个、6个、8个、10个、12个、14个、16个和32个进程,在执行时还使用了taskset -c将进程与CPU绑定。 影响因子影响随机读性能的关键影响因素; “综合存储”是指整个系统存储数据所耗内存; “进程内存”是指平均到单个进程所耗内存; “最快随机读”是指在极端情况下的随机读性能,比如分布式只有一个节点的情况、 缓存大小与数据大小相同等; “最慢随机读”也是指在极端情况下的随机读性能,比如分布式的节点无限多, 本地缓存无限小命中率接近0%等。 LOGO
文档评论(0)