说起“云”这个概念,大家应该都不陌生。近年来“云端存储”逐渐渗透入大众的工作环境与日常生活:不论是用于工作文件存储和备份,还是个人资料的保存和分享,云端存储都不失为一个方便又高效的方法。

但在十年前,云端存储的发展尚不完善,很多人不看好其发展前景,连Vertica都在云端存储与本地存储的选择中左右为难

那么Vertica最终如何在数据存储方式方面做出判断?又围绕云端存储做了哪些技术调整?Vertica的首席设计师Chuck Bear的这篇文章能给你答案。

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来说,没有最好,只有更好!

 

关注Micro Focus,随时接收前沿信息:

猛戳下方阅读原文

了解更多信息

试图将驱动程序添加到存储区_云存储——终于等到你,还好没放弃相关推荐

  1. 华为手表开发:WATCH 3 Pro(11)存储数据_轻量级存储_到本地

    华为手表开发:WATCH 3 Pro(11)存储数据_轻量级存储_到本地 初 环境与设备 文件夹: 文件 开发步骤 新增一个文本输入框 index.hml index.css 存储数据的逻辑 inde ...

  2. C++ 堆、栈、自由存储区、全局静态存储区和常量存储区

    文章来自一个论坛里的回帖,哪个论坛记不得了!    在C++中,内存分成5个区,他们分别是堆.栈.自由存储区.全局/静态存储区和常量存储区.     栈,就是那些由编译器在需要的时候分配,在不需要的时 ...

  3. C中静态存储区和动态存储区

    c语言中需要内存来存放数据.而内存主要分为两类:静态存储区和动态存储区. 1.静态存储区 (1)分为数据区(只读数据区(代码区?在linux中又叫文本段.text).读写数据区.data).未初始化区 ...

  4. 【小程序】node/小程序云开发生成小程序二维码并添加文件到云存储/腾讯云存储

    [前情提要] 1-小程序云函数生成小程序码 2-小程序云函数上传到云存储,云存储包括 小程序云存储/腾讯云存储 (因为云函数 就是node.js语法写的吗,所以下面写法对于node同样适用) 3-这里 ...

  5. 云存储精华问答 | 云存储是如何工作的?

    云存储是一种网上在线存储(英语:Cloud storage)的模式,即把数据存放在通常由第三方托管的多台虚拟服务器,而非专属的服务器上.今天就让我们来看看关于云陈存储的精华问答吧. 1 Q:云存储是如 ...

  6. 云存储精华问答 | 云存储的优势在哪?

    云存储是一种网上在线存储(英语:Cloud storage)的模式,即把数据存放在通常由第三方托管的多台虚拟服务器,而非专属的服务器上.今天就让我们来看看关于云陈存储的精华问答吧. 1 Q:云存储是如 ...

  7. SpringBoot 文件管理微服务 支持FastDFS/FTP/阿里云存储、华为云存储/天翼云存储/联通云存储移动云存储

    本微服务实现了对文件上传.下载进行管理,分别支持FastDFS存储.FTP存储.天翼云存储.华为云存储(OBS).阿里云存储(OSS).移动云.可通过配置自动切换存储类型.本微服务支持临时文件24小时 ...

  8. 试图将驱动程序添加到存储区_基于容器的块存储使用

    什么是块存储? 分布式存储系统,为业务与数据在集群内漂移提供了自由保障,满足企业对于不受约束的系统环境要求.同时,平台仅保存迁移被改动的数据,而非整体增加数据量,实现增量备份. 魔方云块存储的功能: ...

  9. 试图将驱动程序添加到存储区_Ubuntu 19.10IOS将捆绑NVIDIA驱动

    对于Ubuntu 19.10,开发人员正在将ISO NVIDIA驱动程序包添加到ISO中. NVIDIA二进制驱动程序默认不会被激活,但会出现在安装介质上,以便于安装后启用. 在新的Ubuntu安装中 ...

最新文章

  1. gatsby_如何使用Gatsby.js来获取内容
  2. matlab 算法集锦
  3. smooth_L1_loss_layer.cu解读 caffe源码初认识
  4. BZOJ1115:[POI2009]石子游戏Kam(博弈论)
  5. python中的成员运算符是干嘛的_在Python中使用成员运算符的示例
  6. 《Python Cookbook 3rd》笔记(3.9):大型数组运算
  7. Zookeeper安装,Zookeeper单机模式安装
  8. 解决Failed to load the JNI shared library xxx/xxx/jvm.dll 错误
  9. LA 4254 贪心
  10. mysql中主键的用法_MySQL中的主键以及设置其自增的用法教程
  11. Halcon基于形状的几何定位函数说明
  12. 蓝桥杯2011--2--歌赛新规则
  13. Atitit 提升开发效率 设计简化 目录 1. 防止过度设计 1 2. 优先使用db和os的自带功能,防止垃圾代码膨胀 2 2.1. 定时调度,优先使用db定时和os的cron定时 2 2.2
  14. 按键精灵定位坐标循环_[按键精灵手机版教程]DNF遍历背包卖物
  15. 还记得2048怎么玩吗?快来玩会儿(摸鱼)吧
  16. 吃鸡游戏计算机配置,三款畅玩“吃鸡”游戏电脑配置推荐
  17. Delphi-日期时间函数
  18. Unity太空大战游戏-Socket网络通信教学示例
  19. 天牛群,天牛须结合粒子群算法BAS-PSO。研究生阶段毕生所 学,低价出售!可定制pid参数整定。
  20. 刘强东:我不是中国互联网“坏孩子”

热门文章

  1. 如何用WinCC发送报警消息至钉钉
  2. java与python数据结构对比
  3. Python binascii
  4. 用Android Studio 出现的问题
  5. 迭代开发个人总结20160627
  6. can总线配置读入是什么意思_Simulink(常量amp;总线amp;示波器模块)+嵌入式(AURIX入门学习记录CAN通信配置)...
  7. easyui上传文件 jsp+js+controller
  8. BZOJ2217 [Poi2011]Lollipop 【贪心】
  9. UGUI之Toggle使用
  10. 最简单的flex bison例子