在AWS上配置NoSQL数据库 需要考虑什么?

OmniTI(web架构和工程公司)的首席执行官罗伯特·特里特认为AWS基础设施越来越流行为企业APP后端配置NoSQL数据库。企业架构师在开发能够从云计算中收益最多的数据库结构的时候,需要考虑各种各样的挑战并找寻最佳方案,这些挑战包括AWS的短暂性、Noisy Neighbors带来的问题、潜在的AWS托管基础设施之间的细微差别、以及NoSQL软件实现的差异。

Aerospike(数据库软件供应商)的创始人兼首席技术官Brian Bulkowski宣称尽管存在这些挑战,但是AWS拓展性非常好,公司依然决定使用NoSQL。他表示,最近在公司运行一个亚马逊C3.8x大型实例仅需1.68美元/小时的Aerospike数据库服务器上,内存每秒能够处理100万个事务。“这是一个令人难以置信的取得高绩效的实惠模型,这为初创企业和大型企业都推出新的实时响应的网络和移动app提供了一个机会”。

但是Bulkowski发现虚拟化运行和与Noisy Neighbors共享基础设施成为亚马逊最大的挑战之一。这将导致共享基础设施上的其他应用程序性能不一致。开发者也面临可靠性的挑战,这需要在不同的数据中心维护服务器,以确保正常运行时间。

Starcounter(数据库软件供应商)的开发主管Dan Skatov表示AWS平台提供了大量构建数据库应用程序的服务。开发人员面临选择一个合适的服务组合的挑战。例如,开发人员需要理解AWS SimpleDB和AWS DynamoDB之间的差异,并能够在开发初期弄清楚这些细节。

短暂的云

Couchbase(NoSQL数据库软件公司)的高级产品营销经理Shane Johnson认为使用AWS的另一个挑战是实例依赖短暂、高性能存储。如果一个实例停止了,那么它的数据会丢失。如果没有合适的工具,添加新的实例到现有的部署中就需要手动进行操作了。

用户可以复制数据到多个实例以确保数据不会因故障丢失。Ansible和AWS CloudFormation能自动添加新实例到现有配置。Couchbase服务器备份工具(cbbackup、cbrestore和cbepctl)能创建数据快照。快照可以放在亚马逊固块弹性存储卷用于数据灾难恢复。

动态的云

Redis Labs(数据库软件服务公司)的联合创始人兼首席执行官Ofer Bengal认为使用AWS的好处之一是它为开发和配置应用程序提供了一个简单的抽象层。因为很难看到底层是怎么回事,这可能为操作和性能制造问题。每一个云都是异构的,尽管普遍认为分布式数据库运行在非专业化,相同商品的计算节点。

为资源调优系统是必不可少的,但非常耗时。每一个云是独一无二的,并提供不同的计算、存储、网络和其他服务。同样重要的是要明白AWS基础设施是由分布式数据中心组成的,即使是相同的数据中心,他们也可能不同。

“为了获得最佳结果,你真的需要知道你在做什么。”Bengal补充道。解决数据中心差异的一种方法是解决他们和企业内部IT资源的问题。这是推荐的保守路线。此外,许多NoSQL管理服务和产品可以将这些复杂性作为服务问题解决。

尽可能自动化

OmniTI公司的Treat表示,在像AWS一样动态的环境中工作的一个最重要的技术是使用脚本和自动化技术来设置新环境。这包括在非生产环境中开发工具集来重建环境,这样开发人员可以看到系统怎样一起运作。

此外,深度监测建议提高每个架构不同组件的可视性,特别是对故障诊断目的。如果架构设计正确,应该可以完全可视这些变化的任何影响,转入和转出新节点和更新代码到系统。该功能可以帮助工程师们对他们做出的这些变化更有信心并最小化生产服务损坏。

自动化一直是系统管理员最喜欢的技术,像chef和ansible这样的工具产生了显著的效果。给系统工程师一个共同的平台来开发。这些工具不仅有利于自动化,还提供实际文档,包括在GitHub可用的工作代码片段(以代码的形式),以及在需要的时候为创建新环境提供强大的重复性。

在监控方面,类似Circonus这样的新工具以及statsd(一个数据聚合的守护进程)和ganglia(一个可伸缩的分布式监控系统)这样的开源工具,正专注于让应用程序开发人员更容易编写更可操作的代码,可使用的开放度量,提醒监测和故障诊断问题。这些工具集成系统监控来提供一个更全方位了解幕后,同时最小化对生产系统影响的视图。

注意NoSQL工具之间的差异

Orchestrate.io(可在AWS运行的数据库服务供应商)的首席运营官兼联合创始人Matt Heitzenroder说,现在有超过20个NoSQL数据库,每个都有自己的优势和特色。在特定需求中,新手很难区分使用哪个数据库。每个数据库都需要一定程度的专业知识来有效地构建和管理。

重要的是要了解什么问题需要数据。大多数需求要求全文搜索,时间序列(基于时间的数据分析),结构图,地理空间分析和专门报告。除了查询类型,确定哪个数据库如特定应用一样拥有最多的生产用例同样重要。另一个需要考虑的是每个数据库失效模式的风险,以及这将如何将影响业务。

原文链接:http://searchaws.techtarget.com/tip/What-to-consider-when-provisioning-NoSQL-databases-on-AWS

如您需要了解AWS最新资讯或是技术文档可访问AWS中文技术社区;如您有更多的疑问请在AWS技术论坛提出,稍后会有专家进行答疑。

订阅“AWS中文技术社区”微信公众号,实时掌握AWS技术及产品消息!

AWS中文技术社区为广大开发者提供了一个Amazon Web Service技术交流平台,推送AWS最新资讯、技术视频、技术文档、精彩技术博文等相关精彩内容,更有AWS社区专家与您直接沟通交流!快加入AWS中文技术社区,更快更好的了解AWS云计算技术。

(译者/王扬帆 责编/王玉平)

时间: 2024-11-14 12:33:55

在AWS上配置NoSQL数据库 需要考虑什么?的相关文章

细数 Windows 平台上的 NoSQL 数据库

从可查询的分布式解决方案,如MongoDB,到简单的分布式Key/Value存储解决方案,如Cassandra.此外,还有Riak,Tokyo Cabinet,Voldemort,CouchDB和Redis.但目前仅有少量的NoSQL项目支持在Windows平台上运行,如果要说到生产应用那就更少了. Memcached Memcached传统上认为它不属于NoSQL的范畴,而是一个分布式Key/Value内存缓存解决方案,它可以用来存储各种各样的临时数据集,存储方式和其它NoSQL数据库解决方案

SnappyDB—Android上的NoSQL数据库简介

参考:http://www.open-open.com/lib/view/open1420816891937.html 参考:http://android-arsenal.com/details/1/936   项目GIthub主页:https://github.com/nhachicha/SnappyDB#cookbook   在开发App的时候,经常需要缓存一些数据,不至于每次打开App都是空的,需要从网络下载数据.例如新闻客户端,需要缓存上次打开的新闻. 一般的做是使用SQLite数据库来

在Weblogic上配置Hibernate为JNDI

一.首先需要把Hibernate 用到的jar包和配置文件都放到Weblogic能够搜索到的CLASSPATH路径上.单单这一步就有很多人很迷茫,其实去仔细看看Weblogic的启动脚本文件startWeblogic.cmd和startWLS.cmd,我想大部分人都知道该怎么配置了. 我机器上的有个Hibernate的项目,在D:\test\oracle目录下,该目录下的结构是: java代码: D:\test\oracle\lib 放置hibernate的所有jar包 D:\test\orac

NoSQL数据库的出现及选择哪种NoSQL数据库

    在没有NOSQL数据时,关系型数据库一直是数据持久化的唯一选择,比较典型的关系型数据库有SQL Server.Oracle,MySQL,DB2.做.NET开发的同学一般会选择SQL Server,做JAVA的可能会偏向Oracle,MySQL,Python则是PostgreSQL或MySQL等等.过去很长一段时间内,关系数据库的健壮性已经在多数应用程序中得到证实.我们可以使用这些传统数据库良好的控制并发操作.事务等等.然而如果传统的关系型数据库一直这么可靠,那么为什么还会出现NOSQL呢

Weblogic上配置Hibernate为JNDI_JSP编程

一.首先需要把Hibernate 用到的jar包和配置文件都放到Weblogic能够搜索到的CLASSPATH路径上.单单这一步就有很多人很迷茫,其实去仔细看看Weblogic的启动脚本文件startWeblogic.cmd和startWLS.cmd,我想大部分人都知道该怎么配置了. 我机器上的有个Hibernate的项目,在D: estoracle目录下,该目录下的结构是: D: estoraclelib 放置hibernate的所有jar包 D: estoraclesrc 放置源代码 D:

解读NoSQL数据库的四大家族

在目前的企业IT架构中,系统管理员以及DBA都会考虑使用NoSQL数据库来解决RDBMS所不能解决的问题,特别是互联网行业.传统的关系型数据库主要以表(table)的形式来存储数据,而无法应对非结构化数据的挑战.在进行数据标准化的过程中,关系型数据库性能遭遇了瓶颈. NoSQL顾名思义就是Not-Only SQL,它可以作为关系型数据库的良好补充.在TechTarget数据库之前的报道中,我们也对NoSQL数据库的应用场景做了详细的介绍.NoSQL不像传统的关系型数据库,其种类繁多,且各有各的优

Weblogic上配置Hibernate为JNDI

HibernateWebLogicJNDI 一.首先需要把Hibernate 用到的jar包和配置文件都放到Weblogic能够搜索到的CLASSPATH路径上.单单这一步就有很多人很迷茫,其实去仔细看看Weblogic的启动脚本文件startWeblogic.cmd和startWLS.cmd,我想大部分人都知道该怎么配置了. 我机器上的有个Hibernate的项目,在D: estoracle目录下,该目录下的结构是: D: estoraclelib 放置hibernate的所有jar包 D:

AWS能配置一个共有IP把不同端口发到不同机器上的路由吗?

问题描述 AWS能配置一个共有IP把不同端口发到不同机器上的路由吗? 解决方案 解决方案二:感觉不能通过路由表实现.只能在某台机器上作为代理进行转发到不同的机器

问个问题,aws上安装了redhat7之后配置图形化界面,安装了Server with GUI 之后运行startx还是运行不了图形化界面?

问题描述 问个问题,aws上安装了redhat7之后配置图形化界面,安装了ServerwithGUI之后运行startx还是运行不了图形化界面? 解决方案 解决方案二:要不试一下xwindowssystem+vncserver+vnc客户端?