当前位置: 首页 > article >正文

Beyond the WORM with MinIO object storage

I find the terminology of WORM (Write Once Read Many) coming back into the IT speak in recent years. In the era of rip and burn, WORM was a natural thing where many of us “youngsters” used to copy files to a blank CD or DVD. I got know about how WORM worked when I learned that the laser in the CD burning process alters the chemical compound in a segment on the plastic disc of the CD, rendering the “burned” segment unwritable once it was written but it could be read many times.At the enterprise level, I got to know about WORM while working with tape drives and tape libraries in the mid-90s. The objective of WORM is tosave and archive the data and files in a non-rewritable formatfor compliance reasons. And it was the data compliance and data protection parts that got me interested intodata management. WORM is a big deal in many heavily regulated industries such as finance and banking, insurance, oil and gas, transportation and more.Obviously things have changed. WORM, while very much alive in the ageless tape industry, has another up-and-coming medium inObject Storage. The new generation of data infrastructure and data management specialists are starting to take notice.Worm Storage – Image from Hubstor (https://www.hubstor.net/blog/write-read-many-worm-compliant-storage/)I take this opportunity to take MinIO object storage for a spin in creating WORM buckets which can beeasily architected as data compliance repositorieswith many applications across regulated industries. Here are some relevant steps.[ Note: I am using WORM and object locking interchangeably here because this is for MinIO object storage. Object locking in cloud native storage is the mechanism that can enable WORM but the mechanisms of WORM are aplenty in other medium types such as tapes, optical discs, and probably DNA storage (I haven’t learned about this yet).WORM planningThe initial step is NOT to create the WORM bucket.Data management prudencemust apply first before putting the data in a WORM state. Questions about:What data to lockWhat type of locking – Compliance, Governance, Legal HoldRetention PeriodVersioningAll these questions must be answered prior to the creation of the WORM bucket, because once the MinIO bucket is locked, there are not many options to change the settings again until the validity of the settings is over.Creating a MinIO WORM bucketThe screenshot below is straightforward. In the MinIO console, create a bucket. Provide a name to identify the bucket.Slide the Object Locking from Off to On. By default, the Versioning is automatically turned On as well. If you want to WORM objects to have an expiry date, slide the Retention to On. The Validity can be set days and years where the objects locked are kept locked until an expiry date is reached.Creating an object lock bucket in MinIO – a WORM featureCompliance and Governance mode settingsThe 2 modes seen are Compliance and Governance. They deserve a separate section to explain them.Governance Mode– Objects in the bucket or the entire bucket are prevented from normal users. Privileged users with the right permission can still alter the retention settings and delete the objects.Compliance Mode– Objects in the bucket or the entire bucket cannot be deleted by all users until the retention period has expired. Even privileged users cannot modify the retention period to bypass the lock.A object also can be placed inLegal Holdwhich has no retention period and expiry date. This puts the lock on the object indefinitely.Data tampering and ransomwareRansomware definitely played a big role in nudging WORM into the attention again. But the initial intention was simpler where industries and businesses wanted to preserve the data for long term and prevent data tampering. Regardless, the immutability feature is now a must in many organizations looking at data protection in the face of a pandemic threat, digitally, and I am not talking about Covid-19.Thus the design of thedata management scopearound data immutability involves data protection, data security, data compliance, data privacy and even data preservation and data sovereignty as well.Considerations and costIn the era of cloud computing, s3 storage has become the de facto standard, and object storage is underpinning the distributed ways to store and share data via buckets. However, one very important mindset is to make sure that the right sets of data are given theright labeling of usagewhen it comes to keep data locked in buckets. The labeling I am referring to here can be tied to theAAA (Authentication, Authorization, Audit) data management mindsetto make data in the buckets secure and ensure that they are protected.Mislabeling of usage can also lead to complications and costs. Once the data is locked in a WORM bucket, the data isintentionally not modifiableand in the more restrictive settings of compliance and legal hold, the objects in the bucket isnot deletableas well for a selected period of time. In the case of legal hold, it is forever. These of course, leads to a longer term capacity cost consideration as well.Thus,WORM is a feature in the larger part of data management ecosystem. Organizations can take advantage of the modernized version of WORM with object storage, and in my books, MinIO is top notch.MinIO is a native s3 object storage service in iXsystems™ TrueNAS® CORE and Enterprise. It can also architected as a scale-out distributed object storage cluster with TrueNAS® SCALE.

相关文章:

Beyond the WORM with MinIO object storage

I find the terminology of WORM (Write Once Read Many) coming back into the IT speak in recent years. In the era of rip and burn, WORM was a natural thing where many of us “youngsters” used to copy files to a blank CD or DVD. I got know about how WORM wor…...

Hermes Agent简介

1、Hermes Agent 是什么?Hermes Agent 是由 Nous Research 在 2026 年 2 月开源发布的一款自进化 AI 智能体框架,采用 MIT 协议,完全免费可商用 。它的核心定位不是简单的聊天机器人或代码补全工具,而是一个部署在你自己服务器上、…...

从路由器到服务器:OpenWRT、Yocto、Buildroot与Ubuntu的嵌入式与通用之路

1. 嵌入式与通用系统的技术光谱 当你面对一个物联网设备开发项目时,第一个要解决的问题往往是:该选择哪种操作系统或构建框架?这个问题没有标准答案,关键在于理解你的项目在"嵌入式-通用"这个技术光谱上的位置。我做了1…...

FP8浮点运算原理与深度学习优化实践

1. FP8浮点运算基础与设计原理在深度学习和大规模矩阵运算领域,浮点计算精度的选择一直是性能与准确率权衡的关键。传统FP32(单精度)和FP16(半精度)虽然能提供足够的数值精度,但在计算密集场景下存在明显的…...

欧姆龙NJ/NX系列PLC FINS通信实战:在Ignition SCADA中配置数据采集的完整流程

欧姆龙NJ/NX系列PLC FINS通信实战:在Ignition SCADA中配置数据采集的完整流程 工业自动化系统的核心在于设备间的无缝通信。作为欧姆龙新一代控制器的代表,NJ/NX系列PLC凭借其高性能和可靠性,在智能制造领域占据重要地位。而FINS协议作为欧姆…...

Windows 电脑安装安卓应用的轻量级解决方案:APK 安装器

Windows 电脑安装安卓应用的轻量级解决方案:APK 安装器 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾希望在 Windows 电脑上运行安卓应用&#x…...

告别死板ALV:手把手教你用ABAP为报表添加智能双击交互(含代码复用技巧)

告别死板ALV:手把手教你用ABAP为报表添加智能双击交互(含代码复用技巧) 在SAP开发领域,ALV报表作为数据展示的标准组件,其交互体验直接影响用户效率。传统ALV双击事件处理往往陷入"一次开发,无法复用&…...

VSCode打造车规级开发环境:从AUTOSAR兼容配置到CANoe集成调试,12步零错误落地实录

更多请点击: https://intelliparadigm.com 第一章:VSCode车载开发环境的战略定位与车规级意义 在智能网联汽车加速落地的背景下,VSCode 已超越传统编辑器角色,演变为符合 ISO 26262 ASIL-B 级别开发要求的轻量化集成开发平台。其…...

探究 libhv Socketpair 在 clumsy 模拟延迟下的“超时”之谜

前言在进行网络编程开发时,我们经常使用 libhv 这种高性能的网络库,并利用 clumsy 等工具模拟弱网环境。最近在 Windows 环境下,当开启 clumsy 的 inbound 和 outbound 双向延迟(20ms)时,发现 libhv 的 Soc…...

2026 年 5 月・高项第 7 章 立项管理|精准预测 + 必刷练习题

一、2026 年 5 月 必考预测(5 题稳稳覆盖) 立项管理完整流程(排序题必考) 项目建议书 4 大核心内容(单选 / 多选) 四大可行性:技术 / 经济 / 法律 / 社会(场景判断题必考 1 题) 初步可行性 vs 详细可行性(精度、作用、是否可省略) 成本效益指标:投资回收期、NPV、I…...

自托管AI智能体平台Blink:从架构设计到生产部署实战

1. 项目概述:一个自托管的AI智能体平台最近在折腾一个挺有意思的项目,叫Blink。简单来说,它是一个让你能在自己服务器上搭建、运行和管理AI智能体的平台。你可以把它想象成一个“智能体操作系统”,它负责把智能体部署成Docker容器…...

Layerdivider终极指南:3步将单图转为专业PSD分层文件

Layerdivider终极指南:3步将单图转为专业PSD分层文件 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 你是否厌倦了在Photoshop中手动分离图像…...

从FreeRTOS转RT-Thread,线程创建这几点差异新手最容易踩坑

从FreeRTOS转RT-Thread:线程创建的关键差异与实战避坑指南 嵌入式开发者常面临RTOS迁移的场景,而FreeRTOS与RT-Thread作为两大主流选择,其线程管理机制存在显著差异。本文将深入剖析线程创建环节的五个核心差异点,通过对比表格、代…...

本地LLM智能搜索聚合器:构建私有化AI搜索工具

1. 项目概述:一个完全本地的、由LLM驱动的智能搜索聚合器 如果你和我一样,对当前主流搜索引擎和AI助手的“信息过滤”感到不安,或者单纯想拥有一个完全私密、不受任何外部API限制的自主信息检索工具,那么LLocalSearch这个项目绝对…...

从RKE到PKE:你的车钥匙是如何‘变聪明’的?一次讲清低频唤醒与双向认证

从RKE到PKE:智能车钥匙的技术革命与安全进化 车钥匙的智能化演进,本质上是一场关于用户体验与安全性的双重革命。十年前,我们还在习惯性地按下钥匙按钮解锁车辆;如今,只需轻触门把手甚至直接拉开车门,车辆就…...

如何永久保存微信聊天记录:WeChatMsg数据留存与隐私保护终极指南

如何永久保存微信聊天记录:WeChatMsg数据留存与隐私保护终极指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trendin…...

手把手教你用ESP8266(NodeMCU)的I2C接口同时读取温湿度、光照和空气质量传感器

用ESP8266打造多传感器环境监测系统:I2C接口实战指南 在智能家居和物联网项目中,环境数据采集是最基础也最关键的环节之一。想象一下,当你希望用一个设备同时监测房间的温度、湿度、光照和空气质量时,如何优雅地解决多个传感器的集…...

GoWxDump:当取证技术遇上Go语言的优雅之美

GoWxDump:当取证技术遇上Go语言的优雅之美 【免费下载链接】GoWxDump 删库 项目地址: https://gitcode.com/gh_mirrors/go/GoWxDump 在一个数字取证专家的日常工作中,微信聊天记录往往成为关键证据的宝库。想象一下这样的场景:调查人员…...

避坑指南:Canal 1.1.7版本在Linux下的完整安装与双模式配置(附1.1.6版本报错解决方案)

深度避坑:Canal 1.1.7企业级部署实战与版本陷阱全解析 当数据库变更捕获成为业务刚需时,Canal作为阿里巴巴开源的MySQL binlog增量订阅组件,其稳定性直接决定数据管道的可靠性。本文将揭示1.1.6版本中那些官方文档未曾提及的致命陷阱&#xf…...

手把手教你用FPGA驱动16*16点阵:从字模提取到动态滚动的保姆级教程

手把手教你用FPGA驱动16*16点阵:从字模提取到动态滚动的保姆级教程 当你第一次拿到FPGA开发板和16*16点阵模块时,可能会被那些密密麻麻的引脚和闪烁的LED搞得一头雾水。别担心,这篇文章将带你从零开始,一步步实现动态显示效果。无…...

终极显卡驱动清理指南:Display Driver Uninstaller 完全使用手册

终极显卡驱动清理指南:Display Driver Uninstaller 完全使用手册 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers-un…...

从丁香花到你的数据:用k-mer分析揭秘基因组大小与杂合度的‘隐藏信息’

解码k-mer频谱:从峰形图洞察基因组特征的深层逻辑 当你在实验室里完成了k-mer分析的最后一步,屏幕上那个看似简单的直方图背后,其实隐藏着整个基因组的秘密。这不是普通的统计图表,而是一张基因组的"指纹图谱"&#xff…...

LangChain Agent实战:从initialize_agent迁移到新API的避坑指南

1. 为什么需要从initialize_agent迁移到新API 最近在LangChain社区里,不少开发者都在讨论一个共同的问题:为什么官方文档和示例中推荐的create_tool_calling_agent方法总是报错?这个问题我也遇到过,当时花了大半天时间才搞明白。实…...

群晖DSM7.0保姆级教程:5块4T酷狼硬盘如何组SHR存储池(附RAID选择避坑指南)

群晖DSM7.0存储池配置全攻略:从硬盘选择到SHR实战 刚拿到五块希捷酷狼4T硬盘时,我和大多数NAS新手一样兴奋又忐忑——这些金属盒子究竟该如何发挥最大价值?在DSM7.0的存储管理器界面里,SHR、RAID5、RAID10这些术语像天书般令人困惑…...

Chandra镜像惊艳效果展示:gemma:2b生成符合PMP/软考大纲的技术项目管理文案

Chandra镜像惊艳效果展示:gemma:2b生成符合PMP/软考大纲的技术项目管理文案 1. 这不是普通聊天,是懂项目的AI助手 你有没有遇到过这样的场景: 准备软考高项论文,对着空白文档发呆两小时,连第一段都写不出来&#xf…...

Oumuamua-7b-RP实际作品:10轮对话内完成‘邀请主人赏樱→准备便当→撑伞同行’叙事闭环

Oumuamua-7b-RP实际作品:10轮对话内完成邀请主人赏樱→准备便当→撑伞同行叙事闭环 1. 项目概述 Oumuamua-7b-RP 是一款专为日语角色扮演对话设计的Web界面应用,基于Mistral-7B架构开发。这个工具特别适合想要体验沉浸式日语对话的用户,无论…...

KrkrzExtract实战指南:新一代krkrz引擎资源解包工具完整解析

KrkrzExtract实战指南:新一代krkrz引擎资源解包工具完整解析 【免费下载链接】KrkrzExtract The next generation of KrkrExtract 项目地址: https://gitcode.com/gh_mirrors/kr/KrkrzExtract KrkrzExtract是专门为krkrz引擎设计的下一代资源处理工具&#x…...

MATLAB图表导出终极指南:export_fig工具箱完整教程

MATLAB图表导出终极指南:export_fig工具箱完整教程 【免费下载链接】export_fig A MATLAB toolbox for exporting publication quality figures 项目地址: https://gitcode.com/gh_mirrors/ex/export_fig 你是否曾经为MATLAB图表导出的各种问题而烦恼&#x…...

告别AC5!在Keil MDK AC6环境下为STM32配置串口打印(Retarget详解)

在Keil MDK AC6环境下为STM32构建跨平台串口打印方案 第一次在AC6环境下调试STM32的串口打印功能时,我盯着那个毫无反应的终端窗口整整半小时。直到检查了第17遍硬件连接后,才意识到问题出在那个看似简单的printf重定向上。与AC5时代不同,AC6…...

保姆级教程:用Arduino和三个电感实现智能车归一化循迹(附完整代码与调试心得)

从零搭建智能车循迹系统:Arduino电感归一化实战指南 当你第一次把三个电感传感器排列在智能车前端时,那些不断跳动的模拟值可能会让你感到困惑——左边的电感在金属导线附近显示512,中间的687,右边的突然飙到1023。这些原始数据就…...