技术开发 频道

数据库集群技术的未来

  Baron Schwartz创建了一个关于MMM使用情况的讨论,并迅速转向到一般集群的辩论,正如Florian Haas在他的博客上写的,这不仅仅是DRBD与MySQL复制进行对比的问题。

  你认为通过一些像MMM等零碎的东西拼凑起来的方案是数据库集群吗?或者是整合了一些东西我们就可以叫它集群了吗?这是决定开源数据库集群未来的核心问题。

  我个人对这个问题非常感兴趣,我设计的Tungsten集群认为答案就是两个最根本的变化。首先,集群解决方案在不断发展演变,反过来,它会对现有的集群产生非常大的变化;第二,对于大部分用户而言,新的集群方案要比从多个独立的块构建起来的解决方案要好得多。

  要知道为什么,让我们从人们使用开源数据库的历史谈起吧,为什么过去十年左右他们一直关心集群,开源数据库有广泛的用户,小到中型业务应用如内容管理系统是一个非常大的部分,大型网站如Facebook或GameSpot是另一类例子。有大量的定制应用介于两者之间,它们不适合使用单个采用双核或四核CPU的数据库,但使用2-4台服务器就完全没有问题了。

  很长一段时间以来,部分用户引入集群主要是基于两方面的考虑:确保可用性和提高性能。对于跨集群的分散处理,小型商务机是一个很好的解决方案,MySQL复制的也常常用在多主机集群上,但这一技术在过去几年得到较大的改变。

  改变的理由很简单:硬件。多核架构、便宜的内存和闪存不仅改变了数据库的成本,同时还改变了数据库计算的基本方法,从1991年到现在,内存的价格发生了天翻地覆的变化。例如,在两年之内在固态硬盘上建立大型数据库是完全可能的,假设有合理的软件支持随机读写磁盘将会接近内存的速度,极其便宜的磁盘归档已经在互联网上传播开来,离线磁带的成本下降到快要崩溃的边缘。

  此外,开源数据也开始跟上硬件的发展水平,在MySQL社区,MySQL 5.4和Drizzle主要集中在多核扩展上,PostgreSQL已经攻克了这个问题,商业供应商如Schooner真在推进定制设备,集成新的硬件要比用户自动做要好得多,并提高了数据库启动时的性能改善。

  有了多核的利用,加上便宜的内存和固态硬盘,对于绝大多数用户而言,一台数据库主机上基本上就能提供足够的运行性能,不用再在每个节点上部署2-4台服务器了。换句话说,性能可伸缩正在迅速成为用户群越来越关注的问题,这些用户并不需要无限的性能,只要满足他们的需要即可。

0
相关文章