[GBase 8s 教程]GBase 8s 常用函数、表达式

聚集函数

函数返回类型描述示例结果
COUNT(*)数值返回行数COUNT(*)100
COUNT(UNIQUE col)
COUNT(DISTINCT col)
数值返回去重后的行数(忽略NULL行)COUNT(UNIQUE col1)50
COUNT(col)数值返回行数COUNT(col1)100
AVG(col/expr)数值返回表达式或指定的列的数值平均值AVG(col1)64
AVG(UNIQUE col)
AVG(DISTINCT col)
数值返回指定的列中唯一值的数值平均值AVG(UNIQUE col1)61
MAX(col/expr)数值返回指定的列或表达式中的最大值MAX(col1)100
MIN(col/expr)数值返回指定的列或表达式中的最小值MIN(col1)10
SUM(col/expr)数值返回指定的列或表达式中的数值总和SUM(col1)5050
RANGE(col)数值返回数值列表达式参数的值的范围RANGE(col1)99
STDEV(col)数值计算数据集的标准差STDEV(col1)200
VARIANCE(col)数值总体方差的估计值,即标准差的平方VARIANCE(col1)40000


阅读全文»

GBase 8s PSM简单配置

  PSM(Primary Storage Manager)是仅有基本的备份/恢复功能(相对于Netbackup等来说),当前的版本中也仅支持文件系统设备。

以下是简单的配置步骤:
准备工作,使用gbasedbt用户,准备足够大的文件系统(目录)用于存储备份。

1,修改ONCONFIG配置文件参数

BAR_BSALIB_PATH为$GBASEDBTDIR/lib/libbsapsm.so,该参数是动态参数,可使用onmode -wf修改

[gbasedbt@bd ~]$ onmode -wf BAR_BSALIB_PATH=$GBASEDBTDIR/lib/libbsapsm.so
Value of BAR_BSALIB_PATH has been changed to /opt/gbase/lib/libbsapsm.so.

修改ALARMPROGRAM为$GBASEDBTDIR/etc/log_full.sh,该配置参数启用逻辑日志备份onbar -b -l
该参数在GBase 8s中也是动态参数,可使用onmode -wf修改

[gbasedbt@bd ~]$ onmode -wf ALARMPROGRAM=$GBASEDBTDIR/etc/log_full.sh
Value of ALARMPROGRAM has been changed to /opt/gbase/etc/log_full.sh.

修改LTAPEDEV为非/dev/null,启动逻辑日志备份,而不是丢弃逻辑日志备份。

[gbasedbt@bd ~]$ onmode -wf LTAPEDEV=/opt/gbase/backups/logs
Value of LTAPEDEV has been changed to /opt/gbase/backups/logs.


阅读全文»

GBase 8s存储过程

  存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。
存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。
存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。

优点

存储过程可封装,并隐藏复杂的商业逻辑。
存储过程可以回传值,并可以接受参数。
存储过程无法使用 SELECT 指令来运行,因为它是子程序,与查看表,数据表或用户定义函数不同。
存储过程可以用在数据检验,强制实行商业逻辑等。






阅读全文»

Mybatis操作GBase 8s数据库示例

  这个例子将创建一个简单的 Java 项目结构,并演示如何使用 Mybatis 进行GBase 8s数据库的数据处理工作(插入,选择,更新和删除),以及分页显示。

使用到的工具及组件包括:

Eclipse
JDK-1.8
Mybatis-3.4.5
GBase 8s 数据库及JDBC驱动2.0.1a2_2

最终的项目目录结构

项目结构图1.png




阅读全文»

Hibernate操作GBase 8s数据库示例

  这个例子将创建一个简单的 Java 项目结构,并演示如何使用 Hibernate 进行GBase 8s数据库的数据处理工作(插入,选择,更新和删除),以及分页显示。

使用到的工具及组件包括:

Eclipse
JDK-1.8
hibernate-5.3.12 及方言包
Hibernate-5.3.12 及对应的GBase 8s Dialect
GBase 8s 数据库及JDBC驱动2.0.1a2_2

最终的项目目录结构

项目结构图.png





阅读全文»

GBase 8s存储过程通过table(set)实现投影列绑定变量

  从Oracle迁移到GBase 8s数据库时,存储过程中有使用游标绑定投影列的语法:

open cursor1 for 'select ? as username, ? usertext from dual' using p_username, p_usertext;

  这个语法(投影列绑定变量)在GBase 8s中暂时还是不支持的。由于使用的是dual表,实际上只是需要返回这两个值到游标上。我们可以通过如下改造,达到类似的效果。示例存储过程如下:

阅读全文»

GBase 8s数据库安装常见问题解析

  GBase 8s v8.7 数据库建议安装在RHEL7或者CentOS7或者类似内核的Linux发布版本中。以下是安装过程中常见的一些问题:

1,执行ids_install安装时,报“The version file is not exist.”

解析:操作系统确少必要的unzip工具,需要安装unzip。CentOS系统中可通过yum install unzip安装。
如果安装目录下的隐藏文件 .gbase.properties 缺失,也会出现此问题。重新解压缩安装包后,再次安装。

2,执行ids_install安装时,报“No Java virtual machine could be found from your PATH environment variable. You must install a VM prior to running this program.”

解析:提示信息为无Java虚拟机,按照提示安装JRE/JDK。支持的JRE/JDK版本为1.6及以上,如CentOS自带的java-1.8.0-openjdk。


阅读全文»

B+ 索引的特点和优缺点

特点:

1、索引的高度相对较低
2、索引本身可以存储列值
3、索引本身有序

优点:

1、便于快速查询,提高数据访问的效率

缺点:

1、索引的使用容易形成热块竞争
2、会表开销---通过ROWID来找到对应的数据行
3、数据更新或插入带来的相关开销,包括叶子分裂等
4、创建索引的开销:锁表和排序