新浪云服务器做网站做阿里巴巴网站费用
web/
2025/10/9 9:30:01/
文章来源:
新浪云服务器做网站,做阿里巴巴网站费用,岳阳网红,深圳网站设计成功刻引言
最近在阅读鸣嵩的一篇文章#xff0c;数据库的下一场革命#xff1a;S3 延迟已降至原先的 10%#xff0c;云数据库架构该进化了 收获很多#xff0c;过去时间也基于对象存储做过一些功能实现#xff0c;特记录下。关于鸣嵩#xff1a; 曹伟#xff0c;花名鸣嵩数据库的下一场革命S3 延迟已降至原先的 10%云数据库架构该进化了 收获很多过去时间也基于对象存储做过一些功能实现特记录下。关于鸣嵩 曹伟花名鸣嵩原阿里巴巴OLTP和 NoSQL数据库产品总负责人已经独立创业成立 杭州云猿生数据有限公司。 曹伟 2011年加入阿里数据库团队作为核心成员历经双11、RDS等阿里数据库变革历程主导云数据库 POLARDB和HybridDB产品的自主研制并在 SIGMOD、VLDB等顶级国际学术会议上发表多篇一作文章他也是中国计算机学会数据库专委会委员 对象存储
对象存储很多人都很熟悉耳熟能详的很多产品Amazon S3、Google Cloud Storage 、 Microsoft Azure Storage、阿里云OSS、腾讯云COS等等我们会发现只要是云厂商均会提供对象存储产品。
优点
包括
易于管理访问简单通过 RESTful APIs如HTTP/HTTPS访问简单的接口PUT/GET/DELETE提供多语言的SDK高度可扩展在任何Region内可读写命名空间扁平对象存储没有像文件系统那样的层级目录结构而是使用唯一的标识符来检索对象。当成对象存储的路径也可以类似于文件系统多级目录看待通过LIST操作列出所有前缀匹配若干“路径”下的所有对象但是LIST很耗时。成本低价格便宜1TB 1个月120元左右。总吞吐高
缺点
单个对象读写延迟大性能低与块存储相比对象存储的性能可能较低尤其是对于需要高速随机访问的场景因为对象存储的实现LIST操作也可能就是一个随机访问的过程一致性模型对象存储提供不同的一致性模型可能影响业务逻辑
RDS
RDSRelational Database Service是指关系型数据库服务它是一种提供在云中托管、管理关系型数据库的服务。RDS 本质上是关系型数据库上云后的产品典型产品包括Amazon RDS、Azure SQL Database、阿里云RDS、腾讯云RDS、华为云RDS我们会发现只要是云厂商基本也均会提供RDS产品(这句话很熟悉)。
RDS的众多特性这里不展开其中RDS 通常以云盘即块存储作为其核心存储基础设施在上述文章中抛出了如下观点 在技术革新缺席的前提下云盘在性价比和计费策略方面失去了其竞争优势我们判断其会从云厂商的主导产品降级为边缘选项。 文章中认为公有云的关系型数据库将会从依赖云盘-利用好对象存储向采用更加云原生的架构的新时代迈进。
云上存储介质
云盘
云盘主要缺点如下
云盘定价高。相比于不到1千元 1TB NVMe SSD云盘需要更多价格。个人觉得目前主要收益于硬件发展确实很迅速笔者最近更换笔记本电脑加装了几TB的固态硬件价格确实已经很便宜机械硬盘已经不再考虑了。云盘弹性不足仅支持扩容不支持缩容。比如业务高峰期间完成扩容业务高峰过后无法迅速缩容进一步加大业务使用成本无法按量付费。高可用能力成本高。灾难恢复能力局限于单个可用区AZ。如果希望实现跨越AZ的高可用需要多AZ购买。对于分布式数据库而言成本更高
单个AZ云盘多副本存储保证单AZ内存储的可用性分布式采用多副本同步上层通过RAFT等共识算法实现复制多个AZ场景下数据冗余过多
性能不足。云盘使用分布式架构通过 Erasure coding 机制将数据分割成多个小片段同时所有IO操作都需要网络延迟较本地盘高一个数量级。这里感触也是比较多在云盘很多服务下有时候经常因为达到云盘本身的IO带宽上限进而影响服务。
云上的本地盘实例存储
和云盘不同实例存储采用了类似于 SR-IOV 和 SPDK 的高效虚拟化技术。优势在于
实例存储的延迟和带宽都接近物理 SSD 的性能价格便宜1TB每月不到300元
最大缺点在于单副本存储没有多副本高可用机制如果宿主机故障了数据永久丢失因为没多副本。
SR-IOV 和 SPDK 是用于提高虚拟化环境中网络和存储性能的两种不同技术分别关注 I/O 虚拟化和存储性能优化。
SR-IOV (Single Root I/O Virtualization):
SR-IOV 是一种硬件虚拟化技术旨在提高虚拟化环境中的网络和 I/O 性能它允许物理设备如网卡在多个虚拟机之间进行直接共享而无需主机 CPU 的干预。关键特点 硬件虚拟化 SR-IOV 允许物理设备在多个虚拟机之间创建虚拟功能而无需主机的软件层介入。因此虚拟机可以直接地访问物理硬件从而提高了性能。 虚拟机隔离 SR-IOV 提供了一种在虚拟环境中实现硬件 I/O 隔离的方法。每个虚拟机可以被分配到物理设备的一个虚拟功能而这个虚拟功能可以被单独配置和管理。 单根结构 单根结构指的是整个 SR-IOV 网络设备的管理和配置由单一的根设备进行。这有助于简化配置和管理。 性能提升 相对于传统的软件实现的虚拟网络SR-IOV 提供了更低的虚拟化开销从而提高了网络性能。
SPDK (Storage Performance Development Kit):
SPDK 是一个用于构建高性能存储应用程序的开源软件开发工具包。目标是提高存储系统的性能和效率。SPDK 的关键特点 用户态操作 SPDK 在用户态用户空间运行避免了传统的内核态内核空间存储堆栈的一些性能限制从而减少 I/O 操作的延迟。 零拷贝 SPDK 鼓励零拷贝操作通过直接的用户态 I/O 操作来避免数据在用户态和内核态之间的多次复制从而减少存储系统的处理时间。 NVMe 支持 SPDK 适用于支持 NVMeNon-Volatile Memory Express设备的高性能存储系统。它提供了针对 NVMe 设备的优化最大程度地利用其性能潜力。 异步 I/O 操作 SPDK 使用异步 I/O 操作允许应用程序并行处理多个 I/O 请求提高了系统的并发性。 模块化设计 SPDK 的设计模块化允许开发者选择性地使用或扩展其功能以适应不同的应用场景。
对象存储对比
云盘、云上本地盘实例存储、对象存储对比
特点云盘云上本地盘实例存储对象存储存储类型块存储虚拟化技术对象存储访问方式块设备访问接口访问HTTP(S) 访问通过 API访问性能高适合随机读写高适合随机读写通常较低适合大规模数据成本最高较低最低适用场景适用于需要低延迟的应用单个对象读写延迟大但总吞吐很高适用于大规模数据、归档等数据高可用高适用于关键业务但成本高低宿主机挂了数据没了高通过冗余和分布实现但成本低可伸缩性适用于小规模到大规模但不具备迅速缩容适用于小规模到大规模 但不具备迅速缩容高吞吐低低高支持 10Gb 乃至 100Gb 的访问带宽
综上比较对象存储在定价、高可用成本、吞吐等各方面都很有优势但是单个对象读写延迟较高。在过去基于对象存储开发的项目笔者也深刻感知到这一点比如单个对象PUT/GET只有十几M/S但利用底层对象存储的并行机制结合业务层的异步和并行框架设计可以跑到上G/s的速度。
而文章中提到 对象存储的缺陷是其延迟比较高首字节访问延迟可能高达数十毫秒。这一问题部分源于早期对象存储解决方案通常使用 HDD 作为存储媒介并且在软件层面I/O 请求的排队处理也会造成一定延迟。然而高延迟并非对象存储的本质缺陷而是由于成本考虑和产品定位所做的权衡。 这个也特别有道理本身一个系统设计最终是各方面的选择和取舍。而 AWS Reinvent 大会上发布的S3 Express One Zone服务将延迟减少至原先的十分之一实现了毫秒级的响应速度这样的延迟其实已经和之前印象中对象存储特性很不一致了。当然带来的缺陷是
S3 Express One Zone不再支持跨AZ的容灾和可用数据都在单个AZ内。这个也很好理解跨AZ的读写因为网络RT很大比如北京到深圳 RT有24毫秒左右跨城的延迟很难去优化到毫秒级可能在上百毫秒甚至更高定价贵。价格是 S3 标准版的 7 倍是云盘 EBS gp3 的 2 倍。个人感觉是留下未来的降价空间给客户打折~~~
延迟成本持久性
参考数据库的下一场革命S3 延迟已降至原先的 10%云数据库架构该进化了 文章中一张图
云盘/NAS低延迟、持久性好高可用但是成本较大 实例存储低延迟、成本低单个副本但是持久性差 对象存储延迟加大、成本低、持久性好
有点类似之前的文章浅谈CAPACIDBASE理论 的CAP很难有一种云存储产品在延迟、成本、持久性各方面都达到很好的效果。 目前降本增效是企业广为提的一个概念如何基于最低的成本的构建考虑的数据库服务
基于云上的本地盘实例存储
云上的本地盘实例存储低延迟且成本低但是单副本存储。基于云上的本地盘实例存储上层通过多副本的机制构建数据库系统但是问题在于多个云上的本地盘实例存储可能因为相同的原因的丢失数据 比如同一批固件BUG的SSD。基于云上的本地盘实例存储上层采用多副本机制也未必降低丢失数据的概率。对数据持久性有极高要求的生产环境来说这种方案并不适用。
延迟和持久分离
通过对象存储保证高持久性、通过云盘/实例存储来保证延迟。具体而言
写操作有缓存或者聚合直接写云盘/实例存储等低延迟存储介质上层通过共识算法多副本同步。云盘/实例存储等的数据会被后台搬迁到对象存储上同时云盘等只保留数据即可这样主要数据在对象存储上不仅高持久而且低成本存储便宜读操作构建缓存比如内存的Cache对于位于对象存储可以采用预热、并行读取等技术手段保证读取的高效性
Serverless
Serverless 是一个很火的概念Serverless 本质是一种云计算服务模型其主要理念是使用者无需关心底层的服务器资源和管理而可以专注于业务逻辑。核心特点是事件驱动、按需自动扩展以及按执行时间计费。而对于Serverless 数据库提供了低门槛、灵活扩展和缩容、按量付费等重要特性。其中上述特性对于存储的隐含要求在于
需要保证按量付费需要存储池化需要用多少就给云厂商付多少钱对象存储很匹配这一点。高可用。Serverless 不关心底层的服务器资源和管理自然也希望本身服务提供高可用的能力。因此Serverless的数据库需要保证其计算节点池和存储池都在跨 AZ 环境中提供无缝的容灾能力。对象存储也提供了跨AZ的读写能力。
基于对象存储的云数据库
基于上述分析文章中提出了基于对象存储的云数据库的关键特性:
行列混合存储格式
由单纯的行存储变为行列混合存储其中这里主要原因目前很多数据库厂商在提HTAP而列存天然适合于AP数据分析类的业务场景。
关于HTAPHybrid Transactional/Analytical Processing是一种数据库架构旨在同时支持事务处理Transactional ProcessingOLTP和分析处理Analytical ProcessingOLAP。传统上这两种工作负载分别在不同的系统上执行比如分析用数据仓库但 HTAP 将它们集成到同一个系统中以提供更为综合的数据处理能力。 将行存数据转换为 Pax 格式行列混合存储格式存入对象存储好处不仅在适用HTAP而且可以减少内存开销、降低数据加载时间等
OLTP 与数据湖的深度融合
数据湖Data Lake是一种用于存储大量结构化和非结构化数据的架构旨在为企业提供一个灵活、低成本的数据存储和分析解决方案。数据湖的核心思想是将数据以原始形式保存并在需要时进行分析、处理和提取价值。关键特点和优势
多样性数据 数据湖容纳多种类型的数据包括结构化数据如关系型数据库中的表格、半结构化数据如XML、JSON以及非结构化数据如文本文件、图像、音频和视频等。目前其实多模数据库也支持这么多类型所以个人理解数据湖从某些方面定义其实和多模数据库类似原始数据存储 数据湖保存原始数据不对数据进行预处理或规范化。企业可以存储原始数据然后根据需要进行多层次的处理和分析。弹性存储 数据湖通常建立在分布式存储系统上如HDFS(Hadoop Distributed File System或云存储服务以提供弹性和可扩展性。低成本 数据湖采用相对低成本的存储解决方案分析和处理 支持多种分析和处理工具包括SQL查询、数据挖掘、机器学习和大数据处理框架。实时和批处理 数据湖支持实时和批处理模式安全性 数据湖通常提供安全性控制包括对数据的访问权限、加密、身份验证等以确保敏感数据得到保护。
一种TP和AP系统数据流转的方式比如数据库-ETL或者CDC能力-数据仓库。 ETL提取、转换、加载流程不仅管理负担重而且实时性较难保证中间流程过多。 一种新的方式在数据库中直接支持将全量数据以行列混合存储格式持久化并写入对象存储OLTP 数据库可以无缝地将在线数据直接写入数据湖环境企业可以更快捷、方便使用这些数据
K8s数据库管理
K8S对象存储数据库会让管理更简单
总结
最大几点收获如下
不同时代的硬件发展会导致系统的架构巨大变化比如早期的机械盘数据库领域较多采用B树的设计SSD更适合LSM tree的设计而目前硬件迭代很多在很多新型硬件下原来系统的设计或者假设就不存在了比如超大内存。因此我们需要学习和了解新的硬件然后设计合适的软件架构。软件基于硬件构建。企业客户的一个最大需求在于如何节约成本同时功能完善、性能齐全传说的既要也要。一些情况不合理但是有一些情况是可以通过新的设计来满足的技术服务于业务需求云盘/对象存储各有优缺点合适的搭配可以达到更好的效果有点类似于将军指挥士兵前线各司其职的思想。设计是需要权衡的成本、延迟、持久如何权衡。技术发展很快比如对象存储的低延迟S3 Express One Zone在牺牲了跨AZ的容灾也提供了相当低延迟的读写服务基于这种特性一定会有新的设计。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/89563.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!