选择分析型数据前需要注意的几个问题

日期: 2013-02-25 作者:Monash 来源:TechTarget中国

数据库管理系统分为事务型(Transaction)和分析型(Analytic)两种,虽同属于DBMS,但二者存在不小的区别,而在考虑选购数据库产品的时候,你需要考虑不同的几个方面。本文主要讨论的是后者,即如何选择分析型数据库管理系统,在这之前你需要考虑以下的几个问题:

  1. 你的数据库有多大?你的预算是多少?
  2. 是否考虑一体机的方式?
  3. 是否要基于云计算模型部署?
  4. 你是否了解典型的工作负载?
  5. 数据的更新频率是多少?

  总的来说,上面所解答的问题只有一个,即哪种选择最适合你的企业。首先我们先要考虑的是最根本的问题,即成本和数据库本身。如果使用RAM,那么你是不是可以接受较为高昂的价格?你的数据库能不能部署到一个单一的大型服务器当中?如果答案是否定的,那就直接考虑横向扩展(scale out)的系统;如果答案是肯定的,那么你的选择就有很多了。

  注意数据库压缩。也许你的数据库很大,但是具备好的压缩功能的数据库很大程度上决定了你的部署方式。

  充分考虑数据库大小之后,Oracle、Teradata、IBM Netezza以及微软SQL Server都将成为备选,而供应商往往会推荐给你一体机(appliance)的形式。在选择一体机之前,请注意以下几点:

  • 一体机往往意味着高昂的硬件和技术支持费用
  • 一体机在部署和管理上会方便许多
  • 一体机在某种程度上的升级更加简单,因为软件与硬件紧密集成,但也因为相同的原因,单一组件的升级比较难实现
  • 一体机在云环境下往往表现不佳

  分析型数据库在强大的硬件平台以及可预测的带宽前提下,才能发挥最大的效用,这也是供应商纷纷推出一体机的一个原因。而这两者在云中是比较难以实现的。所以云环境往往不适合分析型数据库管理系统(尽管供应商并不承认)。

  如果必须要在云中运行分析型数据库,那么一定要仔细检查参数。相反地,如果不必要非云不可的话,我认为可以排除掉那些昂贵的一体机选项。事实上,云在硬件和网络的配置上已经越来越成熟,数据库供应商也在不断的尝试中积累了一定的经验,因此我认为在未来云将不再是分析型数据库选型的一个重要参考。

  不同的分析型数据库所应对的工作负载也有所不同,这些工作负载包括:

  • 复杂查询
  • 不同级别的复杂报表
  • 简单查询
  • 大型的定期负载
  • 持续性的批处理工作负载

  最大的问题是,有哪些工作负载是会同时发生的。如果要刷新一万个仪表盘,几百个需要下钻的查询,同时还有全表扫描查询等等,那么我相信大部分的分析型数据库表现都不会太好。如果发生了这样的情况,我建议可以在两个或者更多的系统上来分别进行。不同的数据库以及不同的硬件、存储和网络配置,在应对不同的场景时都会有发挥各自的作用,建议参考一些最佳实践。

  分析型数据库可以按照每日或者每小时进行加载,很多情况下,还会设置成15分钟甚至5分钟的时间窗。如何进行设置是要看你对数据更新频率的需求,以及权衡延迟所造成的影响。如果你需要秒级的数据更新频率,那么就需要对整体架构进行一个严格的设计。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

Monash
Monash

相关推荐