在GBase 8a中,会将子查询保存到临时表里。 如果多个子查询是完全相同的,则会导致资源浪费。本文提供了CTE和参数共2个可行方案来优化这个场景。
作者: laozizhu
南大通用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数据库的性能,典型的影响就是入库速度变慢。
南大通用GBase 8a在硬件原因导致主副本都损坏用户允许数据部分丢失时的处理方案
南大通用GBase 8a是将数据分散到多台服务器来实现MPP架构,每个分片数据通过副本来保证高可用,最高允许2个副本。如果因意外,比如多台服务器RAID卡故障,服务器损毁等肯定无法恢复数据的情况,导致分片所在的所有主副本都不可用,此时虽然其它没有损坏的服务器数据是正常的,但在集群层因部分分片数据丢失而无法查询(完整性)。 如果用户允许这部分无法恢复的数据丢失,其它数据希望能继续查询,新服务器能替换现有故障节点,新的表能继续提供正常服务时,本文提供了一个处理方案。
南大通用GBase 8a集群列文件和列名顺序的对照关系
南大通用GBase 8a集群里默认按照建表语句的字段先后顺序,在磁盘上生成文件名递增的类似C00000.seg数据文件。但当表的列出现删除,新增后,列的顺序与磁盘文件名的顺序将不再保障对应。本文介绍如何找到某一个列的数据文件的方法。