自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 收藏
  • 关注

原创 GBase 8c 分布式高可用

在部署上,DN节点每个高可用组采用主从备份的方式,可以部署单主、一主一从以及一主多从的部署方式均可,主从之间可以配置为同步的备份方式也可以配置为异步的备份方式,也可以在一个高可用组内同时存在同步和异步的节点,一般同机房同城的节点之间采用同步的备份方式,异地的节点之间采用异步的备份方式。在部署上,CN多个节点完全对等的部署方式,每个节点在同一时间对外都提供相同的数据库视图,所以我们的CN节点高可用可以根据实际的业务需求,部署1个或多个都可以,多个CN节点可以部署在同机房、同城、异地都可以。

2022-10-28 15:50:14 1413 1

原创 GBase 8c的两阶段提交

两阶段提交协议之所以能够保证分布式事务原子性的关键在于:一旦准备阶段执行成功,那么提交需要的所有信息都完成持久化写入磁盘,即使后续提交阶段某个DN发生执行错误,该DN也可以再次从持久化的提交信息中尝试提交,直至提交成功。GBase 8c的跨节点的分布式事务是通过GTM的严格的两阶段提交的跨节点的分布式事务。在数据提交的时候,CN先向每个DN节点发送prepare状态,DN节点返回prepare ok状态后,CN再发送commit状态,最后DN节点返回commit ok状态后才算一次提交完成。

2022-10-28 14:18:34 267

原创 GBase 8c 存储技术---内存引擎(三)

内存引擎作为在GBase 8c中与传统基于磁盘的行存储、列存储并存的一种高性能存储引擎,基于全内存态数据存储,为GBase 8c提供了高吞吐的实时数据处理分析能力及极低的事务处理时延,在不同业务负载场景下可以达到其他引擎事务处理能力的3~10倍。内存引擎之所以有较强的事务处理能力,并不单是因为其基于内存而非磁盘所带来的性能提升,而更多是因为其全面地利用了内存中可以实现的无锁化的数据及索引结构、高效的数据管控、基于 NUMA 架构的内存管控、优化的数据处理算法及事务管理机制。同时支持同步和异步日志记录选项。

2022-10-28 11:43:37 1394

原创 GBase 8c 存储技术---列存储引擎(二)

此类场景下,行存储以行作为操作单位,会引入与业务目标数据无关的数据列的读取与缓存,造成了大量IO 的浪费,性能较差。列存储引擎的存储基本单位是 CU(Compression Unit,压缩单元),即表中一列的一部分数据组成的压缩数据块。行存储引擎中是以行作为单位来管理,而当使用列存储时,整个表整体按照不同列划分为若干个 CU,划分方式如下图所示。为了管理表对应的CU,与执行器层进行对接来提供各种功能,列存储引擎使用了CUDesc(压缩单元描述符)表来记录一个列存储表中CU 对应的元信息。

2022-10-28 11:31:40 818

原创 GBase 8c 存储技术---行存储引擎(一)

GBase 8c行存储引擎采用原位更新(in-place update)设计,支持 MVCC(Multi- Version Concurrency Control,多版本并发控制),同时支持本地存储和存储与计算分离的部署方式,支持存储层异步回放日志等。行存储引擎的特点是支持高并发读写,时延小,适合 OLTP交易类业务场景。注:数据页面缓存池中缓存数据页面,在数据页面中存放元组以及元组的历史版本并集中管理,使用 Vacuum(垃圾清理)线程进行定期的空间回收。

2022-10-28 11:24:34 465

原创 GBase 8c 自动分区管理

分区自动管理每隔period的时间就会自动创建分区,每次创建一个或多个时间范围为period的新分区,以推进最大的分区边界时间,保证其大于nowTime+30*period。这些时间相关的数据导入分区表时,需要保证分区表要有对应时间的分区,由于普通的分区表不会自动创建新的分区和删除过期分区,所以维护人员需要定期创建新分区和删除过期分区,提高了运维成本。分区自动管理每隔period的时间就会遍历检测所有分区,并删除其中的过期分区,如果所有的分区都是过期分区,则保留一个分区,并truncate该表。

2022-10-28 09:29:24 1192

原创 GBase 8s兼容Oracle语法测试(一)

验证数据库是否兼容Oracle序列:支持创建序列、查询序列、调用序列、修改序列、删除序列等基本功能,并要求并发执行时序列无重复,支持序列缓存和排序。

2022-10-25 16:31:54 489

原创 GBase 8c索引类型

B-tree索引适合比较查询和范围查询,当查询条件使用(>,=,=,

2022-10-25 14:23:56 498

原创 GBase 8c 锁机制

自旋锁主要用于加锁时间非常短的场合,比如修改标志或读取标志字段,在几十个指令(CPU原子指令)之内。GBase 8c锁分为三种:自旋锁(spinlock)、轻量级锁(Light Weight Lock/LWLock)和常规锁。常规锁主要用于业务访问的数据库对象加锁。常规锁的加锁遵守数据库的两阶段加锁协议,即访问过程中加锁,事务提交时释放锁。轻量级锁主要用于内部临界区操作比较久的场合,加锁和解锁的操作可以跨越函数,但使用后要立即释放。一般情况下,锁的使用和争抢会成为制约性能的重要因素。

2022-10-24 17:59:45 436

原创 GBase8c内核架构(一)-- 计算层

GBase 8c的跨节点的分布式事务是通过GTM的严格的两阶段提交的跨节点的分布式事务。用来记录事务执行的状态以及数据变化的过程,包括事务提交日志(CLOG)、事务提交序列日志(CSNLOG)以及事务日志(XLOG)。XLOG是数据的redo日志,用于恢复及持久化。GBase8c 系统中,事务执行读流程结合各事务提交的CSN序列号,采用了多版本并发控制机制,实现了元组的读和写互不阻塞。事务系统的中枢,它的实现是一个有限循环状态机,通过接受外部系统的命令并根据当前事务所处的状态决定事务的下一步执行过程。

2022-10-24 09:59:05 464 1

原创 GBase 8c 函数和操作符 - 位串函数和操作符

如果超过180次,需拆分为多个连续连接的字符串,在它们之间再执行连接操作。例如:str1||str2||str3||str4 拆分为 (str1||str2)||(str3||str4)。&,|和#的位串操作数必须等长。描述:位串之间如果不一致进行“或”操作。只是转换为“bit”的意思是转换成bit(1),因此只会转换成整数的最低位。描述:位串之间进行“与”操作。描述:位串之间进行“或”操作。描述:位串之间进行“非”操作。描述:位串之间进行连接。描述:位串进行左移操作。描述:位串进行右移操作。

2022-09-30 09:36:25 132

原创 GBase 8c 函数和操作符 - 字符处理函数和操作符 之 U-Z

描述:把字符串转化为大写。返回值类型:varchar。

2022-09-30 09:35:39 112

原创 GBase 8c 函数和操作符 - 字符处理函数和操作符 之 O-T

SQL语法兼容A和B的情况下,n选项在GUC参数behavior_compat_options的值包含aformat_regexp_match时,表示 . 能够匹配'\n' 字符,flags中没有指定n时,默认不能匹配'\n'字符;SQL语法兼容A和B的情况下,n选项在GUC参数behavior_compat_options值包含aformat_regexp_match时,表示 . 能够匹配 '\n' 字符,flags中没有指定n时,默认.不能匹配 '\n' 字符;匹配这两个标记之间的模式的文本将被返回。

2022-09-30 09:34:54 904

原创 GBase 8c 函数和操作符 - 字符处理函数和操作符 之 H-N

描述:以sort_method指定的排序方式返回字符串在该排序模式下的编码值,该编 码值可用于排序,其决定了string在这种排序模式下的先后位置。描述:从字符串string的position(缺省时为1)所指的位置开始查找并返回第occurrence(缺省时为1)次出现子串substring的位置的值。描述:在string的左侧添上一系列的repeat_string(缺省为空白)来组成一个总长度为n的新字符串。描述:将字符串中的每个单词的首字母转化为大写,其他字母转化为小写。

2022-09-30 09:33:27 153

原创 GBase 8c 函数和操作符 - 字符处理函数和操作符 之 A-G

GBase 8c目前支持多种类型的数据库,目前有4种,分别是A类型,B类型,C类型以PG类型。所以,当使用A类型的数据库时,假如上述字符操作函数中有空字符串作为参数,会出现没有输出的情况。GBase 8c提供的字符处理函数和操作符,主要用于字符串与字符串、字符串与非字符串之间的连接,以及字符串的模式匹配操作。这是因为内核在调用相应的函数进行处理前,会判断所输入的参数中是否含有NULL,假如有,则不会调用相应的函数,因此会没有输出。因此,对于多字节编码的字符集,LENGTHB函数返回的长度可能大于n。

2022-09-30 09:32:24 210

原创 GBase 8c 数据类型-账本数据库使用的数据类型

HASH32数据类型用来在账本数据库中存储全局hash摘要或者历史表校验hash,在获 得长度为32个字符串的十六进制字符串的hash序列后,系统将调用hash32in函数将该 序列转换到一个包含16个无符号整形元素的数组中。HASH16数据类型用来在账本数据库中存储行级或表级hash摘要,在获得长度为16个字符串的十六进制字符串的hash序列后,系统将调用hash16in函数将该序列转换为一个无符号64位整数存储进HASH16类型变量中。以包含16个的无符号整形元素数的组存储。以无符号64位整数存储。

2022-09-30 09:30:05 85

原创 GBase 8c 函数和操作符-比较操作符

比较操作符可以用于所有相关的数据类型。所有比较操作符都是双目操作符,返回布尔类型数值。当输入的数据不同且无法隐式转换时,比较操作将会失败。例如,1

2022-09-30 09:29:08 150

原创 GBase 8c 函数和操作符-逻辑操作符

常用的逻辑操作符有AND、OR和NOT。运算结果可能为:TRUE、FALSE和NULL,其中NULL代表未知。运算优先级顺序为:NOT>AND>OR。运算规则参见表,表中的a和b代表逻辑表达式。操作符AND和OR具有交换性,即交换左右两个操作数,不影响其结果。

2022-09-30 09:28:06 113

原创 GBase 8a MPP Cluster 硬件规划参考

在不考虑计算类型的情况下,业界通常采用每CPU核心管理4GB到16GB内存,按照每CPU核心配备16GB内存计算。8a自动评估内存,dc_heap用途是缓存数据(DC),如dc_heap不够用时,会向操作系统申请内存dc_heap_malloc。总数据量:[当前数据量 + 预计每日增长数据量 * (365 * 未来使用年限)* (预计数据备份分数 + 1)] / 3。冷热数据按经验预计估计*:2,查询数据量为 dc_heap/0.2最佳。配置可比数据节点较低,建议CPU和内存一致,硬盘容量可比数据节点小。

2022-09-19 11:40:28 401

原创 GBase 8c 开发接口

GBase 8c 接口驱动可以有效实现对上层应用请求的负载进行均衡,应用调用接口驱动配置多个集群节点的 IP,接口驱动的内部进行连接的负载均衡。

2022-09-05 10:23:49 144

转载 gbase8a如何在繁忙的情况下修复gbase.table_distribution

gbase.table_distribution在gbase 8a中是最重要的系统表之一。特别是一个繁忙的系统中,不断有DDL的情况下。修复分三步,但这三步如果手工进行,就会有间隙,在间隙中有DDL,就会失败。之所以要用python,是因为这个同步异常产生的事件,要通过gbase提供的python接口来完成。本例中10.17.46.21是需要修复的管理节点。第一步是从其它正常的管理节点scp文件过来,第二步是清除dml事件,第三步是sql刷新表。ssh中的gbase指运行数据库的操作系统用户)。...

2022-08-26 17:17:51 264

原创 GBase 8c 安全特性

GBase 8c 具有独立的审计系统,它能定义相关的审计事件,记录用户的相关操作,并能记录用户标识、身份鉴别等的审计数据,能进行相关的审计分析并自动报警,并支持对审计数据进行查阅。为便于独立审计,保证更高的系统安全性,GBase 8c 设有专门的安全审计员进行审计管理,安全审计员可利用专门的审计操作界面对审计事件作选择,查阅有关审计数据,处理报警信息。GBase 8c 支持库、表等不同数据粒度的存储加密,不同数据对象可采用不同的加密密钥,如一表一密,可有效防止单点突破,保证更高的数据安全性。

2022-08-25 15:32:26 1307

原创 GBase 8c分布式查询方法

协调器管理和客户端的连接,对客户端发来的SQL进行解析,生产执行计划,把执行计划发到相应的数据节点进行读写操作,并将结果汇总返回给客户端。对于涉及跨 DN 的数据写操作,协调者还负责协调所有参与者进行两阶段提交。数据节点是数据实际存放的节点,保存表和索引等数据库对象。数据节点接收协调器下发的读写操作,并将结果返回给协调者处理。数据节点间也可以通信,进行跨数据节点的联合查询。全局事务管理器管理全局事务号和活动事务状态,确保系统的全局一致性。

2022-08-25 14:24:21 204

原创 服务器体系和共享存储架构

现在市面上常见的一共有三种系统体系和两种存储共享方式。

2022-08-16 14:29:56 221

原创 GBase 8c基础操作

GBase 8c 是一款多模多态的分布式数据库,支持行存、列存、内存等多种存储模式和 单机、主备式、分布式等多种部署形态。GBase 8c 具备高性能、高可用、弹性伸缩、高安全性等特性,可以部署在物理机、虚拟机、容器、私有云和公有云。...

2022-08-15 11:32:47 782

原创 GBase 8s是如何保证数据一致性

为了清除部分完成的事务,GBase 8s在逻辑日志中对所有事务的历史记录进行维护,并以这些事务记录作为依据,将数据库恢复到事务之前的状态。例如,8s的参照完整性可以保证,对于主表中有关的一个实体的信息,如果在子表中存在相应的信息的话,那么主表信息不会被删除。为了更好的确定不一致的原因,8s管理员可以指导用户来设置一致性检查环境变量,这些变量产生诊断结构(例如,在不一致发生的共享内存中的内容),来帮助确定不一致发生的原因。为了保持数据的一致性,所需的另一个重要的功能是封锁过程和处理的独立性。...

2022-08-08 16:38:41 573

原创 GBase 8s 执行计划查询分析

GBase 8s的执行计划时帮助调优的最有用的工具之一,从中可以看出 SQL 是如何执行的,可以看到访问方法(全表扫描或索引),看到并行(并行读,顺序读)是否跳过分片,看到表的访问顺序,看到表的连接方式(hash,nested loop,sort merge),采用哈希连接时,哪张表用来生成哈希桶中的值,哪张表是被观察的(probe),可以画出查询树。...

2022-08-05 10:58:30 833

原创 GBase 8s分片技术介绍

下面先讲讲分片的好处,为什么需要分片,第一,假设一张表上同时有很多的索引,当数据量变得很大时,索引的层数也随之增加,因此定位你所查找的记录时,所访问的页面就会相应地增加,SQL的性能就会因为数据量的逐渐变大而变慢;第一种称做轮循方式的分片,简单来说,就是假设你的表存放在10个分区上,那么插入的第1条记录将存放在第1个分区上,第2条记录存放在第2个分区上,以此类推,第11条记录存放在第一个分区上,因此最终的结果是每个分区上存放的记录是相同的;第二种分片的技术又细分为按表达式分区,按列表分区、按间隔分区。...

2022-08-04 14:22:06 368

原创 GBase 8s共享内存中的常驻内存段

GBase 8s共享内存分为三个部分。

2022-08-03 14:56:59 666

原创 GBase 8s中IO读写方法

KAIO是由操作系统内核协调完成的,KAIO调用通过kio线程来处理,当第一个裸设备被打开时kio线程会启动,除了AIOVP完成的步骤以外,使用KAIO还会发生下面的一些操作。每个CPUVP会有一个AIO队列和一个kio线程,由于sqlexec线程也是在CPUVP上,当执行内核I/O时,操作系统的上下文切换会减少,从而可以提高性能。(3)如果sqlexec线程在缓存池中找不到所需要的页面,它会放一个AIO的请求到AIOVP的队列中,目的是要访问磁盘中的信息。(5)CPUVP把线程放到就绪队列中。...

2022-08-02 16:23:19 155

原创 GBase 8a语法格式

TERMINATEDBY用于指定字段分隔符,支持不超过15个任意字符的组合,支持任意字符,参数值以单引号包围,仅当使用文本方式加载时有效。可使用字符本身(仅限可见字符,如“|”)、C风格转义字符(如“\a”)、\xhh十六进制(如“\xFF”)或x’‘十六进制(如"x’09’“)四种方式指定。定长格式数据导入时,设置每个字段的长度,有多个字段时,用逗号分隔。NULL_VALUE用于指定空值字符,支持不超过15个任意字符的组合,参数值以引号包围,指定方式与字段包围符一样。...

2022-08-01 09:15:32 723

原创 GBase 8a压缩算法介绍

1-高压缩(压缩速度快,解压速度慢,适用于对历史数据存储,性能要求一般的用户场合)3-高压缩(压缩速度快,解压速度慢,适用于对历史数据存储,性能要求一般的用户场合)5-轻量级压缩(压缩和解压缩速度都快,适用于对性能要求较高的用户场合)5-轻量级压缩(压缩和解压缩速度都快,适用于对性能要求较高的用户场合)GBase8a的压缩算法分为默认压缩、轻量压缩、高级压缩三种。对于不同的数据类型,GBase8a提供不同的压缩算法;目前常用表级压缩组合有(0,0),(1,3)(5,5)...

2022-07-29 20:23:15 471

原创 GBase 8a 并行技术

集群接口驱动可以有效实现对上层应用请求的负载进行均衡(应用调用接口驱动的连接串中配置集群管理节点的多个IP,接口驱动的内部进行连接的负载均衡)。应用层请求响应节点完成SQL解析并生成执行计划,协调集群相关节点并发参与计算和处理,极大地提高了整个集群节点的并发度,充分发挥了集群性能。针对不同的数据分布及特征,会智能地选择不同算法进行处理。GBase8aMPPCluster针对数据加载和数据查询实现了自动高效的并行处理技术,充分利用SMP多核CPU资源并行处理海量数据。...

2022-07-29 20:22:19 233

原创 GBase 8a技术特性-集群架构

GBase8aMPPCluster采用MPP+SharedNothing的分布式联邦架构,具有良好的扩展性,采用多活协调节点、运算节点的两级部署结构,无特定主节点,以避免单点故障和单点性能瓶颈。GCMonit进程监控程序为集群中的每个组件提供各自的启停脚本,提供的总脚本可以一次性启停所有模块的服务。GCWare用于各节点GCluster实例间共享信息(包括集群结构,节点状态,节点资源状态等信息),以及控制多副本数据操作时,提供可操作节点,并在多副本操作中,控制各节点数据一致性状态。...

2022-07-29 20:17:54 206

原创 GBase 8s存储结构简介及空间管理

元数据区域保存元数据,用于表示sbspace的关键信息和存储在该sbspace上的每一个智能大对象,这样数据库服务器可以对智能大对象进行操作和恢复。若将简单大对象存储在指定的blobspace上,会通过虚拟段单独使用一个较小的缓存将数据直接快速写入磁盘,类似light-append方式,而不需要占用大量的buffer-pool内存空间,从而避免将其他表或者索引从内存中挤出,同时对checkpoint无影响,而且也不将数据的日志信息写入逻辑日志、物理日志文件。page是基本的存储单元最小和I/O单元。...

2022-07-29 20:16:51 353

原创 GBase 8s性能简介

GBase8s通过建立多个磁盘I/O线程模拟异步的磁盘I/O来构建和读写数据库文件,并且I/O线程的数目是可配置的,它和后面提到的工作者线程是被分开管理的,并且专用于磁盘I/O操作。查询子系统通过将输入的查询语句进行复杂的转换,形成不同的查询计划,然后基于系统的I/O、CPU和内存等资源的情况估算各种查询计划的执行代价并最终确定一个最优计划执行。GBase8s的目标是实现一个具有完善的事务处理能力的高性能的面向联机事务处理应用的安全数据库系统。4、可配置的、高效的内存管理策略。...

2022-07-29 20:15:49 252

原创 GBase 8s的分片和索引

GBase8s支持两种分片方式轮查法和基于表达式分片。其中常见分片表达式有基于表达式、Mod运算表达式、Remainder、List、Interval表达式,GBase8s所提供的基于Interval的分片策略,将根据Insert记录的情况自动扩展分片,从而提供更为灵活的方式,减少人工维护。GBase8s支持B型树索引、R型树索引、森林树索引、用户定义的索引等多种索引结构;拥有多种索引类型包括唯一索引、复合索引、函数索引、簇集索引、双向搜索索引。...

2022-07-29 10:32:49 224

原创 GBase数据库监控

采集中心模块包含GCenter组件,负责将采集代理采集的信息持久化到资源库、并进行节点报警处理等。一个采集中心只能对同一个集群下的代理进行采集,且一个采集中心最多可监控100个采集代理。当集群规模较大时,可以部署多个采集中心,以提升监控性能。GCMonitor组件实现了对整个集群监控的管理功能、集群整体运行状态及性能展示、集群的数据分布情况、集群节点报警、以及统一监控的平台管理功能等。该模块负责采集集群节点的操作系统、磁盘、内存、CPU、网络流量、节点运行状态、节点进程、以及集群的运行情况。...

2022-07-29 10:12:18 217

原创 GBase 8s的多线程结构

在数据库服务器有多个物理CPU的情况下,此时如果有一个客户端发出一个大的业务请求,GBase8s提供的Fan-out机制则将大的业务请求拆分为多个子任务,并行运行在多个物理CPU上,重复利用多CPU、多磁盘的硬件资源,提供最快的处理速度。按照VP的功能进行分类,不同的VP完成不同的任务。GBase8s提供高度并行机制,利用Fan-out机制,可以将一个SQL处理过程拆分为多个子任务,每个子任务可以同时运行在多个线程上,这种高度并行处理模式使得GBase8s在大数据处理任务中具有先天的优势。...

2022-07-29 10:10:21 194

原创 GBASE数据库迁移(Oracle到GBase 8s的数据类型映射)

Oracle迁移到GBase 8s数据类型映射对比

2022-07-22 13:49:19 669

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除