Base 8a数据库集群的元数据信息主要通过以下四个系统表进行记录和描述:
1. information_schema:该表中存储的是元数据信息,这些信息是通过组织相关对象获得的,不是预先存储的信息。其中的CHARACTER_SETS表提供了实例中可使用的字符集信息,而COLLATIONS表则提供了关于各字符集的对照信息。
2. gbase:该表用于存放一些持久化存储的信息,这些信息存储在GsSYS引擎的表中。主要包括表结构、索引等信息。
3. gclusterdb:该表用于存储需要在集群范围保存的信息,使用的是express引擎。主要包括集群相关的配置信息、节点状态等。
4. performance_schema:该表用于存储运行状态信息,包括数据库性能相关的统计数据、诊断信息等。
此外,还有一个目录导航(Toggle),可以方便地浏览和切换不同的数据库。
总结如下:
- Information_schema:元数据信息,如字符集、对照信息等;
- Gbase:持久化存储信息,如表结构、索引等;
- Gclusterdb:集群范围保存的信息;
- Performance_schema:运行状态信息,如性能统计、诊断信息等。
Base 8a集群提供了多种视图和表来查看和管理集群的资源使用情况、权限信息、会话状态等。以下是一些常用的视图和表:
1. GNODES_RESOURCE_POOL_USAGE:记录所有coordinator节点的资源池实时使用情况,包括等待任务数量,运行任务数量等。
2. GNODES_USER_DISKSPACE_USAGE:记录数据节点的资源池实时使用情况,包括CPU,内存,磁盘的使用信息。
3. GBASE 8a实现用户磁盘空间配额限制。
4. COORDINATORS_RESOURCE_POOL_STATUS:记录集群层的资源池历史使用情况,包括已服务任务数量,任务平均运行时间,任务平均等待时间等。
5. GNODES_RESOURCE_POOL_STATUS:记录数据节点的资源池历史使用情况,包括CPU,内存,磁盘的使用信息。
6. RESOURCE_POOL_EVENTS:记录集群层资源池event信息。
7. COORDINATOR_RESOURCE_POOL_USAGE:记录当前coordinator节点的资源池实时使用情况,包括等待任务数量,运行任务数量等。
8. SCHEMATA:提供当前实例中所有数据库的信息,show databases的结果获取此表。
9. SCHEMA_PRIVILEGES:数据库权限表,给出了有关数据库权限的信息。
10. SESSION_STATUS:当前session的状态信息。
11. SESSION_VARIABLES:当前session的变量名及变量值。
12. STATISTICS:提供了关于表索引的信息,show index from schemaname.tablename的结果取于此。
13. GBase 8a集群查看表索引。
14. TABLES:提供关于数据库中表的信息(含视图),详细描述了某张表属于哪个库,表类型,表引擎,创建时间等,show tables from schemaname的结果取于此。
15. TABLE_CONSTRAINTS:描述了存在约束的表,以及表的约束类型。
16. TABLE_PRIVILEGES:表权限表。
17. TRIGGERS:提供了关于触发程序的信息,必须有super权限才能查看该表。GBase 8a目前版本不支持触发器。
18. USER_PRIVILEGES:用户权限表,给出了关于全程权限的信息。
19. LOAD_STATUS:加载状态信息。
20. LOAD_TRACE:记录当前cooridnator节点的加载错误日志信息。
21. CLUSTER_LOAD_TRACE:集群加载跟踪信息。
以下是重构后的内容:
记录所有coordinator节点的加载错误日志信息
```python
LOAD_ERROR_LOGS
```
记录当前coordinator节点的加载结果信息
```python
LOAD_RESULT
```
GBase 8a集群通过SQL查询加载历史记录日志
```sql
SELECT * FROM CLUSTER_LOAD_LOG
```
记录所有cooridnator节点的加载结果信息
```python
CLUSTER_LOAD_RESULT
```
GBase 8a集群通过SQL查询加载历史记录日志
```sql
SELECT * FROM CLUSTER_LOAD_LOG
```
提供关于数据库中的视图的信息,需要有show views权限,否则无法查看视图信息
```sql
SHOW VIEWS;
```
VC(Virtual Cluster)相关信息
```sql
VC;
```
CACHES信息
```python
CACHES
```
PRIORITIES状态显示(与cgroup、优先级队列有关)
```python
PRIORITIES;
```
TABLE_LOCKS用于显示当前表锁的使用情况
```python
TABLE_LOCKS;
```
内存中各个堆的信息
```python
MEMORY_HEAP_INFO;
```
CACHE_ACCESS_INFOselect/insert/update操作对内存的访问情况,delete/show操作表中值不改变,gbased重启表中值归零
```sql
CACHE_ACCESS_INFO;
```
CLUSTER_TABLES提供所有分片占用的磁盘空间信息
```sql
CLUSTER_TABLES;
```
CLUSTER_TABLE_SEGMENTS提供每个分片的数据占用磁盘空间信息
```sql
CLUSTER_TABLE_SEGMENTS;
```
KAFKA_CONSUMER_STATUS存储的信息为事务型consumer task的运行状态
```python
KAFKA_CONSUMER_STATUS;
```
KAFKA_CONSUMER_EFFICIENCY存储的信息为事务型consumer task的运行效率,包含了各个环节的耗时统计
```python
KAFKA_CONSUMER_EFFICIENCY;
```
KAFKA_LOADER_CONSUMER_STATUS存储的信息为加载型consumer task的运行状态
```python
KAFKA_LOADER_CONSUMER_STATUS;
```