GBase8s分片表操作实践

简介: GBase8s分片表操作实践

Gbase8s 的分片是用来处理数据量非常大的表和索引的技术。分片可以用将大表拆分为小表的方式进行管理,大大提高了gbase8s的大数据处理性能。

“表分片”技术与并行数据查询(PDQ)特征联系在一起使用,这样GBase 8s服务器 可以分配多条线索。从所有数据分片上并行地选取数据。此外,还可以仅仅对包含“目标数据”的数据分片进行扫描。从而大幅度地提高了整个系统效率。


  • 分片是指把一个表的数据分散到多个dbspace中存储。
  • 在逻辑上对外提供一个表的访问接口。
  • 在数据库内部,物理上把大表拆分为多个小表进行管理。


两种分片方法


轮转法


“轮转法分片”这个存放方法采用轮询调度,依次在dbspaces上存储数据库。

特点:

  • 简单,不需要了解数据的分布
  • 把数据均匀地分配到所有分片中
  • 提高查询性能
  • 只能用于表,不能用于索引
  • 不能用于分片忽略以增加性能
    eg:
create table tab_round_robin
(
  id int,
  name varchar(40),
  nation varchar(40),  
  regtime datetime year to second default current year to second not null
) fragment by round robin 
  in datadbs1,datadbs2,datadbs3,datadbs4;

显示的指定索引

create index ix_tab_round_robin_id on tab_round_robin(id) in datadbs1;


基于表达式分片


“基于表达式分片”则根据表中的 一个或多个字段对分片的规则进行定义,一般在预知查询条件时采用这种方式,从而避免查询中对某些分片的扫描。

特点:

  • 需要对数据分布有所了解
  • 为分片忽略和性能提升提供可能
  • 既可以用于表也可以用于索引
  • 可以基于一列或者多列构建表达式
create table tab_expression_based
(
  id int,
  name varchar(40),
  nation varchar(40),  
  regtime datetime year to second default current year to second not null
) fragment by expression 
id < 100 in datadbs1,
id < 200 in datadbs2,
id < 300 in datadbs3,
REMAINDER in datadbs4;


增加dbspaces空间


创建新数据库空间,使用onspaces命令。

onspaces -c -d <dbs_name> -k <page_size(kb)> -p <file_name> -o <offset> -s <file_size(kb)>

以下例子为创建一个临时 dbspace,名为 tempdbs1,大小为 500000,使用裸设备/dev/rdsk/device9,偏移量为 100000:

 onspaces -c -t -d tempdbs -p /dev/rdsk/device9 -o 100000 -s 500000  

1.png


查看空间大小


使用命令onstat -d 查看数据库空间信息。

2.png

number    为表空间唯一标示号
pagesize  数据库空间的页大小
flag 列信息:
Position 1: M 镜像
    N 未镜像
Position 2: X 新镜像
    D Down,不可用chunk
    P 物理恢复完成,等待逻辑恢复
    L 正在逻辑恢复
    R 正在恢复
Position 3: B BLOB空间
    P 物理日志空间
    S 智能大对象空间
    T 临时空间
    U 临时智能大对象空间
    W SDS主节点的临时空间,只在SDS备节点显示
Position 4: B 空间可包含大于2G的chunk
Position 5: A 空间自动扩展

每个数据库空间有一个Chunk文件。Chunk输出信息中有size信息,这个信息是Chunk的页的数据,不是文件的字节大小。要得到Chunk的文件字节大小,需要用这个size乘以Chunk文件对应的数据库空间的pgsize。


查看空间剩余大小

剩余大小就是chunk输出信息中free数据乘以Chunk文件对应的数据库空间的pgsize。


相关文章
|
6月前
|
SQL 数据库 开发工具
实时计算 Flink版产品使用合集之数据库中有新增索引,同步任务没有报错,索引的变动是否有影响
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
3月前
|
SQL 关系型数据库 MySQL
如何快速在表级别做同构或者异构数据库之间的数据迁移/备份
【8月更文挑战第17天】本文介绍在同构与异构数据库间快速迁移/备份表级数据的方法。同构迁移可利用数据库自带工具(如MySQL的`mysqldump`)或管理软件(如phpMyAdmin);异构迁移则推荐使用ETL工具(如Pentaho Data Integration)或数据库复制工具(如SymmetricDS),亦可通过编程方式实现。实施前需测试以确保数据完整准确,并注意处理兼容性问题。
102 4
|
3月前
|
SQL 存储 监控
ADBPG&Greenplum成本优化问题之通过SQL查询找到数据库中所有的复制表如何解决
ADBPG&Greenplum成本优化问题之通过SQL查询找到数据库中所有的复制表如何解决
36 1
|
4月前
|
关系型数据库 分布式数据库 数据库
PolarDB产品使用问题之“主集群和从集群地域映射表”指的是什么
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
PolarDB产品使用问题之“主集群和从集群地域映射表”指的是什么
|
4月前
|
存储 运维 关系型数据库
PolarDB产品使用问题之在删除主节点上的表后尝试查询归档表遇到问题,该如何解决
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
4月前
|
运维 关系型数据库 分布式数据库
PolarDB产品使用问题之将部分表设置为压缩表,是否会对节点的整体性能影响
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
4月前
|
关系型数据库 分布式数据库 数据库
PolarDB产品使用问题之底层是否会自动对数据库表进行分区分表
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
5月前
|
SQL 关系型数据库 Serverless
PolarDB产品使用问题之分区表中,一般建议多少条记录创建一个分区
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
6月前
|
分布式计算 大数据 数据库连接
MaxCompute产品使用合集之怎么将事务表改为普通分区表
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
6月前
|
存储 SQL 关系型数据库
drds逻辑表与物理解析
drds逻辑表与物理解析
105 5