欢迎来到第一文库网! | 帮助中心 第一文库网-每个人都是第一
第一文库网
全部分类
  • 研究报告>
  • 学术论文>
  • 全科教育>
  • 应用文档>
  • 行业资料>
  • 企业管理>
  • 技术资料>
  • 生活休闲>
  • ImageVerifierCode 换一换
    首页 第一文库网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    你不知道的LevelDB.docx

    • 资源ID:82482       资源大小:110.88KB        全文页数:5页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    扫码关注公众号登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    你不知道的LevelDB.docx

    你不知道的LevelD导读:你也许没听说过LevelDB,但是你一定应该听过Bigtableo简单说,LevelDB = Bigtable 单机版,谷歌大神 Jeff Dean 与 Sanjay Ghemawat 开发并开源。LevelDB的诞生过程LevelDB就是一种为分布式而生的键值数据库。Google在分布式系统领域一直走在当今世界的前沿。早在2004年,Google开始研发一种结构化的分布式存储系统,该分布式存储系统可扩展至PB级别的数据和数千台机器,这一系统就是后来风靡全球的Bigtable。Bigtable性能强悍,具有高扩展性与高可用性,在Google内部已应用到60多个产品与项目,比如Google Earth 和 Google Analyticso 目前 Bigtable 是公认为的 Google 三大核心技术之一(另外两个分别为GFS与MapReduce )2006 年,Google 发表了一篇论文Bigtable: A Distributed Storage Systemfor Structured Datao这篇论文公布了 Bigtable的具体实现方法(包括基本原理与技术架构),从而揭开了 Bigtable的技术面纱。Bigtable虽然也有行、歹人表的概念,但不同于传统的关系数据库,从本质上讲,它是一个稀疏的、分布式的.持久化的.多维的排序犍值映射。虽然Google公布了 Bigtable的实现论文,但Google产品中所使用的Bigtable依赖于Google其他项目所开发的未开源的库,Google 一直没有将Bigtable的代码开源。然而这一切在2011年迎来了转机。Sanjay Ghemawat和Jeff Dean这两位来自Google的重量级工程师,为了能将Bigtable的实现原理与技术细节分享给大众开发者,于2011年基于Bigtable的基本原理,采用C + +开发了一个高性能的键-值数据库一一LevelDBo由于没有历史的产品包袱,LevelDB结构简单,不依赖于任何第三方库,具有很好的独立性,虽然其有针对性地对Bigtable进行了一定程度的简化,然而Bigtable的主要技术思想与数据结构均在LevelDB予以体现了。因此LevelDB可看作Bigtable的简化版或单机版。LevelDB诞生时,源码托管在Google自家的源码管理平台,后来迁移到目前最流行的开源社区 GitHub 上( )。经过多年的发展,LevelDB已成为GitHub上关注人数较多的C + +开源项目之一。截至目前(2021年1月)XevelDB发布的稳定版为1.22。在Google产品线中,Chrome浏览器中涉及的IndexedDB (基于HTML5 API的数据库),就是基于LevelDB构建而成的。Riak分布式数据库也采用LevelDB作为其节点的存储引擎。LevelDB的性能分析在LevelDB的源码中,笔者写了 一段用于测试LevelDB性能的代码(db_bench.cc )。经过编译后,生成用于性能测试的可执行程序db_bencho通过运行该性能测试程序,用户能直观地了解LevelDB在海量数据读写方面的性能。可为测试程序db_bench指定相关测试参数,也可以选择默认参数。db.bench在默认的测试参数下读写百万级别的数据时,每一个数据的key占用16字节,value占用100字节(启用压缩后,value占用50字节,即压缩率为50% )。db.bench主要针对读与写两个方面进行测试。写性能测试项具体如下。Fillseq :以顺序写的方式创建一个新的数据库。Fillrandom :以随机写的方式创建一个新的数据库。Overwrite :以随机写的方式更新数据库中某些存在的key的数据。Fillsync :每一次写操作,均将数据同步写到磁盘中才算操作完成;而对于上述3种其他的写操作,只是将需要写的数据送入操作系统的缓冲区就算成功。读性能测试项具体如下。Readrandom :以随机的方式进行查询读。Readseq :按正向顺序读。Readreverse :按逆向顺序读。在终端中输入命令执行db.bench ,测试程序即可进行相应的读写操作,并记录相应的性能数据。$ /db_bench针对上述的几个测试项,表1-1对比了 LevelDB官方发布的与笔者实际测试的结果。两者硬件测试环境不同,因而相应测试项的数据也不相同。但总体而言,可以得知LevelDB读写性能的优异。表1-1 LevelDB测试数据测试项官方结果'(”/op)笔者测试(us/op)Fillseq1.73.263Fillsync268.40955.34Fillrandom2.464.115Overwirte2.384.242Readrandom16.6774.306Readseq0.4760.194Readreverse0.7240.348 LevelDB 官方测试平台为 CPU : 4 x Intel ( R) Core (TM) 2 Quad CPU Q66(X) 2.40GHz, CPUCache :4096 KB 笔者采用的硬盘测试平台为 15 寸 MacBook Pro with Retina 2015 ( CPU : Intel Core i7 2.2GHz : 16GB内存,256GB SSD硬盘)此外 为了更好地测试比较LevelDB的实际性能,Google的工程师也将LevelDB与另外两种数据库(SQLite3和Kyoto TreeDB )进行了对比。经过测试证明,LevelDB相较于另外两种数据库,无论是在基本操作环境下,还是在某些特定配置环境下,均具有非常优秀的读写性能。具体测试结果,可以参见源码中的leveldb/doc/benchmark.htmlo-END -

    注意事项

    本文(你不知道的LevelDB.docx)为本站会员(lao****ou)主动上传,第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第一文库网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 001doc.com网站版权所有   

    经营许可证编号:宁ICP备2022001085号

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



    收起
    展开