本页概述了Hubble中的数据库模式。
以下部分简要概述了构成Hubble中数据库模式的逻辑对象。
数据库对象构成了Hubble命名层次结构的第一层。
所有Hubble集群都包含一个名为defaultdb
的默认数据库,但建议创建自己的数据库。
有关创建数据库的指导,请参阅创建数据库。
模式构成命名层次结构的第二层。每个模式都属于一个数据库。模式包含表和其他对象,如视图和序列。
有关创建用户定义模式的指南,请参阅创建用户定义模式。
表属于命名层次结构的第三层和最低层。每个表都可以属于一个模式。
表包含数据行。一行数据中的每个值都属于一个特定的列。每列允许单一数据类型的数据值。可以使用列级约束进一步限定列,或使用表达式进行计算。
有关定义表格的指南,请参阅表的创建。
索引是单个表中行的副本,按列或列集排序。给定特定列的值,Hubble查询使用索引更有效地在表中查找数据。每个索引都属于一个表。
有关定义二级索引的指南,请参阅二级索引。
专门索引
Hubble支持一些特殊类型的索引,旨在提高特定用例中的查询性能。包括:
JSON
和数组数据Hubble在命名层次结构的第三层支持其他几个对象,包括可重用视图、序列和临时对象。
视图
视图是存储的和命名的选择查询。
序列
序列创建并存储顺序数据。
临时对象
临时对象是未存储到持久内存中的对象,例如表、视图或序列。
Hubble支持基于用户和基于角色的访问控制。通过角色或直接分配,可以授予用户查看、修改和删除数据库架构对象所需的权限。
默认情况下,创建对象的用户是该对象的所有者。对象所有者拥有查看、修改或删除该对象及其中存储的数据所需的所有权限。
有关所有权、特权和授权的更多信息,请参阅授权。
Hubble不会对大多数数据库对象施加硬性限制。
下表列出了Hubble施加的特定限制。
目的 | 范围 | 说明 |
---|---|---|
角色名称 | 63字节 | |
用户名 | 63字节 | 这些等同于角色名称。 |
标识符长度 | 128字节 | 此限制并未强制执行,但建议保持在这个限制内 |
Hubble可以通过添加额外的节点和存储来支持任意数量的行。
当扩展到大量表时,要了解: