• 0
  • 0
分享

  1、GBASE简介说明

  GBASE是国产的分布式并行集群数据库,据说有"三高"优势,即:高性能、高性价比、高可用性,不过查询速度确实很快,几千万的数据select  * 秒出;

  先介绍下常用的表,Gbase的表分为哈希表、复制表、临时表等等,哈希表需要一个哈希字段,类似分区字段,复制表无需这个字段;一般大数据的表使用哈希分表,小数据的就是万级以下数据可以用复制表。

  1.1、常用表介绍

  复制表:创建表使用 REPLICATED 关键字,这样创建的表为复制表。复制表将会存储于 Gbase  Cluster 的各个节点上,每个节点都会保存完整数据。

  哈希分布表:创建表时使用 DISTRIBUTED BY column _name 指定创建表 中的物理列 column _name 是哈希列,这样创建的表为哈希分布表。数据按照指定的 Hash 字段进行哈希分;

  临时表:创建表时使用 TEMPORARY 关键字,这样创建的表为临时表,临时表仅存在于当前 session 中。

  假设Gbase集群有30台机器,复制表会在30台机器都存在一张且数据是一样的;哈希表存在的也是30台机器,不同是每台机器的数据可能不一样,比如用户信息表的哈希字段是用户ID,可能1台机器存储的是1开头的用户ID,另外一台存储的是2开头的用户ID,每台存储是不一样的。

  2、Gbase使用介绍

  GBASE数据库目前使用的客户端是gbase studio,打开之后点击右键新建一个集群名称自定义,比如我的命名为rpt

图1.jpg


  然后对着集群名称右击选择 新建 ,输入其中一个节点IP,用户名,密码,端口一般都是默认的,可以点击 测试,确认是否连接成功;测试成功后点击保存。

图2.jpg


  然后对着新建集群点击右键连接,输入密码确定即可

图3.jpg


  2.1建表介绍

  介绍我使用过的哈希分布表,复制表建表SQL;

  1、哈希表建表SQL:

CREATE TABLE  user_busi_log_20171210 (
BUSI_LOG_ID bigint(20) DEFAULT NULL COMMENT '受理日志编号',
BUSI_TYPE int(10) DEFAULT NULL COMMENT '业务类型',
BUSINESS_ID bigint(20) DEFAULT NULL COMMENT '操作编号',
OPER_TYPE int(10) DEFAULT NULL COMMENT '操作类型',
CUST_ID bigint(20) DEFAULT NULL COMMENT '客户编号',
STATE varchar(3) DEFAULT NULL COMMENT '记录状态',
OP_ID bigint(20) DEFAULT NULL COMMENT '操作员',
ORG_ID bigint(20) DEFAULT NULL COMMENT '组织单元',
DONE_CODE bigint(20) DEFAULT NULL COMMENT '受理编号',
CREATE_DATE datetime DEFAULT NULL COMMENT '创建日期',
NOTES varchar(255) DEFAULT NULL COMMENT '备注'
) COMPRESS(5, 5)   DISTRIBUTED BY('BUSI_LOG_ID')

  2、复制表建表SQL:

CREATE TABLE dim_order_type_20171210 (
ID varchar(200) DEFAULT NULL COMMENT '编码',
plan_id varchar(60) DEFAULT NULL COMMENT '套餐编号',
ord_type varchar(60) DEFAULT NULL COMMENT '订单类型',
CREATE_TIME varchar(6) DEFAULT NULL COMMENT '创建时间',
PROVINCE varchar(50) DEFAULT NULL COMMENT '省份',
CREATE_DATE varchar(8) DEFAULT NULL COMMENT '创建日期',
SYNC_DATE datetime DEFAULT NULL COMMENT '同步日期'
) COMPRESS(5, 5)   REPLICATED  DEFAULT CHARSET=utf8 TABLESPACE='sys_tablespace'

  说明:一般建表会加压缩COMPRESS(5, 5),节省空间,默认表空间也可以不指定

  Gbase的日期格式如果需要秒,需要datetime类型,否则取不到秒,类似,to_char(),日期格式转换,其他常用的函数与oracle函数类似,具体函数使用了就明白了。

  3、Gbase数据测试

  Gbase数据库数据不论是抽取还是装载都需要一个加载机中转,可以理解为一个FTP中转,

  公司的ETL 工具gbase库装载,先抽取文件存放在加载机(ftp)上,然后清空需要装载的数据表(避免重复数据)后面在把ftp目录上的文件加载到目标表,最后是记录日志

图4.jpg

  3.1日志查找

  装载报错后,点击对应节点看到的日志只有INFO和WARN,看不到有用的信息,第一次配置遇到错误很头大,因为没有看到明显的错误提示

图5.jpg

  点击"HERE"找到加载机对应的节点

图6.jpg

  然后去加载机(FTP登录的加载机是日志中打印的IP和用户名,密码可以找维护人员获取)

  找到这个端口下面的对应的日志信息

图8.jpg

  比如我的端口是6683,日志目录在load6683下面 ,因为日志文件较多,可以模糊查询

  说明:_error_data.log 是错误的数据文件日志,l_og.log是日志文件

  ls -l *CM_DATA*.log 查询日志文件

图9.jpg

  ls -l *CM_DATA*error*.log

图10.jpg

  查看报错的.log日志文件(日志的文件名是由编号_用户名目标表名_执行日期_执行时间_加载机IP_log组成)

  cat 查看日志文件,如果太长可以使用 head 或者tail 查询指定的行数;

  日志提示字段长度不够(此处吐槽下因为测试的是一个FTP文件,原来数据提供方提供的是纯数据文件,这周数据文件包含了字段信息所以原来的长度不够,维护修改之后没有通知,看了文件才知道基本上所有字段长度都不够,本次测试是一个网络方面的有235个字段,维护修没通知的修改比较坑),因为字段太多,所以使用head -100 查看前面的字段长度是否都错了

图11.jpg

  修改数据库表字段长度,然后在修改映射字段长度,保存后重跑,执行成功,数据库表记录如下图:

图12.jpg

版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。


作者:叶子   

来源:51Testing软件测试网原创

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   自动化测试是指运行软件程序后,自动执行测试用例并在没有任何人为干预的情况下产生测试结果。 它比手动测试更优越的地方在于,很大程度上节省了人力和时间,并且在测试中没有或者少有错误。此外,还可以多次测试相同的应用程序,从而最大限度地减少冗余的手动工作。  本文旨在推荐一些在全球广泛使用的测试自动化工具,其中既有商业软件也有开源软件,不过即使是商业软件,大部分都可以免费试用。  1、 LambdaTest  LambdaTest 是用于桌面和 Web 应用程序的自动化测试工具。使用 LambdaTest,可以在 2000 多种桌面和移动浏览器上执行手动和自动跨浏览器测试,支持 Python、Ja...
            0 0 2127
            分享
          •        在俄罗斯入侵乌克兰后停止交易一年后,五家与俄罗斯有关的互联网公司将正式从美国证券交易所除名。这五家公司中最突出的是Yandex,一家有25年历史的科技公司,通常被称为"俄罗斯的Google",因为它的产品涵盖了搜索、电子商务、广告、地图、交通等等。       2011年5月,Yandex首次在纳斯达克上市,其母公司是在荷兰注册的Yandex N.V.公司。此后,三年后在莫斯科交易所进行了二次上市。作为一家上市公司,Yandex一直表现良好,在2021年11月达到历史最高点,市值3...
            0 0 2642
            分享
          •   从 1993 年开始,ext2 已经走过了 31 个年头,现在是它退休的时候了。尽管 Linux 6.9 带来了许多巨大的变化和新功能/硬件支持,但它却弃用了经典的 EXT2 文件系统驱动程序。  EXT2 文件系统已经存在了三十年,EXT3 和 EXT4 在 Linux 内核中稳定运行也分别有二十多年和十五年了。EXT2的使用率一直在下降,很可能只是用于访问旧的存储设备/传统的Linux发行版安装。  不过,由于文件系统驱动程序不支持 2038 年以后的日期(Y2038 问题的一部分),EXT2 现在已被弃用。由于无法正确支持 2038 年 1 月 19 日之后的时间戳,Linux 开发...
            0 0 351
            分享
          •   目标  以银行的核心系统从旧核心系统更换为新核心系统为基础,对导入到迁移环境的生产数据(已脱敏)进行数据的验证。  数据迁移环境  迁移环境需要A、B两套环境。其中,A环境为新系统环境、B环境为老系统环境。  数据迁移小组  迁移小组:由迁移技术人员、业务人员和测试人员组成。负责迁移规则的验证、数据的静态核对;迁移规则的验证为全部验证,而数据的静态核对,则进行抽验。  数据迁移的验证  迁移规则的验证  迁移过程为源表中间表目标表,技术测试验证源表中间表、中间表目标表之间迁移测试的一致性,确保迁移数据全部符合按照迁移规则,确保老核心系统中需要迁移的数据都能全部迁移到新一代核心系统中。  数...
            8 9 1995
            分享
          • 金三银四马上来了,又是一波离职高峰,很多小伙伴已经开始投身跳槽的准备中了。大家选择跳槽无非是想增加自己的工资收入,所以面试过程中的谈薪环节就显得尤为重要,谈的好与不好,未来整个的薪资水平都可能受影响。那面试中,当问到“你的期望薪资是多少?“应该如何回答呢?作为一名软件测试资深面试官,站在求职者角度,从以下3个方面聊一聊:了解市场薪资行情清楚薪酬结构面试如何谈薪1、了解市场薪资水平案例: 小柠,工作2年,上家薪资是8000,跳槽后9500,跟身边朋友和前同事相比,个人很满意。 结果入职后发现,比自己晚入职技能也不如自己的新同事,薪资却过万,顿时心里不舒服了。一般来说,跳槽涨薪可达10%-30%,...
            13 13 2816
            分享
      • 51testing软件测试圈微信