国产数据库的四月:市场份额洗牌、新品扎堆与向量引擎入场

2026-05-20 32 预计阅读时间:1 分钟
来源:my.oschina.net AI 摘要 原文链接

免责声明:本文为 AI 摘要整理,建议结合原文阅读。摘要可能省略上下文、版本差异或边界条件,不作为官方说明。

预计阅读时间:9 分钟

Gartner 2025 数据库市场份额报告出炉,中国厂商收入前四锁定阿里云、腾讯云、华为、PingCAP——这不再是"潜力榜",而是实打实的营收排序。与此同时,四月国产数据库新品密集发布:达梦 DM9、PingCAP 平凯数据库云服务、金篆 GoldenDB 向量版……从传统关系型到云原生再到向量检索,国产数据库的战场正在同时向多个方向展开。

营收 TOP4 说明了什么

阿里云和腾讯云靠的是公有云数据库的规模效应——PolarDB、TDSQL 的客户基数和弹性计费模式让营收天然领先。华为的 GaussDB 背后是政企市场的深度绑定。PingCAP 作为唯一一家独立数据库厂商进入前四,靠的是 TiDB 在金融和互联网行业的渗透:杭州银行刚以 1053.75 万元采购了 2 年 TiDB 授权许可,这不是试点,而是生产级承诺。

值得注意的信号:独立厂商能挤进云厂商主导的营收榜,说明"开源内核 + 商业授权"这条路在金融等行业客户中已经站稳。

四月新品扫描

达梦 DM9:老牌厂商的内核升级

达梦一口气发布 DM9 等 4 款新品。DM9 的核心变化集中在分布式能力和兼容性增强——对 Oracle 语法和 PL/SQL 的兼容度进一步拉高,这是政企迁移场景中最硬的刚需。

PingCAP 平凯数据库云服务:TiDB 新内核上云

PingCAP 发布基于 TiDB 新一代内核的平凯数据库云服务。这意味着 TiDB 不再只是"你自己部署的开源分布式数据库",而是有了官方托管的云入口。对中小客户来说,免运维的吸引力很大;对大客户来说,自建集群 + 商业授权仍是主流选择。

金篆 GoldenDB 向量版:分布式数据库 + AI 检索

GoldenDB 向量版是最值得玩味的发布。分布式数据库内核加上向量索引和相似度检索能力,直接瞄准了 RAG(检索增强生成)场景——金融行业做内部知识库问答、合规文档检索,不需要再额外部署一套向量数据库。

实战:用国产数据库搭一个最小 RAG 棎架

向量版数据库的发布让"一库搞定结构化数据 + 向量检索"成为可能。下面用一个最小示例演示:在 TiDB(支持向量列)上存储文档向量并做相似度检索,再配合大模型完成 RAG 问答。

前提:你需要一个 TiDB Serverless 集群(免费 tier 即可),从 tidbcloud.com 注册获取连接串。TiDB 从 v7.5 起支持 VECTOR 列类型。

第一步:建表并写入向量数据

-- 连接到 TiDB Serverless
-- mysql -u <root> -h <host> -P 4000 -p <password>

-- 创建文档表,含向量列(1536 维,匹配 OpenAI text-embedding-ada-002)
CREATE TABLE docs (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255),
    content TEXT,
    embedding VECTOR(1536)
);

-- 插入示例文档(向量值用 JSON 数组表示)
INSERT INTO docs (title, content, embedding) VALUES
('国产数据库市场份额', 'Gartner 2025 报告显示中国数据库厂商收入 TOP4 为阿里云、腾讯云、华为、PingCAP。', '[0.0023, -0.0091, 0.0315, ...]'),
('TiDB 金融场景', '杭州银行采购 TiDB 两年授权许可,金额 1053.75 万元,用于核心交易系统改造。', '[0.0045, 0.0122, -0.0078, ...]'),
('达梦 DM9 发布', '达梦发布 DM9 等 4 款新品,重点增强分布式能力和 Oracle 兼容性。', '[0.0011, -0.0034, 0.0229, ...]');

实际 embedding 值需要调用嵌入模型生成,这里用占位符示意。完整流程见下方 Python 代码。

第二步:向量相似度检索

-- 查询与输入向量最相似的 3 条文档
-- cosine_distance 越小越相似
SELECT id, title, content,
       cosine_distance(embedding, '[0.0030, -0.0080, 0.0280, ...]') AS distance
FROM docs
ORDER BY distance ASC
LIMIT 3;

第三步:Python 端完整 RAG 流程

import os
import mysql.connector
from openai import OpenAI

# ---- 配置 ----
TIDB_HOST = os.getenv("TIDB_HOST", "gateway01.us-east-1.prod.aws.tidbcloud.com")
TIDB_PORT = int(os.getenv("TIDB_PORT", "4000"))
TIDB_USER = os.getenv("TIDB_USER", "your_user.root")
TIDB_PASS = os.getenv("TIDB_PASS", "your_password")
OPENAI_KEY = os.getenv("OPENAI_API_KEY")

client = OpenAI(api_key=OPENAI_KEY)

def get_embedding(text: str) -> list[float]:
    """调用 OpenAI embedding 模型获取向量"""
    resp = client.embeddings.create(
        model="text-embedding-ada-002",
        input=text
    )
    return resp.data[0].embedding

def search_docs(query: str, top_k: int = 3) -> list[dict]:
    """在 TiDB 中做向量相似度检索"""
    query_vec = get_embedding(query)
    vec_str = str(query_vec)  # Python list → JSON 数组字符串

    conn = mysql.connector.connect(
        host=TIDB_HOST, port=TIDB_PORT,
        user=TIDB_USER, password=TIDB_PASS,
        database="test", ssl_ca="/etc/ssl/cert.pem",
        ssl_verify_cert=True
    )
    cursor = conn.cursor(dictionary=True)

    cursor.execute("""
        SELECT id, title, content,
               cosine_distance(embedding, %s) AS distance
        FROM docs
        ORDER BY distance ASC
        LIMIT %s
    """, (vec_str, top_k))

    results = cursor.fetchall()
    cursor.close()
    conn.close()
    return results

def rag_answer(query: str) -> str:
    """RAG:检索相关文档 → 拼接 prompt → 调用大模型生成回答"""
    docs = search_docs(query)
    context = "\n".join(f"- {d['title']}: {d['content']}" for d in docs)

    prompt = f"""基于以下参考资料回答问题,如果资料中没有相关信息,请如实说明。

参考资料:
{context}

问题:{query}
回答:"""

    resp = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": prompt}],
        temperature=0.3
    )
    return resp.choices[0].message.content

# ---- 运行 ----
if __name__ == "__main__":
    question = "国产数据库在金融行业有哪些落地案例?"
    print(rag_answer(question))

运行前需要设置环境变量:

export TIDB_HOST="你的 TiDB Serverless 主机"
export TIDB_USER="你的用户名.root"
export TIDB_PASS="你的密码"
export OPENAI_API_KEY="你的 OpenAI Key"

pip install mysql-connector-python openai
python rag_tidb.py

这个示例的关键点:向量列和业务数据在同一张表里,不需要额外的向量数据库组件。这正是 GoldenDB 向量版和 TiDB VECTOR 类型想要解决的核心问题——减少架构复杂度。

选型判断:什么时候该关注这些新品

场景 优先考虑 原因
金融核心系统改造 TiDB 商业授权 / GoldenDB 杭州银行等已有生产验证,监管合规路径清晰
Oracle 迁移、政企强合规 达梦 DM9 Oracle 兼容度最高,国产资质最全
中小团队、不想运维 平凯数据库云服务 官方托管 TiDB 内核,弹性计费
内部知识库 / RAG GoldenDB 向量版 / TiDB VECTOR 结构化数据 + 向量检索一库搞定

最后提醒两点:一是向量版数据库的检索性能和召回率目前还在成熟期,大规模生产部署前务必做基准测试;二是云服务版本的 SLA 和数据主权条款需要逐条确认,尤其是金融和政务场景。国产数据库的四月很热闹,但选型的冷静不能少。


相关推荐