云数据库介绍
CloudBase 云数据库是为开发者提供的完整数据管理解决方案,包含集合管理和智能数据模型两大核心功能,让您专注于业务逻辑而非底层数据操作。
🎯 核心价值
- 🚀 零运维:Serverless 架构,开通即用,按需付费
- 🔧 多选择:集合管理、文档型数据模型、MySQL 型数据模型、自有数据库,满足不同场景
- 📊 智能化:数据模型提供自动校验、关联关系、AI 分析
- 🎛️ 可视化:内置 CMS 管理界面,支持非技术人员操作
📄 集合管理:灵活的数据存储
什么是集合管理?
集合管理是 CloudBase 提供的基础数据存储服务,基于 FlexDB 文档数据库,为开发者提供灵活的 JSON 文档存储能力。
🎯 核心特点
特点 | 说明 | 适用场景 |
---|---|---|
📄 JSON 文档存储 | 支持任意结构的 JSON 数据 | 灵活的数据结构需求 |
🚀 快速上手 | 无需预定义数据结构 | 快速原型开发 |
⚡ 高性能 | 基于 NoSQL 架构,读写性能优异 | 高并发场景 |
🔄 事务支持 | 支持多文档事务操作 | 数据一致性要求 |
🛠️ 原生操作 | 直接进行 CRUD 操作 | 简单数据管理 |
📋 创建方式
方式1: 小程序IDE端
方式2: 云开发平台
⚠️ 使用注意事项
方面 | 说明 | 影响 |
---|---|---|
数据校验 | 不提供自动数据校验 | 需要手动编写校验逻辑 |
系统字段 | 不自动添加系统字段 | 需要手动管理时间戳、用户信息等 |
管理后台 | 无内置管理界面 | 需要自行开发数据管理功能 |
关联查询 | 不支持跨集合关联 | 复杂查询需要应用层处理 |
🗄️ 数据模型:智能数据管理
什么是数据模型?
数据模型是构建在云数据库之上的智能数据抽象层,就像为您的数据定制的"智能管家",提供比集合管理更高级的数据管理能力。
🎯 核心能力
能力 | 说明 | 价值 |
---|---|---|
📋 可视化定义 | 通过界面定义数据结构、字段类型和关系 | 降低开发门槛,提升效率 |
🛡️ 自动校验 | 确保数据准确性,防止错误数据入库 | 保证数据质量,减少 Bug |
🔗 关联管理 | 自动处理数据间的复杂关系 | 简化复杂业务逻辑 |
📱 多端 SDK | 一次定义,自动生成小程序/Web/云函数 SDK | 统一开发体验,减少重复工作 |
🎛️ 内置 CMS | 开箱即用的数据管理后台 | 非技术人员也能管理数据 |
🤖 AI 分析 | 智能挖掘数据价值 | 数据驱动决策 |
⚙️ 系统字段 | 自动管理数据标识、时间戳、用户信息等 | 减少样板代码,专注业务 |
📊 数据模型类型
CloudBase 提供 文档型、MySQL 型 两种数据模型,同时支持接入 自有 MySQL 数据库:
类型 | 底层存储 | 特点 | 适用场景 |
---|---|---|---|
📄 文档型 | FlexDB | • JSON 文档存储 • 灵活的数据结构 • 自动创建对应集合 | • 内容管理 • 用户数据 • 快速开发 |
🗃️ MySQL 型 | MySQL | • 关系型数据库 • 事务支持 • SQL 查询 | • 复杂业务逻辑 • 事务处理 • 数据分析 |
🔌 自有 MySQL | 用户 MySQL | • 连接现有数据库 • 无需数据迁移 • 保持现有投资 | • 企业数字化转型 • 混合云架构 • 渐进式上云 |
⚙️ 智能系统字段管理
操作数据模型时,系统会自动添加以下系统字段,并在数据操作时自动维护:
系统字段 | 描述 | 自动更新时机 |
---|---|---|
_id | 数据唯一标识符 | 创建时自动生成 |
createdAt | 创建时间戳 | 创建时自动生成 |
updatedAt | 更新时间戳 | 每次更新时自动更新 |
_openid | 用户标识(小程序) | 用户端操作时自动生成 |
owner | 数据所有者 | 创建时自动设置 |
createBy | 创建者标识 | 创建时自动设置 |
updateBy | 最后修改者 | 每次更新时自动更新 |
💡 开发优势:开发者无需手动管理这些字段,系统自动处理数据的生命周期管理,让您专注于业务逻辑实现。
🔗 文档型数据模型与集合管理的关系
📋 数据存储关系
当您创建文档型数据模型时,系统会:
- 自动创建对应的集合:数据模型和集合管理共享同一张数据表
- 双重访问方式:可以通过数据模型或集合管理两种方式查看和操作数据
- 数据同步:两种方式操作的是同一份数据,实时同步
🔍 操作方式对比
操作方式 | 数据校验 | 系统字段 | 数据格式要求 | 适用场景 |
---|---|---|---|---|
📊 数据模型操作 | ✅ 自动校验 | ✅ 自动添加 | 必须符合模型定义 | 业务数据操作 |
📁 集合管理操作 | ❌ 无校验 | ❌ 不添加 | 任意 JSON 格式 | 灵活数据操作 |
💡 实际应用示例
假设您创建了一个名为 users
的文档型数据模型:
通过数据模型新增数据:
{
"name": "张三",
"email": "zhangsan@example.com",
"age": 25
}
系统自动添加的完整数据:
{
"_id": "64f1a2b3c4d5e6f7g8h9i0j1",
"name": "张三",
"email": "zhangsan@example.com",
"age": 25,
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z",
"_openid": "user123",
"owner": "user123",
"createBy": "user123",
"updateBy": "user123"
}
通过集合管理新增数据:
{
"name": "李四",
"email": "invalid-email", // 不会校验邮箱格式
"age": "二十五" // 不会校验数据类型
}
实际存储的数据:
{
"_id": "64f1a2b3c4d5e6f7g8h9i0j2",
"name": "李四",
"email": "invalid-email",
"age": "二十五",
"_openid": "qwBZDg3Hp-LzPOemuWMAaA"
// 没有系统字段
}
📊 功能特性全面对比
� 核心功能对比
特性 | 集合管理 | 文档型数据模型 | MySQL 型数据模型 | 自有 MySQL |
---|---|---|---|---|
数据格式 | JSON 文档 | JSON 文档 + 结构化 | 关系型表结构 | 关系型表结构 |
数据校验 | ❌ 手动校验 | ✅ 自动校验 | ✅ 自动校验 | ✅ 自动校验 |
系统字段 | ❌ 手动管理 | ✅ 自动管理 | ✅ 自动管理 | ✅ 自动管理 |
管理后台 | ❌ 需要开发 | ✅ 开箱即用 | ✅ 开箱即用 | ✅ 开箱即用 |
关联查询 | ❌ 不支持 | ✅ 支持 | ✅ 支持 | ✅ 支持 |
事务支持 | ✅ 支持 | ❌ 不支持 | ✅ 支持 | ✅ 支持 |
SQL 查询 | ❌ 不支持 | ❌ 不支持 | ✅ 支持 | ✅ 支持 |
AI 分析 | ❌ 不支持 | ✅ 支持 | ✅ 支持 | ✅ 支持 |
🎯 适用场景对比
数据库类型 | 最佳场景 | 优势 | 限制 |
---|---|---|---|
集合管理 | • 快速原型开发 • 简单数据存储 • 学习和测试 | • 上手简单 • 灵活性高 • 无结构限制 | • 缺乏数据校验 • 无关联查询 • 需手动管理 |
文档型数据模型 | • 内容管理系统 • 用户数据存储 • 快速业务开发 | • 自动校验 • 智能管理 • 开发效率高 | • 无事务支持 • 复杂查询受限 |
MySQL 型数据模型 | • 复杂业务逻辑 • 财务系统 • 数据分析 | • 事务支持 • SQL 查询 • 数据一致性 | • 结构相对固定 • 学习成本高 |
自有 MySQL | • 企业数字化转型 • 混合云架构 • 现有系统升级 | • 无需迁移 • 保持投资 • 渐进式上云 | • 需要运维 • 网络依赖 |
🚀 开发效率对比
功能 | 集合管理 | 文档型数据模型 | MySQL 型数据模型 |
---|---|---|---|
数据校验 | 手动编写 | 自动生成 | 自动生成 |
系统字段 | 手动维护 | 自动管理 | 自动管理 |
管理后台 | 需要开发 | 开箱即用 | 开箱即用 |
多端支持 | 分别开发 | 统一 SDK | 统一 SDK |
AI 分析 | 需要集成 | 内置功能 | 内置功能 |
🎯 选择决策指南
🤔 集合管理 vs 文档型数据模型
很多开发者会疑惑:既然文档型数据模型会自动创建集合,我应该选择哪个?
📊 选择建议
使用场景 | 推荐方案 | 原因 |
---|---|---|
🏗️ 正式业务开发 | 文档型数据模型 | • 数据校验保证质量 • 系统字段自动管理 • 内置管理后台 • 多端 SDK 支持 |
🧪 快速原型验证 | 集合管理 | • 无结构限制 • 快速上手 • 灵活调整 |
🔧 数据修复/维护 | 集合管理 | • 绕过数据校验 • 直接操作数据 • 灵活处理异常数据 |
📊 数据分析/导入 | 集合管理 | • 支持任意格式 • 批量操作方便 |
💡 最佳实践
- 开发阶段:使用集合管理快速验证数据结构
- 正式开发:创建文档型数据模型,享受智能化能力
- 数据维护:必要时通过集合管理进行灵活操作
- 混合使用:同一张表可以同时通过两种方式访问
📋 按项目类型选择
项目类型 | 推荐方案 | 核心原因 | 典型场景 |
---|---|---|---|
🚀 新项目快速开发 | 文档型数据模型 | • 开发效率高 • 灵活的数据结构 • 自动化程度高 | • 小程序应用 • 内容管理系统 • 用户社区 |
🏢 企业级业务系统 | MySQL 型数据模型 | • 事务支持完善 • 标准 SQL 查询 • 数据一致性强 | • ERP 系统 • 财务管理 • 订单处理 |
🔄 现有系统升级 | 自有 MySQL | • 无需数据迁移 • 保持现有投资 • 渐进式改造 | • 传统系统上云 • 混合云架构 • 数字化转型 |
🧪 学习和原型 | 集合管理 | • 上手简单 • 无结构限制 • 快速验证想法 | • 技术学习 • 概念验证 • 快速原型 |
🎯 按团队能力选择
团队特点 | 推荐方案 | 选择理由 |
---|---|---|
前端开发者 | 文档型数据模型 | JSON 格式熟悉,学习成本低 |
全栈开发者 | MySQL 型数据模型 | 充分利用 SQL 能力,处理复杂业务 |
企业开发团队 | 自有 MySQL | 利用现有数据库经验和基础设施 |
初学者 | 集合管理 | 概念简单,快速上手 |
🔄 迁移路径建议
从集合管理升级到数据模型
集合管理 → 文档型数据模型
✅ 优势:保持数据结构灵活性,获得智能化能力
⚠️ 注意:需要重新设计数据结构和校验规则
从文档型升级到 MySQL 型
文档型 → MySQL 型数据模型
✅ 优势:获得事务支持和 SQL 查询能力
⚠️ 注意:需要重新设计关系型数据结构
从自有数据库到云数据库
自有 MySQL → MySQL 型数据模型
✅ 优势:享受云数据库的智能化能力
⚠️ 注意:需要数据迁移和应用改造
🎬 立即开始
选择您的起点:
- 🚀 我要快速开始 → 数据模型快速开始
- 🔍 我要了解更多 → 数据操作 SDK 选择
- ⚙️ 我要深入学习 → 数据权限管理
开启您的云数据库之旅! 🎉