数据库模式设计概述

本篇文章简要概述了 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 可通过增加集群的节点数来支持任意数量的行。