浅析云计算下NOSQL的应用与发展

浅析云计算下NOSQL的应用与发展

ID:41007459

大小:18.88 KB

页数:5页

时间:2019-08-13

浅析云计算下NOSQL的应用与发展_第1页
浅析云计算下NOSQL的应用与发展_第2页
浅析云计算下NOSQL的应用与发展_第3页
浅析云计算下NOSQL的应用与发展_第4页
浅析云计算下NOSQL的应用与发展_第5页
资源描述:

《浅析云计算下NOSQL的应用与发展》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、浅析云计算下NOSQL的相关问题经过几天紧张而充实的学习,我对云计算和大数据有了更为详细和较高层次的理解。我认为从科研人员角度看云,云就是各种技术的集成,虽然云本身并没有技术方面的重大革新,但是这种模式对整个社会经济发展都会有重大的推动作用。现我只对云计算下的非关系数据库,也就是NOSQL的应用与发展阐述一下自己粗略的观点。在云计算中,海量数据的处理要求非常高。NoSQL在这一方面拥有“天生”的优势。虽然目前NoSQL对于企业级的应用来说还不是主流,但是,越来越多的开发者和用户开始逐渐的投入到NoSQL的阵营中来。在“传统”的

2、关系数据库中,对于表和表间的设计是需要非常高明的技巧和丰富的经验,虽然可以用透明的中间件层来屏蔽其中的复杂性,但是在技术本质上并没有降低这种大数据下进行数据库开发的难度。关系数据库经常存储一些大文本字段,导致数据库表非常的大,在数据库的备份和恢复的时候就导致非常的慢,如果能把这些数据省去,将大大的减少空间和时间。关系数据库对软件和网络的贡献当然是无可置疑的,但是其“商品”的属性也决定了一个较为昂贵的开发成本,对于小型和个人开发者来说,开发成本有些过于庞大。NoSQL开源免费的性质恰恰解决了这一问题,使得中小企业甚至个人就能开发

3、大型的云应用,对于这个技术的发展都有积极的推动作用,所以这也是NoSQL备受开发人员欢迎的原因之一。此外,面向文档的非关系数据库往往在高性能环境中表现突出。所以如果应用程序及组件需要存储可快速访问且常用的数据,则例如下文讲的MongoDB可以取得较好效果。网站分析、用户首选项和设置(例如个人博客)都是采用MongoDB的自然之选。其中NoSQL中比较有代表性的数据库是MongonDB,它的基本结构是文档,多个键值和其映射的值有序放置在一起就是文档,例如:{“AAA”:“123“}就是一个文档,实际中允许多个键/值对,多个文档组

4、成了集合,而且MongonDB中对集合的建立不是强制性的,所以保障了开发者的灵活性,当多个文档在一起的时候就构成了数据库,以上就是MongonDB的基本结构。在MongoDB中可以使用ReplicaSets机制来保证应用的高可用性。例如当一台服务设备出现故障时,另一台备份机器就会接管服务,整个集群仍然能够提供正常运行,而且用户并不会觉察到提供服务的设备已近更换,对于要求高可靠性的服务就更需要采取这种机制。如果觉得这种同步机制的代价过高,可以使用一些云存储服务来加以补充。MongoDB作为一款年轻的数据库,更新显得尤为重要。在每

5、个版本中都会修复一些问题,使MongoDB的运行更出色。比如在2.0.x版本中,MongoDB的存储性能和并发性能就有极大提高,同时还包括索引优化、Bug修复以及compaction命令等一系列改进,以便开发者更方便地扩展其集群。而且尽量在64位机上使用MongoDB,因为在32位机器上MongoDB只能存储约2.5GB的数据,而且MongoDB在内部实现上是通过内存映射的方式来提高性能的,所以在32位机器上其内存地址本身就限制了数据容量。MongoDB支持在写操作前记录journaling日志来提高节点的可用性,所以强烈建议

6、在部署时开启journaling日志。注意数据文件的存放位置。在使用时,请确认你的数据文件处于一个持久化存储中(比如/data/mongodb目录)。也可以使用非持久化的设备进行数据文件存储,不过你最好小心再小心,因为这可能会对你的集群架构造成影响。推荐使用EBS进行MongoDB的数据文件存储。热数据最好能放在内存中。能够保持热数据(以及索引数据)一直放在内存中,这一点非常重要,它将对整个集群的性能造成影响。如果通过监控发现pagefault的数量增加,那么很可能就是热数据量超出了可用内存大小。当热数据量超出了可用内存量时,

7、通常有两种解决方法:增加内存和数据分片。建议先增加内存,再考虑通过数据分片的方式解决。分片策略一般会受数据访问特点的影响,所以在进行数据分片前,最好先理清楚数据的访问特点,并想明白是否确实需要分片。分片字段对性能的影响非常大,所以选择一个好的分片字段是非常重要的。Config节点对整个集群的健康运行是至关重要的,所以一旦你选择使用分片机制,就一定要保证有3个Config节点。永远不要删除Config节点的数据,要确保频繁地对这些数据进行日常备份。如果可能,通过域名来指定节点的地址,比如在/etc/hosts文件中指定相应的本地

8、域名,这能让你在集群配置上更灵活。Config节点的压力很小,但还需运行在64位机器上。千万不要把3个Config节点都放在同一台机器上!如果没有完善的MongoDB监控,可以尝试MongoMMS。MongoMMS是10gen官方发布的一个监控服务,可以将集群的各项健康指标以

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。