• 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软件测试网原创

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 读者提问:APP 登录功能,用例怎么写 ?阿常回答:假定该登录为手机号密码的登录方式,登录界面存在 2个输入框(手机号,密码), 1个登录按钮。一、正常登录流程正常登录流程 case前置条件    应用安装成功,网络连接正常    输入数据    手机号:18957440009密码 :Aa123456测试步骤1、输入手机号2、输入密码3、点击登录按钮预期结果1、输入成功2、输入成功3、登录成功,跳转首页二、异常登录流程手机号异常校验前置条件    应用安装成功,网络连接正常   &nb...
            0 0 3022
            分享
          •   据报道,沃尔玛向印度移动支付巨头PhonePe投资2亿美元。PhonePe正进行新一轮融资,计划最多筹集10亿美元,预估值为120亿美元。  沃尔玛国际总裁兼CEOJudithMcKenna表示:“印度是数字化最大增量市场之一,很高兴能有机会继续支持PhonePe”。  此前,PhonePe日前与其母公司——印度电商公司Flipkart分离,而Flipkart也是沃尔玛投资的公司。沃尔玛形容二者的分离“类似于eBay和PayPal”——各自独立运营,可以追求各自的计划。  上个月,沃尔玛表示,Flipkart和PhonePe的分离“非常类似于eBay和PayPal,它们各自独立运营,可以追...
            0 0 962
            分享
          •   对于存储性能测试,一般有两种方法:  1. 使用业内比较认可的性能测试工具,比如IOMeter、fio、iozone等。这类工具一般是开源的,应用范围很广泛,使用它们的一个好处是可以快速和其他存储产品做横向对比。哪怕大家是在不同时间、不同地点、不同环境测试的,但只要参数设置差不多,就可以拿来简单对比(如果要做完整对比,必须放在同样的环境中测试)。不足之处是它们只能按照预定义的模式机械测试,大多数情况下无法真实反应实际应用环境的IO模式。  2. 直接在真实的应用环境中进行性能测试。这种方法测出来的结果,针对特定的场景,具有权威的参考性。不足之处就是搭建环境可能比较麻烦,每个应用的依赖环境都...
            0 0 1131
            分享
          •   据路透社报道,印度三星工人罢工仍然没有结束的迹象,该工厂 1000 多名员工拒绝了一项和解提议。这是印度近年来最大的劳资纠纷,已经进入第二个月。  罢工者们扰乱了生产,并在靠近钦奈市三星工厂附近的一个临时帐篷里进行了抗议。他们要求加薪,并获得工会认可。  这家工厂对三星至关重要,占其 2022-23 年 120 亿美元印度销售额的约五分之一。  三星本周提出了一项提议,即在明年 3 月前每月为工人提供 5000 卢比(备注:当前约 421 元人民币)的奖励,还提供了更多的空调巴士、多样化的自助餐厅菜品和一张价值 24 美元的礼品卡,以备孩子出生时使用。  印度贸易工会中心(CITU)是该支...
            0 0 221
            分享
          • 第三方测试项目管理分享之-成功的项目都是相似的,“不成功的项目”各有各的特点先上图,感受一下。说明:我总结的这个项目管理特点,主要是来自于第三方外部测试,不同于企业内部自己的测试项目。简单说一下。从对象来说,我方,对方,第三方。从配合方面来说,外部和内部。先说对方的外部配合。第三方的测试主要来自于委托,即对方是发起人。首先需要明确对方的测试需求、进度需求,明确对接人的职责,明确测试环境。再说我方的外部配合,首先要判断,对方的测试需求是否在我方的实验室能力范围内,判断对方的测试需求、进度、环境配置等是否满足测试条件,在实施过程中,还需要经常判断对方的测试需求是否有变更,如果有变更,需要再判断,是...
            1 1 894
            分享
      • 51testing软件测试圈微信