数据库模式

本页概述了Hubble中的数据库模式。

数据库架构对象

以下部分简要概述了构成Hubble中数据库模式的逻辑对象。

数据库

数据库对象构成了Hubble命名层次结构的第一层。

所有Hubble集群都包含一个名为defaultdb的默认数据库,但建议创建自己的数据库。

有关创建数据库的指导,请参阅创建数据库。

模式

模式构成命名层次结构的第二层。每个模式都属于一个数据库。模式包含表和其他对象,如视图和序列。

有关创建用户定义模式的指南,请参阅创建用户定义模式。

表属于命名层次结构的第三层和最低层。每个表都可以属于一个模式。

表包含数据行。一行数据中的每个值都属于一个特定的列。每列允许单一数据类型的数据值。可以使用列级约束进一步限定列,或使用表达式进行计算。

有关定义表格的指南,请参阅表的创建。

索引

索引是单个表中行的副本,按列或列集排序。给定特定列的值,Hubble查询使用索引更有效地在表中查找数据。每个索引都属于一个表。

有关定义二级索引的指南,请参阅二级索引。

专门索引

Hubble支持一些特殊类型的索引,旨在提高特定用例中的查询性能。包括:

  • 索引行的子集
  • 索引JSON和数组数据
  • 索引表达式

其他对象

Hubble在命名层次结构的第三层支持其他几个对象,包括可重用视图、序列和临时对象。

视图

视图是存储的和命名的选择查询。

序列

序列创建并存储顺序数据。

临时对象

临时对象是未存储到持久内存中的对象,例如表、视图或序列。

控制对对象的访问

Hubble支持基于用户和基于角色的访问控制。通过角色或直接分配,可以授予用户查看、修改和删除数据库架构对象所需的权限。

默认情况下,创建对象的用户是该对象的所有者。对象所有者拥有查看、修改或删除该对象及其中存储的数据所需的所有权限。

有关所有权、特权和授权的更多信息,请参阅授权。

对象大小和缩放

Hubble不会对大多数数据库对象施加硬性限制。

硬限制

下表列出了Hubble施加的特定限制。

目的范围说明
角色名称63字节
用户名63字节这些等同于角色名称。
标识符长度128字节此限制并未强制执行,但建议保持在这个限制内

行数

Hubble可以通过添加额外的节点和存储来支持任意数量的行。

表和其他模式对象的数量

当扩展到大量表时,要了解:

  • 增加RAM可能会对集群可以支持的这些对象的数量产生最大的影响,而增加节点的数量不会产生实质性影响。
  • 集群上的数据库或模式数量对其可支持的表总数的影响最小。