从APM角度上看:NoSQL和关系数据库并无不同
Michael Kopp拥有十年以上C++、Java/JEE的架构及开发经验,现Compuware技术策略师,专攻大规模产品部署的架构和性能。
以下为译文:
传统企业数据库供应商经常提出NoSQL缺乏专业的监视和管理工具。它们的论点是:企业应用程序需要对数据库进行精细的调优和监视以保证性能和运转的稳定。NoSQL供应商的观点则是:这种程度的缺乏还并不能在解决方案上帮助到RDBMS。许多NoSQL供应商也尝试从它们提供的监视和管理软件等级上进行区分,比如:Cassandra、MongoDB、Hbase等等。当然两者都是正确的 —— 特别是性能方面的管理和监视是非常重要的,但是NoSQL供应商同样犯了RDBMS已经犯了10多年的错误:忽略了应用程序的本身。
针对数据库的应用性能管理
最重要的不是数据库本身的性能,而是使用数据库的应用程序。应用程序的逻辑决定了使用数据库的方式,当然也有很多途径来调优数据库用以掩饰应用程序本身的问题。所以我们需要监视和优化应用程序的使用模式,同时应用程序逻辑又由输入数据或者是大多数情况下与用户交互的方式决定;所以我们必须分析用户的行为,而用户的操作决定了数据库的使用方式。另一方面,我们需要明白这些行为对数据库的影响。这里的重点在于获悉当数据的性能达到最高标准,却仍然成为应用程序的主要瓶颈 —— 它们是否被错误的使用或者是使用了一个错误的访问模式。在这上面不管是RDBMS还是NoSQL数据库都有着相同的遭遇。因此作为工程师,你需要做应用程序的性能分析和管理:
首先我们需要知道这个慢下来的事务是不是有一个普遍的性能问题,并且受到终端用户的影响:
这个事务流显示Business Backend正在调用一个Cassandra数据库集群
这就可以让我们知道是否我们为等待数据库而花费时间。而这里我们看到了这个现象并没有因为传统数据库或者是类Apache Cassandra的NoSQL数据库而变得不同。
这里的重点在于数据库是否是主要原因,这并不一定是数据库本身的问题,也能是应用程序的使用问题。下面就必须检查用法和访问模式:
上图显示了单事务(PurePath)以及里面的Cassandra执行语句
如果一个特殊的语句导致性能下降,那么很可能是数据库问题,我们可以寻找DBA解决。而这种情况下NoSQL方案的不同之处是你通常可以拥有一个数据库集群,所以需要知道的是问题是否是因为单个节点产生的。DBA将去了解访问模式是否被良好的分配到集群中,或者只是分配到集群中的一个点。
上图显示了Cassandra服务器Node3比其它节点消耗了更多的等待和I/O时间
而事实上这个分析在JDBC、ADO、Cassandra(或者其它的NoSQL解决方案)之间并没有什么不同。
总结
经过大量在SQL语句和索引上的研究后发现:最需要优化的地方总是在应用程序以及应用程序使用数据库的方法上。而SQL Tuning总会添加复杂性,一般只作为差用程序或者数据结构设计的调剂。而在NoSQL领域数据库语句的调优已成为过去,但数据结构设计却保留着它的重要性。同时传统上应该在数据库实现的逻辑现已转移至应用层,这使得应用程序的设计较之前更为重要。
本文来自云栖社区合作伙伴“doNET跨平台”,了解相关信息可以关注“opendotnet”微信公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
《分布式系统:概念与设计》一2.3.3 相关的中间件解决方案
2.3.3 相关的中间件解决方案 第1章引入了中间件,在2.3.2节讨论分层体系结构时又重温了中间件。中间件的任务是为分布式系统的开发提供一个高层的编程抽象,并且通过分层,对底层基础设施中的异构性提供抽象,从而提升互操作性和可移植性。中间件解决方案是基于2.3.1节引入的体系结构模型,也支持更复杂的体系结构模式。58本节我们简要回顾一下现在存在的中间件类别,为在本书的其他部分进一步研究这些解决方案做好准备。中间件的类别 远程过程调用包,(如Sun RPC,第5章)和组通信(如ISIS,第6章和第18章)属于最早的中间件实例。从那以后,出现了大量不同风格的中间件,大部分都基于上面介绍的体系结构模型。我们在图2-12中给出了中间件平台的分类,其中交叉引用了其他章,那些章更详细地讨论了不同种类的中间件。需要强调的是分类并不精确,现代中间件
- 下一篇
行业催化剂 大数据分析驱动产业新变革
大数据分析是IT圈谈论的热点,如今各个IT企业都非常看好大数据领域,试图通过对这个市场的拓荒来抢占未来IT市场制高点。作为全球知名的IT领域巨头,英特尔一直致力于推动整个IT行业的发展,其在大数据领域已经深耕多年。 对于大数据分析,很多人可能并不了解他真正能够给我们带来什么,其实大数据分析与我们的工作、生活息息相关大数据分析的应用为企业带来了非同寻常的影响,因为它能够让企业发现新的洞察来开发出新的设备、增加企业的竞争力、优化企业的操作效率。 然而,除了对企业的影响,对生活的影响也是巨大的,如今,世界上三分之二的人口将生活在城市,在这样的城市地区许多问题将逐步加深。数据分析是否能够通过更精准的医疗护理提升医疗保健的质量,减少交通拥堵和发展中城市的污染,并提高作物产量来满足迅速增长的全球人口? 对此,英特尔与来自欧洲的Teratec联盟给出了我们肯定的答案。英特尔为了推动这些技术的成功应用,与Teratec正在合作建立一个大数据实验室。 医疗行业 这个实验室未来将专注于个性化医疗、智能城市,以及精准农业领域项目的研究。实验室将能够帮助加速实验项目的深入研究,找出支持这些概念、理论论据,并推...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8编译安装MySQL8.0.19
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Hadoop3单机部署,实现最简伪集群
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16