The rapid advancement of artificial intelligence has elevated data to a cornerstone of modern software systems. As data projects become increasingly complex and dynamic, version control for data has become essential rather than merely convenient. Existing version control systems designed for source code are inadequate for large-scale data management, as they often require loading entire datasets into memory for diff and merge operations. Database systems, while providing robust data management capabilities, lack native support for version control operations such as diff and merge between data forks. We present a version control system for data implemented in MatrixOne, a cloud-native relational database system. Our system leverages MatrixOne's immutable storage architecture and multi-version concurrency control (MVCC) to enable git-like operations on database tables at scale. The system supports the complete spectrum of version control operations: clone, tag/branch, diff, merge, and revert, on terabyte-scale datasets with near-instantaneous performance. This version control system enables data engineers to adopt established software engineering workflows: creating branches for isolated experimentation, submitting pull requests for change review, and running CI/CD pipelines efficiently and safely. Changes in the development environment are isolated from production in both data integrity and computing resources. Verified changes can be published to production in atomic transactions, ensuring data consistency and avoiding service disruptions.
翻译:人工智能的飞速发展使数据成为现代软件系统的基石。随着数据项目日益复杂化和动态化,数据版本控制已从辅助功能演变为必要需求。现有面向源代码的版本控制系统难以支撑大规模数据管理——其差异比对与合并操作需将完整数据集加载至内存。数据库系统虽具备强大的数据管理能力,但原生缺乏数据分支间的差异比对与合并等版本控制操作。我们提出了一种基于MatrixOne云原生关系型数据库实现的数据版本控制系统。该系统利用MatrixOne的不可变存储架构与多版本并发控制机制,实现了对数据库表级规模数据的类Git操作。该系统支持完整的版本控制操作谱系:克隆、标签/分支、差异比对、合并及回滚,可在TB级数据集上实现近瞬时性能。该版本控制系统使数据工程师能够采用成熟的软件工程工作流:创建独立实验分支、提交变更审核拉取请求、高效安全地运行CI/CD流水线。开发环境中的变更在数据完整性与计算资源层面均与生产环境隔离。经验证的变更可通过原子事务发布至生产环境,确保数据一致性并避免服务中断。