计算的历史不时出现破坏性创新的时期,这些时期对技术领域造成了严重破坏。
有一段时间,数据库技术似乎不受这种破坏的影响,但到 2004 年左右,它开始跌跌撞撞——远早于智能手机和平板电脑的爆炸式增长。 CPU 变成了多核,从而实现了跨大型服务器网格扩展数据库的新方法。与此同时,互联网正在产生比以往任何时候都多的数据集合。当然,它始于雅虎!和谷歌,但迅速发展成为我们现在所说的社交媒体(LinkedIn、MySpace、Facebook 等)和快速发展的多人游戏行业,其中收集和分析了数百万个人游戏玩家的活动数据。传统数据库的应用范围已经不那么广泛了,在某些领域甚至显得力不从心。
上表总结了已出现的数据库格局。传统数据库,包括 MySQL 和 ProgreSQL 等开源数据库,当然适合传统的 OLTP、数据集市和数据仓库工作负载。还有一些数据库,如 Aerospike 和 VoltDB,它们专门处理极高容量的 OLTP 事务。此类别与 SAP 的 HANA 或 Kognitio 等内存数据库非常接近,但并不完全相同,它们只关注速度和响应时间。
最后一类由数据库组成,它们的共同特征是构建为在 Hadoop 的 HDFS 文件系统上运行。目前,它们似乎都以传统 RDBMS 的工作负载为目标,但细微差别是它们可以更好地横向扩展。它们不太可能在规模和功能方面挑战分析型或大容量 OLTP 数据库,但随着它们的成熟,它们可能成为传统 RDBMS 的有吸引力的替代品。
对于为特定类型的应用程序选择数据库产品的企业,我们的建议是在考虑调查哪些产品之前确定他们需要哪种类型的数据库。虽然,随着时间的推移,我们可以预期这些数据库类别之间会出现一些合理化,但我们预计它们中的大多数会坚持使用两个或三个产品主导每个类别。这是因为类别是根据不同类型的工作负载派生的,我们不期望在其中一个类别中表现出色的数据库引擎在其他类别中表现特别出色。
喜欢博客吗?阅读 Bloor Group 白皮书:“物联网数据库平台”