Netezza 在其现代化进程中迈出了重要一步,通过在引擎内直接引入原生 Cloud Object Storage 支持。
这一强大新功能允许用户在 S3 兼容的对象存储上以 Netezza 数据格式创建用户表,从而开启新的可扩展性、灵活性和成本效益层级。
这次功能增强不仅仅是技术升级;它是一种战略转变,使 Netezza 能够充分利用云原生架构的优势。通过本机集成对象存储,Netezza 支持:
这一新功能补充了 Netezza 现有的块存储支持,形成了混合存储层级。用户现在可以无缝地将工作负载从块存储迁移到对象存储,从而实现向云原生部署的更顺畅迁移路径。
对于希望在实现数据基础设施现代化的同时优化性能和成本的客户来说,这种混合模型具有颠覆性的意义。
Netezza 目前可在 AWS 和 Azure 等领先云平台上作为 SaaS 和自带云 (BYOC) 产品使用。这些公有云平台提供实惠、可扩展且功能强大的对象存储。例如,AWS S3 是一种流行的对象存储服务,可以通过 AWS 云帐户进行部署,并且具有出色的扩展性,同时将成本保持在最低水平。还可以为存储桶配置版本控制、冗余和访问控制。
通过混合存储方法,客户可以在创建表时可选地指定存储类型。如果 DDL 中没有定义存储类型,Netezza 会根据数据库的默认设置或默认系统配置(这些可配置)自动选择一种存储空间类型。
Netezza 仍然基于分布式计算和 MPP 架构的理念构建。
存储类型对于 NPS 前端来说是不透明的。这意味着用户应该能够查询表并连接它们,而不必担心底层存储空间。
Netezza 在提供对象存储的同时,仍然支持块存储,以便于将数据和工作量从块存储迁移到对象存储。一旦对象存储配置完成,客户即可选择新建表的存储类型。可以使用简单的 SQL 按需在对象存储和块存储之间进行数据复制。
用户应为每个 NPS 实例创建一个单独的存储区。
对象存储中的每个对象都遵循结构化前缀格式:
“/nps/<instance name>/<dbuuid>/<dsid>”。
对象存储包含与表和元数据对应的对象。每个数据切片都有自己的元数据对象。元数据存储在大型缓冲区中,以改善 IO 延迟。
在 Netezza 的对象存储架构中,过时对象(例如由已删除、截断或整理的表产生的对象)会通过删除列表对象进行跟踪。该列表是在这些操作过程中生成的。随后,异步垃圾清理器负责将这些对象从对象存储中实际删除。
这意味着 Netezza 会在后台自动处理清理工作,从而确保高效的存储管理,而无需手动干预。
为了提高性能并降低运营成本,Netezza 的对象存储利用了本地缓存。该缓存层可提供低延迟和高吞吐量。专门为 Netezza 存储引擎开发了自定义缓存实现,支持快速迭代,并与 Netezza 特定架构紧密集成。
Netezza 的原生对象存储集成为用户带来了强大优势,而不会干扰现有的工作流或应用程序。主要优势如下:
为了评估对象存储的效率和可靠性,执行了一组多样化工作量,包括只读查询、混合分析操作、写入密集型任务以及并发多用户场景。
主要亮点:
为了支持原生对象存储,Netezza 引入了 storagetype 关键字,允许用户在不同配置层级指定所需的存储类型。
1. 存储类型解析层级:如果在 CREATE TABLE 语句中指定了表级别,则该表将使用所定义的存储类型。
2. 示例:CREATE TABLE t1 (c1 INT) storagetype 'object'; 会话级别:如果在表级未指定,则存储类型将继承自会话设置。示例:
SET default_storage_type = ‘object’;
CREATE TABLE t1 (c1 INT)
3. 数据库级别:如果在会话级未指定,则存储类型将继承自数据库设置。示例:
CREATE DATABASE db1 storagetype ‘object’;
ALTER DATABASE db1 storagetype ‘object’;
4. 全局设置:如果在数据库级也未指定,系统将回退到系统配置中设置的全局默认存储类型。示例:
SET default_storage_type = ‘object’;
这种层次结构可确保灵活性,同时保持部署的一致性。
Netezza 在 AWS 上的原生云对象存储现已提供公测,计划于 2025 年第四季度在 AWS 和 Azure 上实现全面可用。
Netezza 现支持本机云对象存储,使用户能够直接在 S3 兼容的云存储上创建和管理表。这种结合块存储与对象存储的混合模型提供了更好的可扩展性、更低的成本以及无缝的 SQL 兼容性。
通过缓存、异步清理以及通过 storagetype 关键字实现的灵活存储配置,Netezza 在保持一致用户体验的同时提供了更优的性价比表现。Netezza NCOS 公测为推动一波令人振奋的新功能奠定了坚实基础,必将激发用户的热情。
我们建议用户通过运行他们的工作量来深入了解对象存储,并确定他们的数据和工作量需求的最佳平衡。