南大通用自主研发的 GBase Cloud Data Warehouse(简称 GCDW)是一款基于列存储的海量分布式大规模并行处理的多实例弹性云数据仓库。适用于云上和云下环境,为用户提供海量数据的查询分析服务。本文介绍物理机和虚拟机上的使用。
GBase 8a针对group列唯一值多的延迟聚合优化参数
GBase 8a在做非Hash列的group时,默认策略是将各个节点的数据先在本地group后,再将结果发到临时表做二次聚合。此方案在聚合列唯一值少,聚合结果行数相比原始数据行数有明显降低时是非常适合的,但如果聚合结果没有降低,比如1000万行聚合后999万行,汇总到临时表后二次聚合,结果还是在999万行,则第一次的本地聚合就出现了资源浪费。GBase 8a提供了一个可选参数,通过延迟聚合来提升性能。
GBase 8a相同子查询多次使用的优化方法
在GBase 8a中,会将子查询保存到临时表里。 如果多个子查询是完全相同的,则会导致资源浪费。本文提供了CTE和参数共2个可行方案来优化这个场景。
GBase 8a在主副本都故障,且无法修复时的处理方案
GBase 8a是通过副本机制来提供高可用保障,但如果出现主副本数据均损坏且无法修复呢?按标准逻辑,有关的表将无法保障完整性,所有相关表查询将报错。本文提供一种在【允许数据丢失,查询结果不完整的前提下】,对现有表的剩余数据可以查询的方法,以及通过缩容,保证新建的表可以正常使用的方案,以及测试过程。
GBase 8a服务状态主动检测机制介绍
GBase 8a通过gcware集群维护集群状态,包括各个节点服务,数据一致性等。其中主动检查机制是gcware定时扫描各个节点,被动检查是同注册方式由各节点服务上报给gcware。本文介绍gcware主动检查机制。
GBase 8a加载hadoop数据报500 Server Internal error
GBase 8a 的加载支持从hadoop hdfs,官方的hadoop不要求userAgent参数,而某些修改版本做了检查,导致服务器端安全检查报错,出现了空指针导致500错误。 通过设置GBase 8a的_gbase_enable_hdfs_useragent参数可以解决该问题
Go 访问GBase 8a 数据库的一个方法
截至目前(2022-05-26),GBase 8a尚未发布go语言的驱动,本文尝试通过go-sql-driver/mysql驱动来访问GBase 8a数据库。
Go 修改ENV代理GoProxy解决运行官方样例代码无法获得module的问题
按照官方向导的样例代码,运行rsc.io/quote的部分 no required module provides package rsc.io/quote; to add it:,出现了我发找到所需模块mudule的报错 ,从mod tidy输出也是报无法连接 A connection attempt failed because the connected party did not properly respond after a period of time。可以通过修改代理GoProxy来解决。
GBase 8a 集群如何唯一标识一条用户SQL
GBase 8a支持多节点的集群,每个节点都可以连接,每个连接可以发送执行多个SQL, 那如何唯一标识一条用户SQL呢?
GBase 8a集群由于文件系统磁盘检查工具AIDE导致的加载缓慢问题
操作系统的aide工具用于检查磁盘的完整性,如果其检查时间耗费太多的磁盘读取资源,将会影响GBase 8a数据库的性能,典型的影响就是入库速度变慢。