- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
非关系数据库CouchDB应用
非关系数据库CouchDB应用
摘要:随着大数据的不断发展,非关系数据库得到了广泛的关注。该文首先分析了非关系数据的特征及与关系数据库的区别,然后从应用的角度入手分析CouchDB的特征及使用方法,在Python语言的环境中探讨了在CouchDB中进行添加、查询等操作的方法。
关键词:非关系数据库;CouchDB;Map/Reduce
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)14-3220-03
随着以社交网络、云计算为代表的Web2.0网站的兴起,非关系数据库(NoSQL)得到了广泛的关注[1-2]。这是因为传统的关系数据库在面对这类应用的时候暴露出许多问题,在处理超大规模的数据、应对高度并发的请求时显得力不从心。这种情况下非关系数据库得到了迅速的发展,成为业界和学界所探讨的热点问题。
CouchDB是在处理半结构化的文档中具有独特的优势,在CMS系统、大数据分析和挖掘中具有广泛的用途。该文首选对非关系数据库的特征及Map/Reduce的工作方式进行分析,然后详介绍了CouchDB的安装、配置及使用方法。
1 非关系数据库
1.1 非关系数据库的特点
非关系数据库是根据Web应用发展的需要而产生的,与传统关系数据库有很大的差异。关系数据库最为显著的是ACID特性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。从分布式应用的CPA理论[3,4]的角度来看,关系数据库主要关注的是一致性和可用性,能够很好的满足传统的应用需求。但是在Web2.0时代,对数据处理的要求高并发性、海量数据的处理能力和访问需求,以及对数据库的高扩展性和高可用性要求。相对而言,关系数据库所关注的一致性、读写的实时性和复杂的SQL查询在新的应用中却并不需要[5]。
CPA理论认为一致性、可用性和分区容错性不可能同时实现。因此非关系数据库的主要特征为与ACID有着显著差异的BASE模型[6]。即基本可用(Basically Available)、软状态(Soft state)和最终一致(Eventually consistent),它允许系统在一段时间内有不一致性,而放宽至只要最终状态下数据是一致的就可以了,从而以牺牲高一致性为代价获得了高可用性。由于非关系数据库没有数据库模式的约束,???而具备了良好的可扩充性。
1.2 Map/Reduce机制
Map函数的输出为数据库中的文档或数据,输出为键值对。这里的键和值可以是系统支持的任何类型的数据,用户可以在Map函数中对文档数据加以处理,把所需的数据以键值的形式输出。Map函数会对数据库中所有数据进行处理,结果由主控制器按键进行分组,如果用户不指定Reduce函数则按键分组的结果直接输出。Reduce函数的功能是把键值组合进一步处理,比如统计、汇总等。
2 CouchDB的安装及应用
2.1 CouchDB简介
CouchDB是最著名的非关系数据库系统之一,它是Apache软件基金会的顶级开源项目。CouchDB使用Erlang语言开发,继承了其强大的强大的并发性和分布式的特征,因此在大数据处理及诸如社交网络等Web2.0应用开发中具有重要的应用价值。CouchDB的早期版本只能安装在POSIX系统之上,必威体育精装版版本则提供了对Windows的支持。
CouchDB是一个面向文档的、分布式的数据库,支持REST接口访问。面向文档是指CouchDB中存储的是半结构化的JSON文档,而且可以方便的将文档对象映射为具体编程语言的对象。由于JSON在Ajax技术及社交网络应用中广泛应用,因此CouchDB在这类应用的数据存储和处理中具有良好的应用前景。CouchDB是分布式的数据库系统,源于Erlang极好的并发特性,CouchDB存储系统可以分布到多台计算机之上,每台计算机称为存储系统的一个节点。CouchDB能够很好的协调和同步多个节点之间的数据一致性和完整性,有效的应用系统应用中可能出现的各种错误。CouchDB支持REST接口访问,即可以通过GET、PUT、POST、HEAD和DELETE等标准的Http请求对数据库进行写入和查询分析等操作。因此,任何一种编程语言只要具备Http请求模块就可以方便的与CouchDB进行对接,甚至只要利用正确的URL地址只要运用浏览器就可以访问CouchDB得到所需要的数据。
与其他的非关系数据库一样,CouchDB利用Map/Reduce对数据进行插入、有哪些信誉好的足球投注网站等操作。CouchDB将键值对存储在B-树引擎之上,并根据键值进行排序,因此具有高效的查询和操作性能。需要注意的
您可能关注的文档
最近下载
- 四川省文化分区、生态功能区划、各生态功能区备选植物一览表、高速公路车速与公路廊道典型实景图.pdf VIP
- (高清版)DB3208∕T 173-2022 群众体育智力运动 掼蛋 术语与定义.pdf VIP
- 基层工会经费审计常见问题及建议.docx VIP
- 航天技术在生活中的应用衣食住行(共10篇).pdf VIP
- 2024年四川省公务员录用考试《行测》试题附解析.pdf VIP
- 新人教版五年级上册语文阅读理解专项训练(15篇).pdf
- 60万吨年锆钛矿分选及深加工项目可行性研究报告模板-立项备案.doc
- 六年级语文上册理解阅读专项练习(12篇).pdf VIP
- 对照反面典型案例方面存在的问题.docx
- 春节节后收心会.pptx
文档评论(0)