默认分类,运维管理
只是一个默认分类

ALTER TABLE 之 快速变更(Fast alter)

ALTER TABLE 语句更改表的属性但不影响数据时,数据库服务器将使用快速变更算法.
使用ALTER TABLE 语句执行以下操作时数据库服务器使用快速变更算法:

  • 更改下一扩展数据块大小
  • 添加或删除约束
  • 更改表的锁定方式
  • 不修改列类型而更改唯一索引属性

使用快速变更算法时,数据库服务器对表的锁定只保持很短的时间。在某些情况下,数据库服务器锁定系统目录表只是为了更改属性。无论哪种情况,无法查询此表的时间均很短。

ALTER TABLE 之 慢速变更(slow alter)

数据库服务器使用慢速变更算法来处理ALTER TABLE语句时,其他用户可能会长时间无法使用该表。
基于以下原因,慢速变更时表可能不可用:

  • 在ALTER TABLE 操作期间以互斥方式锁定了表
  • 为了将表转换成新的定义而为表制作了副本
  • 在ALTER TABLE 操作期间转换数据行
  • 可以将ALERR TABLE 语句视为长事务,如果超过高水位线LTXHWM阀值时,将出现长事务回滚。

由于数据库服务器复制表数据以将该表转换为新定义,因此慢速变更操作需要的空间至少为原始表大小的两倍与日志空间之和。


阅读全文»

GBase 8s Docker镜像更新

GBase 8s 镜像说明

最后更新:2024-04-07
版本号使用:
v8.8_3503x1
v8.8_3331x12

文件列表

Dockerfile

FROM scratch
ADD v8.8_3503x1_x64.tar.gz /
EXPOSE 9088
CMD /start.sh

注:不同数据库版本的ADD 文件名称不一样。




阅读全文»

GBase 8s内连接和外连接

GBase 8s内连接和外连接

内连接(INNER JOIN)

内连接(INNER JOIN)是最常用的连接类型之一,它根据两个或多个表之间的共同列值来联接这些表。在内连接中,只有在连接的表之间有匹配的值时,才会返回结果。
内加接语法示例:

-- 基中 INNER 关键字 可省略
select * 
from tableft INNER JOIN tabright 
  ON tableft.col1 = tabright.col1;

阅读全文»

Kettle 8.3 资源库(GBase 8s V8.8)表结构

Kettle默认只支持使用mysql/oracle/sqlserver等数据库为资源库,若要使用GBase 8s为资源库,需要从其它资源库迁移相应的结构及数据。
以下为从mysql资源库迁移为GBase 8s资源库的表结构说明,供参考:

r_cluster(集群信息)

序号字段名称字符类型允许空缺省值字段描述
1id_clusterINT8 集群ID
2nameVARCHAR(255) 集群名称
3base_portVARCHAR(255) 端口
4sockets_buffer_sizeVARCHAR(255) 缓冲大小
5sockets_flush_intervalVARCHAR(255) 刷新间隔
6sockets_compressedSMALLINT 是否压缩
7dynamic_clusterSMALLINT 是否动态集群

阅读全文»

Kettle连接到GBase 8s数据库

1,将GBase 8s数据库驱动放到kettle的lib目录下

如下图,在data-integrationlib下添加连接GBase 8s数据库的驱动gbasedbtjdbc.jar(视Server版本,增加匹配的驱动)
01_lib.png


阅读全文»

QT5.12.12通过ODBC连接到GBase 8s数据库(CentOS)

本示例使用的环境如下:

  • 硬件平台:x86_64(amd64)
  • 操作系统:CentOS 7.8 2003
  • 数据库版本(含CSDK):GBase 8s V8.8 3.0.0_1
    为什么使用QT 5.12.10?
  • 该版本包含QODBC。

1,GBase 8s数据库的ODBC安装与配置

1.1,确认操作系统已经安装unixODBC及unixODBC-devel

通过apt查找确认unixODBC及unixODBC-devel已经安装

[root@localhost ~]# rpm -qa unixODBC unixODBC-devel
unixODBC-devel-2.3.1-14.el7.x86_64
unixODBC-2.3.1-14.el7.x86_64

阅读全文»