MatrixOne Git4Data 技术详解(三):MatrixOne 架构及 Git4Data 原理解析,快照、Diff、Merge 凭什么这么快

22AP10 SS524 平替 海思HI3521DV200 可提供开发资料 入,突破了数字接口的视频输入性能瓶颈,提供两倍于前代产品的视频输入能力。视频编解码引擎、视频图像处理的算法效果及性能得到了进一步提升。芯片为客户产品提供了高性能、优异图像质量。推理引擎,支持多种智能算法应用。合丰富的外围设备及高速接口,该。解决方案,广泛用于模拟高清。产品应用开发的新一代专。四核处理器和性能强大的。 阅读详情

前两篇里,我们先讲了为什么数据需要 Git,又动手把所有 Git 原语在百万行上跑了一遍。动手那篇结尾留下一张让人有点意外的表:

表规模CREATE SNAPSHOTCLONEDATA BRANCH DIFF(改 1000 行)
100 万行6 ms6 ms13 ms
1000 万行8 ms8 ms21 ms
1 亿行5 ms25 ms23 ms

数据涨了 100 倍,打快照的耗时几乎恒定,克隆只从 6 毫秒升到 25 毫秒,diff 基本只随你改了多少行变化。

第一眼看上去这不太合理——复制 1 亿行,怎么可能在眨眼之间完成?这一篇我们把引擎盖掀开,讲清楚底层到底是怎么做到的。先把结论放在前面:

在 MatrixOne 里,版本控制不是叠加在数据库之上的一层功能,而是它存储引擎的自然产物。 一旦你理解了数据是怎么存的,"毫秒级版本"就不再像魔法,而几乎是唯一合理的结果。


先认识 MatrixOne:存算分离的三类节点

讲版本控制之前,得先认识 MatrixOne 的架构——正是它,决定了后面这些操作为什么能这么便宜。

MatrixOne 是一个云原生、存算分离的 HTAP 数据库。"存算分离"指的是把计算和存储彻底解耦:计算节点本身不长期持有数据,数据统一存放在底层的对象存储里。整个系统由三类节点 + 一层对象存储构成(见下图):

在这里插入图片描述

  • CN(Compute Node,计算节点):执行 SQL 的地方。它是无状态的——本地不长期持有数据,需要时去对象存储读取、只把本地当缓存。正因为无状态,CN 可以随负载横向扩展,加机器即加算力。图中顶部那一排就是 CN。
  • TN(Transaction Node,事务节点):事务的决策者。它决定一个事务能否提交、把已提交的日志串成一条有序的流,并把这条 WAL(预写日志) 推送给订阅了相关表的 CN。
  • LogService(日志服务):以 Raft 协议组成一组(通常 3 个),可靠地保存 WAL。它是系统的"真相来源"——只要日志在,崩溃后就能据此恢复。
  • 对象存储(S3):所有表数据最终的存放处,廉价、近乎无限、自带多副本。

一次写入的完整路径是这样的:事务在 CN 上执行,改动先暂存在它的私有工作区;提交时,TN 决策通过、把 WAL 写入 LogService 落定,再把这条 WAL 流给所有订阅的 CN,让它们各自更新对该表的视图。大批量数据则由 CN 直接写入对象存储,只把"写了哪些对象"的元数据交给 TN。

这套架构有两个对后文至关重要的特性:

  1. 数据与计算解耦——数据独立存在于对象存储中,CN 只是读取它。所以"给数据派生一个分支、让另一拨计算去运行"这件事,本身就不需要复制数据。
  2. 底层是不可变对象 + 日志——这恰好是做版本控制最理想的地基。下一节我们深入存储层来看。

数据怎么存:不可变对象 + 一份目录

要理解快照为什么便宜,需要再深入一层:CN 把一张表写进对象存储时,它在物理上是什么样子。记住下面几条规则:

  • 表数据被切成一个个对象(object),每个对象内部以列存方式保存一批行。
  • 对象一旦写入便不可变(immutable)——这是整个机制的基石。要新增数据,就写一个新对象。
  • 对象的组织是 LSM 式的:不可变对象 + 后台 compaction。有主键或排序键(sort key / cluster by)的表,数据按键有序,扫描时可借 zone map 等元信息做裁剪;没有主键的表则走内部的 fake-PK / 全行比对路径。
  • 删除一行不是去对象里抹掉它(对象不可变,做不到),而是向一个单独的墓碑对象(tombstone) 写入一条记录,标记"这一行已删除"。
  • 最关键的一条:一张表当前由哪些对象组成,记录在一份元数据目录(metadata directory) 里。可以把这份目录理解成一张"清单"——它列出此刻这张表指向哪些数据对象、哪些墓碑对象。

把这几条串起来:一张表此刻"长什么样",完全由这份目录决定。真实的数据字节静静躺在不可变对象里、自身不变;变的只是"目录指向谁"。

在这里插入图片描述
一张表 = 一份指向不可变对象的目录;删除是写一条墓碑记录,而不是去修改对象本身。

再叠加一层 MVCC(多版本并发控制,与 PostgreSQL 类似):每行带一个事务时间戳,读取时按时间戳过滤,就能还原出"某一时刻的表"。

记住这个模型:不可变的数据对象 + 一份会变的目录。 接下来所有"魔法",本质上都是在这份目录上做文章,几乎不触碰真实数据。


快照与克隆:不搬数据,只动元数据

到这里,"快照为什么便宜"几乎是显而易见的了。不过快照和克隆虽然都不搬数据,实现机制并不相同,值得分开讲:

  • 快照(CREATE SNAPSHOT v1 FOR TABLE …)的核心动作是记录一个时间戳,并通知 GC:"这个时刻可见的对象版本,都保护起来。"它并不真的去复制什么目录——与表里装了 100 万行还是 1 亿行无关,所以快照永远是几毫秒。(一个细节:命名快照前,系统会先把还驻留在内存、未落盘的数据 flush 成对象——这就是上一篇提到的"第一次快照略慢"的来源,属于一次性开销。)
  • 基于时间戳的版本则更直接:根本无需提前保存任何东西——读取时按 MVCC 时间戳过滤对象,就能还原出任意时刻的表。这正是 PITR(任意时间点恢复)的基础,相当于系统自动替你打了一连串 Git commit。
  • 克隆(CLONE / DATA BRANCH CREATE)复制的是对象元数据引用——新表记下"我指向哪些数据对象、哪些墓碑对象"(以及它们的统计信息),对象文件本身一个都不复制。克隆出的新表与原表从此各自演化、互不影响,但起始时它们共享同一批底层数据对象。这正是"克隆 6 亿行只要 0.2 秒、仅多占 314 KB"的全部原因:那 314 KB 是新表的引用元数据,6 亿行数据一个字节都没有移动。

在这里插入图片描述
快照记录时刻并保护对象,克隆复制对象引用——都指向同一批不可变对象,所以 6 亿行也只要 0.2 秒。

这里还有一个容易被忽略、却很关键的设计——垃圾回收(GC)感知快照。MatrixOne 平时会在后台做 compaction、回收不再需要的旧对象;但被命名快照或分支保护的对象版本,不会被回收。这也给"成本"加一个诚实的注脚:创建分支/快照是近似常数成本、零数据拷贝;但长期持有并不完全免费——被钉住的历史对象会一直占着存储,直到快照/分支删除后 GC 才能回收。短生命周期的分支几乎无感,长期保留的快照则要把这笔存储保留成本算进去。

至此,前两篇说的"毫秒级快照""秒级分支"就都落到了实处——因为创建它们根本不移动数据。


Diff:只扫描"发生了变更的那部分对象"

快照和克隆便宜,是因为它们只动目录、不读数据。那 diff 呢?比对两个版本的差异,总得真的去读数据吧?

是要读,但需要读取的范围小得惊人——这是整套机制中最精巧的一环。

关键的观察是:因为对象只增不改,一条分支从 sn1 到现在的全部修改,都体现为"它比共同祖先多出了哪些对象"——插入产生新的数据对象,删除产生新的墓碑对象,更新则是"删除 + 插入"。我们把"sn2 相对 sn1 多出的那批对象"记作 Δ_sn2(delta,即增量),同理有 Δ_sn3。

所以——只要两张表之间存在血缘、能定位到共同祖先(LCA)——diff sn2 和 sn3 就只需读取各自的增量 Δ_sn2 和 Δ_sn3,完全不必扫描两张全表。(血缘不可用时会退化到另一条慢路径,"两方合并"一节细说。)

这就是为什么:表里有 1 亿行、你只改了 1000 行时,diff 也只要二十几毫秒——它只读取了那 1000 行所在的几个增量对象。

在这里插入图片描述
diff 只读两个分支各自的增量 Δ,给删除/插入标上 ± 号,相同的改动两两抵消,剩下就是差异。

具体分两步:

  1. 扫描并折叠:扫描 Δ_sn2,把同一主键上的多次物理操作折叠成一个逻辑操作(删除 / 插入 / 更新),并给删除标 “−”、插入标 “+”。这一步几乎就是普通的 LSM 树扫描,区别只在于:不是把被删的行屏蔽掉,而是把删除操作本身也扫描出来。
  2. diff 聚合:把 Δ_sn2 与 Δ_sn3 中完全相同的改动两两抵消(例如两边都删了同一行、或都插入了一模一样的行)。抵消后剩下的,就是两条分支之间真正的差异。

一个省 IO 的细节:墓碑记录里只有主键、没有其它列的值。所以扫描出的被删行先用 NULL 占位,仅当确实需要展示完整行时,才回到共同祖先 sn1 取回原值。

你在上一篇看到的 DATA BRANCH DIFF … OUTPUT SUMMARY(给出 INSERTED / DELETED / UPDATED 各自的行数),就是这套聚合的结果。


Merge:三方合并,以及如何自动区分真假冲突

合并比 diff 多做一件事:遇到冲突要能判定、能裁决。

DATA BRANCH MERGE TClone INTO T 执行的是三方合并——以共同祖先 sn1 为基准,结合 T(sn2) 和 TClone(sn3) 各自相对 sn1 的修改(也就是前面算出的 Δ 和 ± 号),逐行判定。

核心规则只有一句:

只有"两条分支都独立修改了同一行、且改法不同",才算真冲突。

有主键时,比较该主键在三个版本(共同祖先、目标、源)中的情况:

  • 只有一边修改了这行、另一边未动 → 假冲突,直接采用修改方的结果,无需人工介入。
  • 两边都修改了同一主键、且结果不同 → 真冲突,按 WHEN CONFLICT 裁决:FAIL 中止、SKIP 保留目标、ACCEPT 采用源。

正因为"只有真冲突才需要裁决",即便一次合并涉及上百万行改动,真正需要人工定夺的,往往就是少数真正撞在一起的那些行,其余的由数据库自动合并。

这里有一个特别精巧的细节:后台 compaction 在整理存储时,可能把一行移动到不同的物理位置、但值完全不变。这在底层表现为"删除 + 插入",看起来很像一次修改,容易被误判为冲突。MatrixOne 会识别出"值未变、仅位置改变",将其判为假冲突,从而不会因为一次存储重组就挡掉另一分支对该行的合法更新。这是整个合并过程中唯一需要回读完整行来比对值的情形——好在 compaction 之后才会发生,相当罕见。

无主键时,行无法被唯一标识,MatrixOne 改用多重集计数:统计"完全相同的若干行"在三个版本各有多少条,用计数差判断是哪边改了、是否两边都改。原理一致,只是把"按主键比对"换成了"按数量比对"。


两方合并:为什么你从不需要指定"共同祖先"

细心的你可能注意到:上面的三方合并要用到共同祖先 sn1,但我们在上一篇 DATA BRANCH MERGE 时从未指定过它。

因为 MatrixOne 自己记录了血缘。DATA BRANCH CREATE 在派生分支时就记下了"它从哪张快照分出",所以合并时能自动回溯到共同祖先——你看到的"两方合并",底层其实是一次"自动补齐了共同祖先的三方合并"。

万一血缘断了呢(例如原表及其快照都被删除,LCA 无从定位)?MatrixOne 会退化为全历史比对——从最早可见的时间点开始收集两张表的变化再做聚合。正确性依然有保证,但性能不再等价于有 LCA 的增量快路径:本质上接近于比对两张表的完整历史。所以一个实用建议是:想长期享受快路径,就用 DATA BRANCH CREATE 建分支、并保留好血缘上游的快照,别让 LCA 失联。

这一点也恰好点出了 git4data 与"自己写 SQL 比对两张表"的本质差距:后者每次都要扫描两张全表;而 git4data 在血缘可用时,只读取沿 LCA 到两侧端点之间的那一小部分变更。


数字说话

把原理对回到数字,一切就都说得通了。

在一台 64 核 / 256GB 的机器上、用约 6 亿行的大表(TPC-H 100GB 的 lineitem)实测:

操作git4data 内置等价的纯 SQL 实现
克隆0.2 秒 / 多占 314 KBINSERT … SELECT *:114.6 秒 / 多占 34 GB
Diff(改 100 万行)3.3 秒431 秒
Merge(改 100 万行)16 秒471 秒

内置 diff/merge 比纯 SQL 实现快 100–500 倍——原因正如前面所说:纯 SQL 实现每次都要扫描两张全表,与改动多少无关地恒慢;而内置实现只扫描增量 Δ。

我们自己在一台单机 Docker(4.0.0-rc1)上的实测也复现了同一规律:快照 5–8 毫秒恒定,克隆 6→25 毫秒(随对象数量轻微上升,但始终只是在复制几 MB 的目录),diff/merge 只随改动行数变化。大机器、小机器,同一个道理。


边界:它现在还做不到什么

把引擎盖掀开,也要如实说清它目前还不支持什么(均经实测确认):

  • 目前只支持两方 diff。 通用的三方 diff 在技术上可行(± 号里已含所需信息),但日常的"查看改动"用两方就足够,所以暂未对外暴露。
  • 冲突裁决是行级,而非单元格级。 只要两边都改了同一行,即便改的是不同列,也算冲突。单元格级的自动合并是未来工作。
  • diff/merge 要求 schema 一致。 一旦你 ALTER 改了某张表的结构,它就无法再与另一张做行级 diff/merge——所以若要使用版本控制,应先改 schema、再克隆。
  • 它管理的是结构化的行,而非海量非结构化字节。 后者(如原始图像、视频的内容级版本)仍是 lakeFS 这类工具的主场——git4data 通过 STAGE/datalink 版本化的是文件的"引用",而非字节本身。

把这些边界讲清楚,恰恰是"将版本控制做进数据库内核"这条路最清晰的轮廓。


结语

引擎盖掀开之后,开头那张"反直觉"的表就一点也不反直觉了:

打快照,本质是记录一个时刻并保护当时的对象版本,所以与数据量无关;克隆,只复制对象元数据引用、共享同一批底层对象,所以 6 亿行也只要 0.2 秒;diff/merge,在血缘可用时只读取增量对象 Δ、用带 ± 号的聚合判定真假冲突,所以只随改动行数变化。不可变对象 + 元数据引用 + 沿血缘只读增量——版本控制就是从这三件事里自然生长出来的。

这也解释了一件更大的事:为什么最终是数据库、而非文件版本工具,扛起了"海量数据的版本控制"。因为只有数据库这种"既理解每一行的语义、又能把改动表达成不可变增量"的系统,才能让分支、diff、合并在 TB 级数据上廉价到可以随手就用。

接下来,本系列将转入实践篇:从数据运维(误操作急救、团队协作开发、发布门禁),到 AI 训练(持续学习、SFT 策展、标注协作、RLHF、多模态数据),一路走到开篇就埋下的那条线——让会自我进化的 AI agent,在版本化的数据上安全地探索、评估、合并、回滚。 那才是 git4data 真正想去的地方。

📎 可运行的配套 SQL 见 github.com/matrixorigin/git4data-tutorial。
📎 源码与社区:github.com/matrixorigin/matrixone

U8 API接口开发踩过的坑 阅读详情

相关推荐

宝骏kiwi 630 730 560 E100 E200 E300 310 510 610 330 530维修手册电路图资料线路图接线图更新

2020-2022年宝骏RS-3维修手册和电路图。2020-2022年宝骏RS-3维修手册和电路图。2019-2021年宝骏RC-6维修手册和电路图。2019-2021年宝骏RC-6维修手册和电路图。2019-2020年宝骏RS-5维修手册和电路图。2019-2020年宝骏RS-5维修手册和电路图。2019-2020年宝骏RM-5维修手册和电路图。2019-2020年宝骏RM-5维修手册和电路图。2019-2021年宝骏510维修手册和电路图。2019-2021年宝骏510维修手册和电路图。

weixin_45821055的博客 1774

干货分享 | MatrixOne系统架构

随着数字化转型的深入,数据价值也愈发凸显,数据技术出现了融合的趋势,基于客户的真实痛点,矩阵起源推出了超融合MatrixOne HSTAP数据库。MatrixOne 使数据数据库同时具备 TP、AP和Streaming三种能力,帮助客户彻底打破数据孤岛问题,成为企业智能化核心的数据基础设施。今天的分享将解析新一代超融合异构云原生数据库 MatrixOne 刚刚发布的0.5版本和后续版本的架构设计。

MatrixOrigin的博客 898

Fastwhisper + Pyannote 实现 ASR + 说话者识别

最近在研究ASR相关的业务,也是调研了不少模型,踩了不少坑,ASR这块,目前中文普通话效果最好的应该是阿里的modelscope上的中文模型了,英文的话,还是非whisper莫属了,而且whisper很变态,粤语效果也还不错,因此,如果实际业务中需要涉及到不同的语言,还是更推荐whisper多一点faster-whisper是使用CTranslate2对OpenAI的Whisper模型的重新实现,CTranslate2是一个用于Transformer模型的快速推理引擎。

qq_44193969的博客 1万+

超融合数据库MatrixOne

MatrixOne旨在通过云原生化和存储、计算、事务分离的架构,构建一个强大的HSTAP(Hybrid Streaming Transactional and Analytical Processing)超融合数据引擎。它支持OLTP(在线事务处理)、OLAP(在线分析处理)、流计算等多种业务负载,并兼容公有云、私有云、边缘云等多种部署环境,实现异构基础设施的全面兼容。

xuweilin的博客 840

通用定时器脉冲计数实验(STM32CubeMx配置)

通用定时器脉冲计数实验

a1169511636的博客 5510

qcc51xx如何配置spdif输入

qcc51xx如何配置spdif输入。

Alex_886的博客 1375

部署篇 | MatrixOne与MySQL全面对比

MatrixOne Cloud 是一个全托管云原生数据平台,它提供了 HSTAP 数据库 MatrixOne 的云上服务,极大简化了 MatrixOne 的部署和运维成本。并且,MatrixOne Cloud 所提供的 Serverless 实例支持计算资源的自动弹性伸缩以及按 SQL 用量计费,让我们不需再关注数据库部署运维的复杂性,而可以仅关注业务应用或SQL本身。章节,MatrixOne中的CN节点是无状态的,在K8s中可以根据负载进行任意的弹性扩缩,保证集群持续保持较低的SQL执行耗时。

MatrixOrigin的博客 1266

在 ABAP 平台上搭建 OAuth 2.0 Server:架构、流程、权限与落地实战

摘要:本文为SAP ABAP开发人员提供将ABAP平台配置为OAuth 2.0授权服务器的实战指南。重点介绍两种授权流程(授权码和SAML Bearer)的实现方案,包括核心事务配置(SOAUTH2/SAML2)、授权对象(S_SCOPE)管理以及端点交互规范。通过具体配置清单和三类典型集成场景(第三方Web应用访问OData、企业集成平台调用、BTP应用对接)的落地示例,帮助读者快速构建安全的OAuth 2.0服务架构。文档强调SSL/TLS基础安全、scope最小授权原则以及授权与令牌端点的标准交互模式

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 312

MatrixOne v2.0.0 release note

MatrixOne 本次迭代对系统在生成式AI应用支持、容灾和稳定性方面做了大幅度提升,重点功能包括:支持对外部存储上的数据访问以及对非结构化数据的访问能力,提供了全文检索能力,提升了向量检索的性能、支持快照备份和基于时间点的数据恢复(PiTR)、CDC 和基于日志复制的主备集群容灾能力,并进一步提升了对 MySQL 的兼容性。当数据发生变更时,表级别发布订阅可以将特定表的数据变更实时同步到订阅者,而不暴露其他表的信息,这相较数据库级别的发布订阅,提供了更高的灵活性和控制。开发必须兼顾多租户模型的需求。

MatrixOrigin的博客 649

三峡大学-微机原理与接口技术实验

其中,A15接E1,因此,A15为1,A14A13A12A11A10A9A8A7通过八输入与非门74LS30与E2连接,因此A14A13A12A11A10A9A8A7为11111111,A6A5A4与CBA连接,因此A6A5A4为101,A3A2A1A0不参与译码,因此IO5的地址范围为1111 1111 1101 0000B~1111 1111 1101 1111B,即0FFD0H~0FFDFH。如图1所示,若IO0输出为低电平,则需要E1接高电平,E2接低电平,E3接低电平,CBA的输入为000。

m0_62222486的博客 497

HBase在物流行业的应用:轨迹数据存储

想象一下,每天在全球范围内,数以亿计的物流包裹在各个城市、乡镇间穿梭。每一个包裹从发货人手中出发,经过仓储中心、转运站,最终到达收货人手中,这一路上都留下了它的“足迹”,也就是我们所说的轨迹数据。这些数据就像一个个拼图碎片,完整拼接起来后,能够清晰地呈现出整个物流网络的运行状况。例如,你在网上购买了一件心仪已久的商品,迫不及待地想知道它现在到哪儿了。物流平台实时更新的轨迹信息,让你可以准确了解包裹是在运输途中,还是已经到达附近的站点。

架构师的AI之路,分享AI应用开发架构的学习与实践。 966

MatrixOne从入门到实践01——初识MatrixOne

介绍MatrixOne的各方面

MatrixOrigin的博客 363

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

MatrixOne Git4Data 技术详解(四):数据版本控制全景——MatrixOne、lakeFS、DVC、Neon、Dolt 到底有什么不同

Git4Data 系列(四):画一张数据版本控制的全景地图。'git for data' 这个词被 DVC / Git LFS、lakeFS、Iceberg / Delta + Nessie、Snowflake / Neon、Dolt 一起用,但它们说的并不是同一件事。本文用五个问题立框架,按版本控制所在的层次分成四个种类(每类配一张架构图),再用一张 git 原语完整度矩阵把各家的 git 语义对齐,最后标定 MatrixOne 的准确坐标与诚实边界。

MatrixOrigin的博客 417

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

# MatrixOne Git4Data 技术详解(八)·AI 训练实践篇:从数据进入到模型迭代——Git4Data 能力如何贯穿机器学习全流程

Git4Data 系列(八),AI 训练实践篇开篇:先建立机器学习全流程的坐标系。从数据接入、质量门禁、清洗标注、特征工程、训练/验证/测试集发布、模型评估,到上线监控与反馈重训,逐环节说明 snapshot、branch、diff、merge、cherry-pick、restore 与 PITR 能解决什么、不能解决什么,并以一个持续迭代的风控模型完整串联。配套脚本在 MatrixOne 4.1.0 上实测。

MatrixOrigin的博客 429

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

MatrixOne Git4Data 技术详解(十一)·大模型篇:SFT 数据 curation——可审计、可复现的数据清洗

Git4Data 系列(十一),大模型篇:SFT 的数据量比预训练小好几个数量级,每一次取舍都印在模型行为上。本文用一个对话模型的 SFT 数据池,在零拷贝分支上完整走一遍 curation——精确去重、近重复、质量门、安全、评测去污染、多轮对话完整性六步过滤,每步先计数,DATA BRANCH DIFF 给出这一轮的净变更,再按先登记、后替换、再快照的顺序发布;并对比业内其他做法。SQL 在 MatrixOne 4.1.0 上实测。

MatrixOrigin的博客 358

MatrixOne Git4Data 技术详解(二):从零跑通所有 Git 原语

本文是Git4Data系列第二篇,通过10分钟实操演示如何在MatrixOne数据库上实现Git式数据版本控制。内容包括: 快速安装单机版MatrixOne(兼容MySQL协议) 在百万行订单表上实操Git核心功能: 快照(CREATE SNAPSHOT)与恢复(RESTORE) 克隆(CLONE)与分支(DATA BRANCH CREATE) 差异比对(DATA BRANCH DIFF) 数据合并(MERGE)与拣选(PICK) 所有操作均支持百万级数据量,性能优异 配套完整SQL脚本和GitHub教程仓

MatrixOrigin的博客 257

在数据库里玩“平行宇宙”:MatrixOne Data Branch 让数据也拥有Git 的分支/合并/对比/回滚(含跨集群同步)

这篇文章讲一件事:当数据像代码一样频繁迭代时,数据库内生的“分支工作流”会比备份/复制更可靠、更省钱、更工程化。

MatrixOrigin的博客 1156

MatrixOne Git4Data 技术详解(十二)·大模型篇:RLHF 偏好数据——分歧、裁决与可复现

Git4Data 系列(十二),大模型篇:偏好数据的单位不是行而是对,而且不是采集来的、是从标注投票算出来的二阶数据——RLHF 与 DPO 两条路线共用同一份。本文用 20000 个 prompt 的偏好池,从 63000 条投票推导偏好对,在分支上审计退化对、无共识、偏好环与长度偏置,DIFF 出这一轮的净变更,用分支裁决标注分歧、合并前先把冲突清单物化下来,最后先登记后快照把数据集与奖励模型绑成可复现的一对。SQL 在 MatrixOne 4.1.0 上实测,全部确定性可复现。

MatrixOrigin的博客 432

MatrixOne Git4Data:为机器学习数据管理打造可执行、可审计、可复现的版本链

清洗与标注环节,先打快照,标注员各自开分支,处理重叠标注区冲突,资深评审员挑回争议样本,标注平台与 Git4Data 能力分工明确;训练、验证、测试集发布环节,不仅要冻结数据,还要明确切分成员关系与规则,采用库级快照发布,可复现样本角色,新版本发布前需分别 review 样本内容和切分成员关系;实际管理中存在诸多难题,背后反映出机器学习缺乏作用在数据本身的版本语义,MatrixOne 的 Git4Data 能力可填补这一缺口,本文先建全流程地图,后续深入典型节点。Branch 用于隔离未证明正确的假设;

IT界那些事儿 16

ETL发布门禁:基于Git4Data的Write-Audit-Publish模式实践

在数据工程领域,ETL(提取、转换、加载)是构建数据仓库和数据分析平台的核心技术,负责将原始数据转化为可信、可用的数据资产。其核心原理是通过一系列预定义的转换逻辑与工作流,实现数据的清洗、整合与建模。该技术的核心价值在于确保数据质量、一致性与时效性,为业务决策和数据分析提供可靠基础。典型的应用场景包括报表生成、用户画像构建和机器学习特征工程。然而,传统“写后即走”的ETL发布模式存在直接将未经验证的数据变更推入生产环境的风险。为此,结合**数据版本控制**与**分支隔离**的Write-Audit-Publ

weixin_30265103的博客 369

73.8 亿次 Commit 之后,Agent 改错的数据谁来收拾?

GitHub 73.8亿次提交揭示Agent时代数据管理挑战:高频、并发的自动化写入亟需版本控制。传统数据库难以应对Agent试错需求,而“数据分支”(Data Branch)结合快照、行级Diff与合并机制,实现隔离实验与可追溯变更。MatrixOne等新架构正将Git思想引入数据层,让Agent在安全边界内探索,确保每步改动有记录、可回滚,推动数据工作流迈向可审计、可复现的智能时代。

MatrixOrigin的博客 292

matrixone集群搭建、启停、高可用扩缩容和连接数据库

matrixone数据库安装部署、高可用扩缩容

qyq88888的专栏 3189

MatrixOne从入门到实战04——MatrixOne的连接和建表

前几篇文章,为大家介绍了MatrixOne这个产品,以及编译、部署MatrixOne的服务。本章主要讲述如何使用不同方式连接MatrixOne以及进行表的创建。

MatrixOrigin的博客 1104

DTC2024精彩预告 | MatrixOne:超融合数据库新星崛起,掀起全新数据革命

同时,MatrixOne的技术实力也受到了国际权威机构的认可,获得了ISO体系认证与中国信息通信研究院认可,MatrixOne携手深圳智慧城市大数据中心有限公司联合申报的《基于超融合数据库的一站式交通大数据平台》成功入选信通院2023 大数据“星河(Galaxy)”——数据库优秀案例。这不仅有助于提升矩阵起源的技术创新能力,还可以将最前沿的科技成果应用到 MatrixOne 产品研发中,进而打造出一款划时代的超融合数据库产品,引领业界高端数据库技术的发展方向。作为本次峰会的一大亮点,

MatrixOrigin的博客 1054

从 0 到 100TB,MatrixOne 助您轻松应对

通过云原生相关的开源组件,如 KEDA,可以感知整个集群的负载。MatrixOne 是一款强大的云原生超融合数据库,具备优秀的流式数据写入和加工能力,同时拥有强大的可扩展性,能适应任意规模的负载和数据量。多租户相关能力是MatrixOne产品的一大亮点,通过数据库内部创建新租户,实现数据空间的隔离,便于 SaaS 应用处理多租户需求。对于 AP 相关的大规模查询,如果缓存或 LogTail 中没有所需数据,系统将直接从 S3 读取,由于AP的操作本身就会读较多数据,因此对S3的读取相对是比较友好的。

MatrixOrigin的博客 1100

MatrixOne 实战系列回顾 | 建模与多租户

本次分享主要介绍MatrixOne建模与多租户相关内容。

MatrixOrigin的博客 367
上一篇: 重写组织源代码,我们怎么走向 AI-Native
下一篇: 当简历筛选不再靠“人肉海选”,MOI 如何把招聘初筛变成一条完整智能链路
MatrixOrigin
博客等级 码龄5年 708粉丝 230原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值