NoSQL性能管理仍不完备 你该如何应对?

基于SQL的关系型数据库在过去几十年来一直是组织应用数据存储的中流砥柱。针对关系型数据库的优化、监控和管理性能都有很成熟的经验,也有很多软件工具提供这方面的辅助功能。但是,NoSQL数据库的情况却非如此。

NoSQL技术现在仍然处于相对初级的阶段,众多NoSQL软件类型和产品服务令人眼花缭乱,选择合适的性能管理方案也成为一件颇具挑战性的事。目前,管理NoSQL性能仍然是新兴的技术问题,可能在未来一段时间都是如此。

软件开发和咨询服务公司ThoughtWorks公司的首席顾问Pramod Sadalage说:“人们早就知道如何优化关系型数据库系统,但是那种优化模式在NoSQL中尚不成熟。选择的优化模式与个体数据库密切相关。”

Sadalage和其它数据库专家们都认为,这意味着我们应该在项目开始的时候就为NoSQL性能打下坚实基础。他们说,IT经理、架构师和开发人员都应该评估NoSQL方案,谨慎选择,使用合适的数据库做特定的工作。

NoSQL数据库经常被描述为“量体裁衣”型的技术,要使用最适合具体应用的不同技术解决具体问题。要实现NoSQL落地有太多事情要处理。主要的NoSQL系统类型包括:键值存储、文档数据库、列簇存储和图数据库。

对于如何应用各种类型的NoSQL数据库,业界正在逐渐形成一些共识。列簇数据库一般应用于写入任务比较繁重的应用场景,场景应对数据库复制的短暂不一致性有一定容忍度。文档数据库可以应用在Web中,这种场景多使用JSON数据结构,灵活更新是重点关注的因素。键值数据库支持非常快速的数据访问,通过简单的键值就能获取到,还会使用缓存数据。图数据库适合处理数据元素之间的网络关系并以图的形式展示,例如业务流程管理或者社交网络信息。

尽管每种类型都有各种产品和开源技术对应,但用户需要分辨选择真正适合的类型。对于采用MongoDB还是Cassandra会有一些分歧,不过这也在情理之中,NoSQL应用需求没有放之四海而皆准的答案。

明智地使用NoSQL数据库

Mullins咨询公司的总裁和首席咨询顾问Craig Mullins说:“人们习惯使用关系型数据库,这种数据库可以应用于绝大多数场景。不过,选择NoSQL最好有具体的案例,要确保选择的NoSQL数据库是专为提供该场景必要的性能而设计的。”

Mullins说,要获得预期数据库性能,IT团队在部署某种NoSQL数据库产品之前“需要切实理解这些产品的工作机制”。他指出,Cassandra列数据库就是应用要适应NoSQL环境相关处理性能的一个例子。

Mullins说:“Cassandra设计是按行(记录)存储所有信息的。同样的场景,在关系型数据库的世界里可能需要用十几个表。但是在Cassandra数据库中都存储在一条记录中了。”如果需要访问某一条记录的所有数据,这种方案会获得极好的性能,Mullins以客户信用评级应用为例进行了说明。不过,他还说业务用户可能还有别的需求,例如统计所有客户信息。在这种需求面前,一条记录存储所有信息的方法就可能会给性能带来问题。

此外,SQL数据库中标准应用程序元素通常需要硬编码到NoSQL系统中。Athena IT解决方案咨询公司创始人Rick Sherman说:“使用NoSQL想要获得良好性能,需要做很多耗时的工作。这些工作量超过了一些人对它的预期。需要编写很多定制代码来实现任务。”

在许多情况下,这些工作是应用程序开发人员完成的,他们可能没有完全理解他们所使用NoSQL数据库内部的运行机制。Mullins说:“开发人员不是数据库设计者,他们是基于项目需求做设计,而不是考虑通用数据使用设计。”

NoSQL技能非标准问题

即使是数据库管理员,NoSQL技能不足的局限也会成为数据管理团队面临的问题,这个问题会影响应用程序任务获得更好的NoSQL性能。丰富的NoSQL技术方案并不能立即转换为相应同样丰富的资源。Sadalage说:“你很容易能找到具有15年经验的Oracle DBA人员,但是想找到同样经验的Cassandra数据库管理员则是不可能的,该数据库诞生才只有八年。”

NoSQL采纳的第一推动力应该是业务应用程序,不过也有更多的关注集中在处理分析方面。耶稣基督末世圣徒教会首席企业信息架构师Mike Bowers认为,如果你有分析和报表需求,那么要使用NoSQL数据库获得速度优势可能就会变得更加困难。

Bowers认为,部署的第一步是研究可用方案并了解方案的工作原理,在这一步我们要重点考虑如何获得良好的NoSQL性能。他说:“大多数NoSQL数据库不是真正的数据库,他们只是支持开发人员构建自己定制数据库的数据引擎,需要专门针对具体应用进行优化。”

Sadalage表达了更加鞭辟入里的观点,在当前乃至外来可能都是成立的。他说:“要因地制宜,物尽其用。不要选择错误的产品,然后抱怨产品不好。”
本文转自d1net(转载)

时间: 2024-12-19 10:50:26

NoSQL性能管理仍不完备 你该如何应对?的相关文章

如何让你的内存中的 NoSQL 数据存储适合企业级应用

对于关注用户体验的每一个Web或移动应用而言,基于内存的NoSQL数据存储系统(例如开源的 Redis和Memcached)正在成为事实标准.由于性能.可扩展性和可用性面临的诸多挑战,很多大企业已经在试图采用这些数据库系统. 非常幸运的是,现代编程语言(例如Ruby.Node.js.Python等)和开发平台(例如Rails.Sinatra.Django等)已经内置了很多工具和开发库(libraries).这些工具和开发库能够有效利用内存数据库的高性能和各种操作命令,能够实现当前流行的多种应用项

Oracle NoSQL:一个神秘莫测的矛盾体?

关系型数据库的领袖Oracle Corp.与基于SQL方法的数据库有着千丝万缕的关系,以至于它在NoSQL上的努力注定会蒙上阴影.当那些富有激情的NoSQL新贵们在加州发布基于SQL的产品时,他们通常不会提及Oracle的NoSQL系列. Oracle自己的销售团队可能也不会提及Oracle的NoSQL产品.由于这样或那样的原因,Oracle NoSQL看起来似乎是一个矛盾体.随着更多的用户尝试快速上马分布式网络和云应用程度来挑战传统SQL在业务软件上的份额,这种情况或许会有所改变. Oracl

Plurk回应微软道歉:仍考虑诉诸法律

北京时间12月18日上午消息,据国外媒体报道,针对微软就MSN聚酷抄袭Plurk一事做出的道歉,Plurk联合创始人阿尔文·伍恩(Alvin Woon)周四撰文称,仍将考虑采用法律手段应对此事. 以下为全文: 我们现在正在研究所有可能的方法,以便对微软的道歉声明作出回应.由于事态的严重性,我们仍在考虑采取所有可能的法律手段.从根本上讲,微软承认负有责任,但却并未履行义务. Plurk是一家非常年轻的创业企业,成立仅2年时间.我们是一家规模非常非常小的科技企业,我们没有营销部门,没有销售部门.作为

自动驾驶离我们还有多远?

自动驾驶离我们还有多远?从汽车诞生之初开始,安全.轻松的驾驶便成为了人类不断追求的目标,早在上个世纪20年代,人们便开始有了让汽车自行驾驶的种种构想和实践. 1925年,世界上第一辆有证可查的无人驾驶汽车Linrrican Wonder便出现在了美国纽约街头,这辆车能实现"自行驾驶"是因为后方有一辆跟车通过无线电波来操控方向盘.离合器和制动器等等,帮助前车"自动"完成转弯.刹车.鸣笛等操作. 世界上第一辆"无人驾驶"汽车 Linrrican Wo

小米跳智能家居大坑,丢芝麻捡西瓜值得吗?

小米又开始卖电饭煲了,而且号称是要超越日本货.这个主意好,符合小米最近宣传的"新国货"理念,如果真的能做好,确实是中国制造的荣耀.但是,面对智能家居这个大坑,小米准备好了吗? 智能家居实在是个坑 小米做了很多手机的周边产品,借助电子商务的无空间感,卖的很好,后来逐渐在路由器.充电宝.插线板之外开始探索更"智能化"的家庭电器,包括空气净化器,也包括新鲜出炉的电饭煲. 如果从智能设备的发展趋势来看,小米的布局和发展脉络没有问题,现在的物联网技术如此发达,智能家居越来越不

SOA、网格计算、云计算与P2P技术

1.面向服务的体系结构SOA 1)定义:Service-Oriented Architecture,一种应用的体系结构,其中所有的功能都定义为独立的具有可调用的接口的服务.这些服务可以在一个流程中被调用从而完成相应的商业处理过程.服务可以位于同一个应用,也可以位于不同的进程,甚至可以在远程.业务逻辑(business logic)或独立功能被模块化,并作为服务呈现给消费者或客户端.应用开发人员或者系统集成者可以通过组合一个或多个服务来构建应用,而无须理解服务的底层实现. SOA的核心就是找到将软

Hadoop是数据仓库的终结者吗?

在过去三年,Hadoop生态系统已经大范围扩展,很多主要IT供应商都推出了Hadoop连接器,以增强Hadoop的顶层架构或是供应商自己使用的Hadoop发行版.鉴于Hadoop的部署率呈指数级的增长,以及其生态系统不断地深入而广泛地发展,我们很想知道Hadoop的崛起是否会导致传统数据仓库解决方案的终结呢. 我们也可以将这个问题放到一个更大的环境中去讨论:在何种程度上,大数据会改变传统数据分析的环境? 数据仓库是技术和软件套件,它能够从操作系统收集数据,并将这些数据整合,并统一到中央数据库中,

基于SOA与云计算 企业信息化战略规划制定

摘要:企业信息化战略规划是指为满足企业经营需求.实现企业战略目标,由企业高层领导.信息化技术专家.信息化用户代表根据企业总体战略的要求,对企业信息化的发展目标和方向所制定的整体框架和指导体系.企业信息化战略规划就是对企业信息化建设的一个战略部署,最终目标是推动企业战略目标的实现,并实现以较低的成本产生更高的效益. 企业信息化就是企业利用现代信息技术,通过信息资源的开发和利用,不断提高生产.经营.管理.决策的效率和水平,进而提高企业经营效益和企业竞争力的过程,其核心就是降低成本和提高管理水平.企业

2013年大数据系统与关系型数据的共存

本文讲的是2013年大数据系统与关系型数据的共存,大数据在2011年崭露头角,2012年一飞冲天,它可能会以一种戏剧性的方式改变数据管理的很多方面.大数据系统给管理和操纵计算机数据.连续提取.转换和加载功能.运作商业智能.动态大数据以及基于云的数据仓库等等都带来了变化. 不过,随着大数据进入2013年,已经没有什么系统技术能比NoSQL数据库和Hadoop框架更活跃了,看起来这两款产品还有更大的发展空间.根据MarketAnalysis.com 2012年的一份报告看,单单是Hadoop-Map