说起“云”这个概念,大家应该都不陌生。近年来“云端存储”逐渐渗透入大众的工作环境与日常生活:不论是用于工作文件存储和备份,还是个人资料的保存和分享,云端存储都不失为一个方便又高效的方法。
但在十年前,云端存储的发展尚不完善,很多人不看好其发展前景,连Vertica都在云端存储与本地存储的选择中左右为难。
那么Vertica最终如何在数据存储方式方面做出判断?又围绕云端存储做了哪些技术调整?Vertica的首席设计师Chuck Bear的这篇文章能给你答案。
![17fd3a725da630b2ff7c18b3718d40c8.png](https://i-blog.csdnimg.cn/blog_migrate/f411749689a7cd8d441816a23b0ccb69.jpeg)
Vertica的未来架构方向:计算与存储的分离
Chuck Bear
十多年来,Vertica致力于在企业内部“无共享”的环境中,为企业提供业界领先的数据分析和查询技术支持。由于一些出色(或幸运)的前期架构决策,Vertica的Eon模式在公共云领域中的弹性随需应变数据库市场上处于领先地位。
本文将回顾Vertica体系结构的关键特征,并介绍Vertica正在进行的将其企业模式部署选项和Eon模式部署选项聚合到一个系统中的工作。这个系统在云环境中将提供企业级性能,并在企业业务上提供云级别的灵活性。
发展历程回顾——屡遭挫折
Vertica一直信仰纯软件的方法,而灵活的商用硬件配置对我们的客户来说是更有价值的。尽管纯软件的方法增加了软件的复杂性,并给我们的工作人员增加了很多需要诊断的许多环境问题,但这一决定使Vertica更适合于公共云环境。而在公共云环境中,存储区域网络(SANs)不可用,硬件设备也派不上用场。
在早期,Vertica的创始团队对共享存储的看法非常悲观。他们认为这个项目要想得到支持,除非“踏过Mike Stonebraker(2015年图灵奖得主、Vertica创始人)的尸体”。
这个论断不是没有理由的:在当时,“共享存储”指的就是SANs,它价格昂贵、配置难度大,而且可能存在性能问题。业务开展过程中,有时会遇到有客户坚持使用共享存储的情况,但结果往往是再次印证了存储阵列存在问题的观点。
当时我们第一次在大型服务器供应商的实验室中使用SANs,虽然得到了一些专家的支持,但是由于配置错误,所有数据都被分配到一个适配器,而没有达到负载平衡的效果。还有,当早期iSCSI供应商之一将一个样本阵列发送给我们进行基准测试时,我们的IT人员意外地将相同的LUNs映射到多台计算机(没有使用共享的文件系统),而它们开始迅速地互相攻击对方的数据。这都是当时开发共享存储技术面临的挑战。
当前技术发展——步入正轨
目前,公共云从根本上全面地改变了“共享存储”的定义。公共云是一种简化的对象存储设计方案(而不是基于块的数组),具有价格更低、更灵活的成本优势,在管理方面只需设置安全性措施,并确保在不再需要时对某些内容执行删除就可以保证数据的安全。
值得庆幸的是,Vertica抓住了云端存储发展的时机,最终有效地利用了云存储技术。
首先,Vertica选择了一种存储模型,在这种模型中,文件一旦写入就不会更新,最终形成了一种对用户查询无阻碍的分析-优化的模型。在云端工具中,“write-one, read-many”模型非常适合,因为HDFS、S3都支持其访问模式。而且,由于访问本地存储比访问云端的共享存储要快,这种无更新对象事务模型也允许相对无冲突的缓存。
这些试验结果形成了Vertica的Eon模式的基础,在这种模式下,计算和存储可以分别进行,并且该模式具有满足客户期望的MPP数据库性能。基于此,我们的云部署可以像原来的无共享MPP Vertica体系结构一样运行着。
未来蓝图方向——分离计算与存储
Vertica企业模式的用户也很心仪很多目前只在Eon模式中可用的功能:例如无需添加更多计算节点,即可添加存储的功能;能提供更动态的方式来更改计算节点的配置的功能;以及可以启动多个计算节点集群以查询相同的数据集的功能。而在Eon模式下的云存储中,仍有一些功能无法实现,例如用于小型插入的写优化存储(WOS),这是因为这个功能使用的是本地存储而不是共享存储。
针对以上两种模式各自存在的问题,在未来的一系列技术更新中,Vertica计划将Eon模式和企业模式融合在一起提供一致的体验,并且Vertica节点将不需要始终保持数据的副本。从目前进展方面看,Vertica已经完成在企业模式下支持多个存储位置的更新。在走向融合发展的未来,这个统一的模式系统将根据模式、表或分区进行选择,并获取多个共享存储和本地存储的地址。
总结与展望——宏大蓝图
Vertica基于长远目标的设计使得产品已经成功在企业内部、公共云和私有云等各种场景部署。目前,我们正在努力将两种Vertica模式(Eon模式和企业模式)聚合为一种模式,这种模式将列式MPP性能与所有平台上的完全存储灵活性相结合,能够拓展一些功能的适用环境:例如添加存储而不调整计算资源,或添加更多计算节点以扩展分析查询吞吐量等功能将在所有环境中可用。
计算和存储的分离只是Vertica未来发展的支柱之一。不论是从性能和规模到改进客户端驱动程序,从机器学习功能到合作伙伴生态系统,从查询优化到查询执行,从复杂数据类型支持到安全和数据保护,我们都有长期计划。
所以,请继续关注更多关于Vertica产品未来的文章。记住,对于Vertica来说,没有最好,只有更好!
![abc964bb7679ac57fe7b9a3d3445a84f.gif](https://i-blog.csdnimg.cn/blog_migrate/e27ca14660af6403b89c1dac78bf9153.gif)
了解更多信息