数据库管理系统分为事务型(Transaction)和分析型(Analytic)两种,虽同属于DBMS,但二者存在不小的区别,而在考虑选购数据库产品的时候,你需要考虑不同的几个方面。本文主要讨论的是后者,即如何选择分析型数据库管理系统,在这之前你需要考虑以下的几个问题:
- 你的数据库有多大?你的预算是多少?
- 是否考虑一体机的方式?
- 是否要基于云计算模型部署?
- 你是否了解典型的工作负载?
- 数据的更新频率是多少?
总的来说,上面所解答的问题只有一个,即哪种选择最适合你的企业。首先我们先要考虑的是最根本的问题,即成本和数据库本身。如果使用RAM,那么你是不是可以接受较为高昂的价格?你的数据库能不能部署到一个单一的大型服务器当中?如果答案是否定的,那就直接考虑横向扩展(scale out)的系统;如果答案是肯定的,那么你的选择就有很多了。
注意数据库压缩。也许你的数据库很大,但是具备好的压缩功能的数据库很大程度上决定了你的部署方式。
充分考虑数据库大小之后,Oracle、Teradata、IBM Netezza以及微软SQL Server都将成为备选,而供应商往往会推荐给你一体机(appliance)的形式。在选择一体机之前,请注意以下几点:
- 一体机往往意味着高昂的硬件和技术支持费用
- 一体机在部署和管理上会方便许多
- 一体机在某种程度上的升级更加简单,因为软件与硬件紧密集成,但也因为相同的原因,单一组件的升级比较难实现
- 一体机在云环境下往往表现不佳
分析型数据库在强大的硬件平台以及可预测的带宽前提下,才能发挥最大的效用,这也是供应商纷纷推出一体机的一个原因。而这两者在云中是比较难以实现的。所以云环境往往不适合分析型数据库管理系统(尽管供应商并不承认)。
如果必须要在云中运行分析型数据库,那么一定要仔细检查参数。相反地,如果不必要非云不可的话,我认为可以排除掉那些昂贵的一体机选项。事实上,云在硬件和网络的配置上已经越来越成熟,数据库供应商也在不断的尝试中积累了一定的经验,因此我认为在未来云将不再是分析型数据库选型的一个重要参考。
不同的分析型数据库所应对的工作负载也有所不同,这些工作负载包括:
- 复杂查询
- 不同级别的复杂报表
- 简单查询
- 大型的定期负载
- 持续性的批处理工作负载
最大的问题是,有哪些工作负载是会同时发生的。如果要刷新一万个仪表盘,几百个需要下钻的查询,同时还有全表扫描查询等等,那么我相信大部分的分析型数据库表现都不会太好。如果发生了这样的情况,我建议可以在两个或者更多的系统上来分别进行。不同的数据库以及不同的硬件、存储和网络配置,在应对不同的场景时都会有发挥各自的作用,建议参考一些最佳实践。
分析型数据库可以按照每日或者每小时进行加载,很多情况下,还会设置成15分钟甚至5分钟的时间窗。如何进行设置是要看你对数据更新频率的需求,以及权衡延迟所造成的影响。如果你需要秒级的数据更新频率,那么就需要对整体架构进行一个严格的设计。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
详解三种全新SQL Server数据库一体机
自从SQL Server 2014发布以来,许多厂商都已经宣布计划将建立围绕SQL Server 2014的集成化产品。本文将介绍目前市场中都有哪些新的SQL Server一体机平台产品。
-
悉数Oracle Exadata X5的软硬件变化
甲骨文在1月份刚刚发布了新一代Oracle Exadata数据库一体机,同时在软件层面进行了有史以来最大规模的更新。
-
第6代Exadata发布:Oracle集成系统进入X5时代
甲骨文公司董事会主席和首席技术官Larry Ellison今天在于美国旧金山举办发布会,介绍了甲骨文集成系统最新战略,并发布了Exadata X5-2。
-
数据库一体机管理员需要具备哪些素质
Exadata对于DBA来说是完全不同的系统。一个新角色已经应运而生,即Database Machine Administrator(数据库一体机管理员),简称DMA。