星核|Youngs DB

交易与分析,一个引擎全扛住

亿级数据,一条 SQL 的事

星核 Youngs DB 是云策数据自主研发的企业级数据库引擎,同时承载 OLTP 交易OLAP 分析两类负载:交易侧亿级单表毫秒响应、断电不丢一笔账; 分析侧完整分析型 SQL 直接跑在业务数据上——少买一套数仓、少养一条同步链路、少等一晚 T+1。 存量 SQL 近零改写迁入,单 jar 部署免专职 DBA,自主内核适配信创环境。

youngsdb — 现场演示 · 单表 1.2 亿行 完整演示 ↓
$ mysql -h demo.youngsdata.com -P 6033
✔ 已连接 星核 Youngs DB · MySQL 协议兼容
 
youngsdb> SELECT COUNT(*) FROM orders;
120,000,000 -- 单表 1.2 亿行
youngsdb>
亿级
单表数据 · 毫秒响应
2
类负载一库承载 · 交易 + 分析
4
大 SQL 方言零改写迁移
10ms
断电最大数据损失窗口 · 可调至 0
0
外部组件依赖 · 单 jar 部署
1000+
企业客户服务经验
WHY YOUNGS DB

按你的选型场景,看它替你省掉什么

数据库选型的账,从来不只是一份性能报告——还有要买几套系统、养几组人、担几种风险

作为交易库(OLTP)
对标 MySQL / PostgreSQL 的量级,多一层账本级安全
  • 亿级单表点查毫秒级,写入吞吐实测领先 MongoDB 2.6~4.5×
  • 断电重启事务要么整个生效、要么整个没发生,绝无"半笔账"
  • 误删误改可回退:任意时间点恢复 + 每行增改删自动留痕
  • 并发写冲突引擎自动收敛,业务代码不用写重试
作为分析引擎(OLAP)
分析型 SQL 能力完整,直接跑在业务库上
  • 窗口函数 / 多维聚合 / 递归 CTE / PIVOT 等高阶分析开箱即用
  • 亿级明细聚合一趟扫描出结果,永不 OOM(内存不够自动落盘续跑)
  • 报表、看板、BI 工具经标准 JDBC / MySQL 协议直连
  • 分析查的是实时业务数据,不是昨晚同步的副本
一库两用(交易 + 分析)
最常见也最贵的那段需求,一套系统解决
  • 省一套分析库的采购与机器,省一条 ETL 同步链路的搭建与值守
  • 行存扛交易、列存布局按表可选扛分析,数据免搬运
  • 业务高峰与报表高峰互不拖累:分析内存有预算上限,绝不拖垮交易
  • 诚实边界:PB 级离线数仓仍建议专用列存集群——星核解决的是"业务库上的分析"这段
CORE CAPABILITIES

一个引擎,覆盖数据承载的八种关键能力

每一项都对应选型清单上的一个问题:性能够不够、数据丢不丢、迁移贵不贵、要不要专人养

全平台部署
一份 jar,跑遍主流平台
  • Linux / macOS / Windows / 鸿蒙
  • Docker 容器化交付,适配信创环境
  • 零外部组件依赖,开箱即用
  • 客户端驱动全平台通用
轻快 SDK
为高并发接入而生
  • 自研二进制协议,长连接高吞吐
  • 传输自动压缩,同样带宽装下更多数据
  • 对象 API 与 JDBC 双接入
  • 兼容 MySQL 协议,生态工具直连
完整 SQL 能力
存量 SQL 零改写迁移
  • MySQL / PG / Oracle / SQL Server 四方言
  • 140+ 内置函数 · 窗口 · CTE
  • UDF 插件热加载扩展
  • 执行计划透明可查
行列混合存储
一份数据,事务分析兼顾
  • 行存 + 列存,引擎可插拔
  • 数据自动紧凑编码,磁盘占用更省
  • 分表分片规则自定义
  • 紧凑存储,空间占用更小
极速索引
亿级数据,毫秒定位
  • 主键 / 唯一 / 普通 / 组合索引
  • 点查范围查双结构加速
  • 在线建索引,业务无感
  • 索引文件占用小于同类
事务保障
写入原子,并发无忧
  • 单表 / 多表事务支持
  • 高并发写入合并落盘,越并发越能打
  • 并发改同一行引擎自动处理,业务不写重试
  • 读己写一致性语义
数据安全
断电不丢,损坏可查
  • 断电最多丢 10ms 内的写入,可调至零丢失
  • 行级校验,破损自动发现
  • 任意时间点恢复(PITR)
  • 历史表留痕,行行有账
免运维体系
无需专业 DBA 值守
  • 自带监控面板与告警
  • CPU / 内存 / 句柄自动调度
  • 日志体系完善,问题可溯
  • 备份恢复工具内置
MySQL PostgreSQL Oracle SQL Server 星核 SQL ENGINE 零改写执行
SQL CAPABILITY

存量 SQL 搬过来,几乎不用改一行

MySQL、PostgreSQL、Oracle、SQL Server 的函数与语法糖在引擎内核层统一,只有真正语义冲突处才按方言分流——迁移从"改写工程"降级为"回归验证"。

  • 四大方言内核级兼容(MySQL / PostgreSQL / Oracle / SQL Server),140+ 内置函数、窗口 / CTE / 多维聚合开箱即用
  • 复杂 SQL 自动优化:自关联、多次引用同一张表,底层只扫描一次
  • EXPLAIN 执行计划透明,与真实执行共用同一套决策,不说谎
  • UDF 插件热加载:jar 丢进目录即注册,自定义函数无需重启
一次查询 主键 / 唯一点查 · 哈希 O(1) 命中即达,与表大小无关 范围 / 有序扫 · LSM 顺序读 按索引序流式扫描,LIMIT 早停
STORAGE & INDEX

亿级数据里找一行,快到感觉不到它在找

点查和范围扫由两套结构分工:哈希索引负责主键/唯一点查,均摊 O(1);自研 LSM 有序索引负责范围与排序,按序流式扫描、LIMIT 早停,不必物化全部候选。

  • 字段三种编码:变长 / 定长 / 最小长度,定长模式行号 O(1) 直达
  • 主键 / 唯一 / 普通 / 组合索引,唯一索引槽位仅 16 字节,占用更小
  • 历史表自动留痕,每行的增改删全链可回溯,保留天数按表可配
一份数据 orders · 1.2 亿行 行存布局 · 事务与点查 整行读写 · 点查 / 事务毫秒响应 列存布局 · 聚合与分析 只读所需列 · 聚合一趟扫描
HYBRID STORAGE

事务要快、分析要广,一份数据两头都接得住

同一个引擎里,交易表走行存、分析表可选列存布局,一条建表语句的事。对选型者意味着三笔省掉的账:不用为分析再买一套数仓不用搭 ETL 同步链路并派人值守分析结果基于实时数据而非 T+1 副本

  • 行存面向事务:整行读写、高频点查毫秒级响应,写入日志先行不丢数据
  • 列存面向分析:聚合统计只读所需列,亿级扫描量大幅下降
  • 存储引擎按表可插拔:建表时按负载形态选择布局,TP 与 AP 免搬运、免同步
  • 紧凑编码不补零:三种字段编码按数据特征选择,同样的数据占更少的盘
原生 SDK JDBC 驱动 MySQL 协议 星核引擎 xtcp · 6121 PostgreSQL 协议 · 扩展中
CONNECT

老系统新系统,都有顺手的那一种接法

一份服务同时开放多种接入方式:追求性能用原生 SDK,接 BI 工具用标准 JDBC,复用现有 MySQL 生态用兼容协议免驱动直连。

  • 自研二进制协议,长连接高吞吐,原生编解码加速 + 智能字节压缩
  • 标准 JDBC 驱动,一个 jar 接入 DataGrip / DBeaver 等主流工具
  • MySQL 协议兼容,现有客户端与生态工具无需改造直接连
  • 对象 API 类 MongoDB 风格读写,免拼 SQL;更多协议持续扩展
COMPARISON

与主流数据库的能力对比

不只是替换,更是把多个组件才能拼出的能力收进一个引擎

能力项 星核 Youngs DB MySQL PostgreSQL TiDB MongoDB
四大 SQL 方言零改写
原生 + MySQL 协议双通道接入
行列混合存储
内置历史表 · 变更自动留痕
任意时间点恢复(PITR)
UDF 插件热加载
自带监控面板与告警
单 jar 轻量部署 · 零外部组件
嵌入式运行模式
完整支持 部分支持 / 需额外组件 不支持
BENCHMARKS

同一环境、同一数据,用数字说话

交易写入、分析扫描、条件查询三类负载,与 MongoDB 8.0 同机同数据实测;测试口径与已知偏差全部公开——选型要的是可复核的数字,不是宣传页的数字

65.5 万行/s
全表扫描峰值吞吐
22.4 万行/s
批量写入峰值吞吐
7.0×
161 列全字段扫描领先 MongoDB
4.5×
单线程写入领先 MongoDB
OLTP 写入 · 批量吞吐并发爬坡
实测数据

155 列宽表 · 100 万行/档 · 1000 行/批 · 原生写法 · rows/s 越高越好

单线程 4.5×
Youngs DB
8.4 万/s
MongoDB
1.8 万/s
4 线程 3.6×
Youngs DB
21.6 万/s
MongoDB
6.0 万/s
8 线程 · 峰值 2.6×
Youngs DB
22.4 万/s
MongoDB
8.6 万/s

单线程即达对手 8 线程的吞吐(8.4 万 vs 8.6 万);三档共 300 轮写入无一次 1 秒以上停顿

OLAP 扫描 · 全表聚合耗时(表越宽差距越大)
实测数据

100 万行 × 161 列 · rowrec 懒解码 · 耗时越短越好

投影 5 列 1.9×
Youngs DB
1.53 s
MongoDB
2.96 s
投影 100 列 3.5×
Youngs DB
2.84 s
MongoDB
10.0 s
161 列全字段 7.0×
Youngs DB
1.80 s
MongoDB
12.6 s

Youngs DB 从 5 列到全字段耗时几乎不变(1.53 → 1.80 s),MongoDB 增至 12.6 秒

混合负载 · 条件查询耗时 实测数据

条件命中 12.5%(125,036 行)· rowrec · 耗时越短越好

投影 5 列 2.7×
Youngs DB
623 ms
MongoDB
1.65 s
投影 50 列 3.4×
Youngs DB
624 ms
MongoDB
2.13 s
161 列全字段 5.3×
Youngs DB
557 ms
MongoDB
2.96 s

耗时对投影列数几乎不敏感(546~693 ms);条件 COUNT 同样领先 2.8×(495 ms vs 1,369 ms)

测试口径:AMD EPYC 32C / 61G · DB 与压测端单机同置 · MongoDB v8.0.26 · 100 万行宽表(155 / 161 列)· 1000 行/批。 写入三档背靠背对照、两侧错误数均为 0 且已在服务端核实落盘。

DATA SAFETY

DBA 最怕的三件事,我们提前想好了

写入 写入日志 数据 10ms 刷盘窗口 · 重启自动回放
断电了怎么办?

每一笔写入先进写入日志再落数据,组提交技术兼顾吞吐与安全; 默认 10ms 刷盘窗口,重启自动回放恢复,进程崩溃数据零丢失。

逐行校验码 ✕ 校验失败 损坏行自动发现 · 行级隔离 · 整表可用
文件坏了怎么办?

数据逐行携带校验码,磁盘静默损坏自动发现、绝不静默错答; 支持行级隔离坏数据,一行受损不影响整表可用。

← 回到误删前任意时刻 快照 10:00 误删 10:27
误删了怎么办?

内建任意时间点恢复(PITR):在线快照不停写,按需回到误操作前的任意时刻, 支持全库或单表粒度还原;配合历史表,每行数据的来龙去脉都有账可查。

OBSERVABILITY

数据库跑得怎么样,一屏看清

内置监控面板 + Prometheus 指标出口 + 容器健康探针,不必再外接一套监控系统

youngsdb · monitor — ydb-test healthzlivezreadyz
QPS
148,200
▲ 实时吞吐
P99 延迟
1.9ms
点查命中索引
活跃连接
96/128
独占连接池
磁盘水位
63%
预留 1 GiB 守护
吞吐 · 近 60 秒 /api/metrics
-60s-40s-20snow
慢 SQL Top /api/slow
SELECT … FROM orders WHERE city = ? ORDER BY created_at42 ms
SELECT city, SUM(pay_amount) FROM orders GROUP BY city8 ms
EXPLAIN SELECT * FROM orders WHERE user_id = ?2 ms
UPDATE orders SET status = ? WHERE order_id = ?1 ms

内置监控面板示意 · 实时指标 / 慢 SQL / 表拓扑 / 告警 / 健康探针,同时以 Prometheus 文本格式对外暴露,可直接接入 Grafana

CUSTOMERS

在真实生产环境中被验证

头部客户案例 · 连续服役一年以上
美团

互联网大厂的用户行为分析,是业内公认最「吃」数据库的负载之一:十亿级用户数据、 明细只增不减、单日数亿行涌入,漏斗、路径类分析还要在全量明细上直接聚合。 美团在此类场景中引入 Youngs DB:每日 7 张数仓宽表定时同步入库, 事件、漏斗、路径三类分析模型例行运行,支撑 PV / UV 实验观测、行为归因与全链路数据看板, 分析结果直接驱动业务决策。

  • 全量明细上直接分析:事件 / 漏斗 / 路径直接跑在行为明细上,分析口径灵活可追溯
  • 数据持续膨胀不失稳:一年多累计承载近 100 TB,例行分析持续按时产出
  • 例行与即席并存:例行化看板与实验异动的即席排查共用同一引擎,无需再搬一份数据
每日定时同步的 7 张数仓表
  • 用户行为事实表fact_inp_user_action_xxx
  • 流量 PV / MV 宽表fact_flow_pvmv_wide_xxx
  • 订单主题表trip_order_topic_xxx
  • 交易关键事件事实表fact_inp_user_xxx_key_event
  • 交易关键事件 PV 明细表fact_inp_user_xxx_key_event_pv
  • 用户实验关系表user_experiment_relation_xxx
  • 业务应用层汇总表app_xxx
十亿级
用户数据总规模
3 亿+ 行
单日新增数据行
近 200 GB
日均新增数据量
近 100 TB
累计承载数据总量
1000+

企业客户服务经验,沉淀为可复用的产品能力与交付方法

分钟级 → 秒级

客户核心数据查询耗时的典型改善,数据追溯效率提升约 3–5 倍

多行业生产环境验证
互联网 共享出行 高科技制造 金融 电商 SaaS 本地生活
想看你的数据场景跑起来什么样?

带上你的表结构和查询模式,我们用真实规模的数据现场演示

预约现场演示
DEPLOY & CONNECT

怎么部署、怎么接入,都很简单

部署形态

单进程单 jar,不引入任何外部依赖组件;基于 JVM 运行,x86 / ARM 芯片架构无要求,十分钟完成部署

Linux macOS Windows 鸿蒙 Docker 容器化 信创环境

接入方式

多种接入方式,老系统新系统都有顺手的那一种

  • 原生 SDK自研二进制协议,性能最优,Java 应用首选
  • JDBC标准驱动,一个 jar 接入 DataGrip / DBeaver 等 BI 工具
  • MySQL 协议现有 MySQL 客户端与生态工具免驱动直连
  • 对象 API类 MongoDB 风格的对象读写接口,免拼 SQL
  • 更多协议PostgreSQL 等更多协议兼容,持续扩展中
LIVE SQL DEMO

SQL 现场演示:真实电商库的五个瞬间

不放跑分图,直接上真数据——每一条都在演示库上实测跑通,现场可亲手执行

演示库:店铺 / 商品 / 用户 / 订单 / 订单明细五张关联表,订单表数千万行、可现场灌至亿级
DEMO 01
亿级点查,毫秒应答
千万行订单里找一行、手机号一键定位用户;执行计划全程透明,快得明明白白。
-- 主键点查:一击即中
SELECT order_no, user_id, status, pay_amount, created_at
FROM orders WHERE order_id = 81250319;

-- 唯一索引:手机号定位用户
SELECT id, username, city, level FROM users WHERE phone = '13000812503';

-- 为什么快?执行计划直接告诉你
EXPLAIN SELECT * FROM orders WHERE user_id = 812503;
⚡ 0.6~2 ms实测命中索引直达(EXPLAIN 给出 POINT_INDEXED),与表大小无关
DEMO 02
多表关联,一查到底
订单 → 明细 → 店铺三表关联出一笔订单的完整画像;头表金额与明细求和现场对账,数据可信一验便知。
-- 一笔订单的完整画像:三表关联
SELECT o.order_no, s.name AS 店铺, i.product_name, i.quantity, i.amount
FROM   orders o
JOIN   order_items i ON i.user_id = o.user_id AND i.order_no = o.order_no
JOIN   shops s ON s.id = o.shop_id
WHERE  o.user_id = 812503 AND o.order_no = 'ORD81250319';

-- 头表金额 = 明细求和,现场对账
SELECT o.order_no, o.total_amount, SUM(i.amount) AS 明细合计
FROM   orders o JOIN order_items i
       ON i.user_id = o.user_id AND i.order_no = o.order_no
WHERE  o.user_id = 812503
GROUP BY o.order_no, o.total_amount;
131 ms关联条件带上分片键,两侧索引各自裁剪,千万级关联不搬数据
DEMO 03
分析 SQL 不搬家:大促曲线与榜单
按日聚合一眼看到 6·18 峰值;窗口函数出类目榜单——分析型 SQL 无需搬去数仓,业务库直接跑。
-- 大促识别:6·18 当天订单量为平日 9 倍
SELECT DATE_FORMAT(created_at, '%Y-%m-%d') AS 日期, COUNT(*) AS 订单量
FROM   orders
WHERE  created_at >= TIMESTAMP '2026-06-14 00:00:00'
  AND  created_at <  TIMESTAMP '2026-06-22 00:00:00'
GROUP BY DATE_FORMAT(created_at, '%Y-%m-%d') ORDER BY 日期;

-- 窗口函数:每个类目价格最高的 3 款商品
SELECT category, name, price FROM (
  SELECT category, name, price,
         ROW_NUMBER() OVER (PARTITION BY category ORDER BY price DESC) AS rn
  FROM products
) t WHERE rn <= 3;
9 倍峰值6·18 当天 23.4 万单 vs 平日 2.6 万;窗口榜单 44 ms 出结果
DEMO 04
时光回溯,每行有账
商品表开启历史留痕后,每天的变更自动记成天表账本——改价、上下架,出了争议翻账即可。
-- 商品表开启历史留痕,保留 15 天
ALTER TABLE products HISTORY RETAIN 15;

-- 每天的变更账本一目了然
SHOW HISTORY FOR products;
--   PRODUCTS_HIST_20260801 | 10000 行 | 保留 15 天

-- 回看单个商品的完整变更轨迹(__HIS 自动跨天合并)
SELECT name, price, updated_at FROM products__HIS WHERE id = 8888;
I → U → D新增/修改/删除全链自动留痕,保留天数按表可配
DEMO 05
三种方言,同一引擎,零改写直跑
同一个业务问题,MySQL、PostgreSQL、Oracle 三种写法原样执行——存量系统迁移,从「改写工程」变成「回归验证」。
MYSQL 写法
SELECT DATE_FORMAT(created_at,'%Y-%m') AS 月份,
       COUNT(*) AS 单量,
       COUNT(DISTINCT city) AS 城市数,
       IFNULL(SUM(pay_amount),0) AS 成交额
FROM `orders`
WHERE created_at >= TIMESTAMP '2026-01-01 00:00:00'
  AND created_at <  TIMESTAMP '2026-07-01 00:00:00'
GROUP BY DATE_FORMAT(created_at,'%Y-%m')
ORDER BY 月份;
POSTGRESQL 写法
SELECT TO_CHAR(created_at,'YYYY-MM') AS 月份,
       COUNT(*) AS 单量,
       COUNT(DISTINCT city) AS 城市数,
       COALESCE(SUM(pay_amount),0) AS 成交额
FROM orders
WHERE created_at >= TIMESTAMP '2026-01-01 00:00:00'
  AND created_at <  TIMESTAMP '2026-07-01 00:00:00'
GROUP BY TO_CHAR(created_at,'YYYY-MM')
ORDER BY 月份;
ORACLE 写法
SELECT TO_CHAR(created_at,'YYYY-MM') AS 月份,
       COUNT(*) AS 单量,
       COUNT(DISTINCT city) AS 城市数,
       NVL(SUM(pay_amount),0) AS 成交额
FROM orders
WHERE created_at >= TIMESTAMP '2026-01-01 00:00:00'
  AND created_at <  TIMESTAMP '2026-07-01 00:00:00'
GROUP BY TO_CHAR(created_at,'YYYY-MM')
ORDER BY 月份;
0 改写三种写法同一问题、同一答案(半年 527 万单 / 20 城市 / 近百亿成交额):日期格式化与空值兜底各按方言,内核层同义映射

亿级数据的现场演示,眼见为实

预约 30 分钟,我们在 1.2 亿行真实数据上,把上面的每一条 SQL 跑给你看