GBase 8a V95与V86压缩策略类比

引言

大部分应用中性能的瓶颈是磁盘 IO,所以新型数据库的设计都以降低磁盘 IO 为主要设计目标。压缩可减少 I/O 的时间,提升性能,8a 也不例外。压缩是提高性能的主要技术之一,8a 并行执行器已经能够从上层并行调度解压,因此使解压的适用性得到了很大的提升,很多场景下(尤其是针对超大数据量的场景),使用压缩数据的方式都可以获得比不压缩更好的性能。

压缩方式

【86 版本】

gbase_compression_num_method=<num_method>

gbase_compression_str_method=<str_method>

表级压缩方式:COMPRESS(<num_method>,<str_method>)

列级 int 型压缩方式选项:0,1,5

列级 varchar 型压缩方式选项:0,3,5

表级组合压缩方式为:00、13、55

【95 版本】

gbase_compress_method=<’method’>

gbase_compress_level=<level>

表级压缩方式:COMPRESS(<’method’>,<level>)

method 指定压缩算法,不设置时 show variables 显示“NO Setting”。可设置的值

如下,值不区分大小写:

Nozip:没有压缩

HighZ:高压缩比

RapidZ:快速压缩

NewRapidZ:

STDZ:

level指定压缩级别,0~9,1 压缩比最低,压缩/解压缩速度最快,9 反之。不设置时show variables 显示为 0。默认级别为 0,针对不同的原型算法有不同的选取。

【86 版本&95 版本】映射关系

95 版本的压缩算法向上兼容 86 版本使用方式,当 gbase_compression_num_method和gbase_compression_str_method参数与gbase_compress_method和gbase_compress_level 同时存在时,以 gbase_compress_method 和gbase_compress_level 参数配置为准。映射关系如下:

新版压缩算法

旧版压缩算法

gbase_compress_method=’NoZip’

gbase_compress_level=0

gbase_compression_str_method=0

gbase_compression_num_method=0

gbase_compress_method=’RapidZ’

gbase_compress_level=0

gbase_compression_str_method=5

gbase_compression_num_method=5

gbase_compress_method=’HighZ’

gbase_compress_level=0

gbase_compression_str_method=3

gbase_compression_num_method=1

COMPRESS(’NoZip’,0)

COMPRESS(0,0)

COMPRESS(’RapidZ’,0)

COMPRESS(5,5)

COMPRESS(’HighZ’,0)

COMPRESS(1,3)

选取原则

31 压缩优势是压缩比高,比 55 压缩高一倍压缩比,但是执行效率一般,如果对存储空间要求高,对性能不太要求时,建议使用 31 压缩;如果对存储空间要求不高,对性能要求高时,建议使用 55 压缩。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
gbase 8a 是一款国产的高性能关系型数据库管理系统,与MySQL是两款不同的数据库软件,因此不能直接使用MySQL的驱动来连接gbase 8a。 不过,gbase 8a提供了自己的ODBC驱动,可以使用ODBC的方式来连接gbase 8a数据库。在Java中,我们可以使用JDBC-ODBC桥来连接gbase 8a数据库,具体步骤如下: 1. 安装gbase 8a ODBC驱动,可以从gbase官网下载或联系gbase技术支持获取下载链接。 2. 配置ODBC数据源,在控制面板中打开“ODBC数据源”窗口,添加一个gbase的数据源,填写相应的连接信息。 3. 在Java中使用JDBC-ODBC桥来连接gbase 8a数据库,示例代码如下: ``` String url = "jdbc:odbc:yourdataresource"; // 数据源名称 String user = "username"; // 数据库用户名 String password = "password"; // 数据库密码 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn = DriverManager.getConnection(url, user, password); ``` 在上述代码中,"jdbc:odbc:yourdataresource" 中的 "yourdataresource" 是ODBC数据源的名称,user 和 password 分别是gbase 8a数据库的用户名和密码。通过 Class.forName() 加载 JDBC-ODBC桥的驱动程序,在 DriverManager.getConnection() 方法中传入连接字符串、用户名和密码来获取连接对象。 4. 进行数据库操作,使用JDBC标准的API进行数据库操作,例如: ``` Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM tableName"); while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); //处理查询结果 } rs.close(); stmt.close(); conn.close(); ``` 以上就是使用JDBC-ODBC桥连接gbase 8a数据库的基本步骤,希望对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值