数据库模式设计概述
本篇文章简要概述了 MatrixOne 的数据库模式。本篇概述主要介绍 MatrixOne 数据库相关术语和后续的数据读写示例。
关键术语 - 数据库模式
数据库模式 (Schema):本篇文章所提到的数据库模式等同于逻辑对象数据库,与 MySQL 一样,不做区分。
数据库 Database
MatrixOne 数据库或 MatrixOne Database,为表的集合。
你可以使用 SHOW DATABASES;
查看 MatrixOne 所包含的默认数据库。你也可以使用 CREATE DATABASE database_name;
创建一个新的数据库。
表 Table
MatrixOne 所指的表或 Table,从属于 MatrixOne 的某个数据库。
表包含数据行。每行数据中的每个值都属于一个特定的列。每列都只允许单一数据类型的数据值。
索引 Index
索引是一种数据结构,用于快速查找数据库表格中的数据。它可以看作是一本目录,包含有关表格中各行数据的指针,使得查询可以更快速地定位到满足特定条件的数据。
数据库中常用的索引类型包括主键索引、次级索引等。其中,,唯一索引用于保证特定列或列组合的唯一性,普通索引用于提高查询性能,全文索引则用于在文本数据中进行全文检索。
索引有两种常见的类型,分别为:
- Primary Key:主键索引,即标识在主键列上的索引,主键索引用于唯一标识表格中的每一行数据。
- Secondary Index:次级索引,即在非主键上标识的索引,次级索引也称为非聚集索引(non-clustered index),用于提高查询性能和加速数据检索。
其他对象
MatrixOne 支持一些和表同级的对象:
- 视图:视图是一张虚拟表,该虚拟表的结构由创建视图时的 SELECT 语句定义,MatrixOne 暂不支持物化视图。
- 临时表:临时表是数据不持久化的表。
访问控制
MatrixOne 支持基于用户或角色的访问控制。你可以通过角色或直接指向用户,从而授予用户查看、修改或删除数据对象和数据模式的权限。
更多信息,参见 MatrixOne 中的权限控制。
对象大小限制
标识符长度限制
对象 | 限制 |
---|---|
数据库名称 | 64 字符 |
表名称 | 64 字符 |
列名称 | 64 字符 |
视图名称 | 64 字符 |
单个表内限制
对象 | 限制 |
---|---|
列数 | 默认为 1017,最大可调至 4096 |
分区数 | 8192 |
单行大小 | 默认为 6MB |
单行内单列大小 | 6MB |
数据类型限制
更多关于数据类型的参考文档,参见数据类型。
行数
MatrixOne 可通过增加集群的节点数来支持任意数量的行。