A叶子叶
大数据平台、数据仓库、数据分析/挖掘、应用开发、深度学习、爬虫
展开
-
SpringBoot实践(四十):配置Vertica和Mysql多数据源
SpringBoot本质上是个脚手架,类似vue-cli,把常用的功能写入application.properties,或者把外部需要的包通过starter机制引入,就会把这些bean实例化到容器内直接使用,如果想使用DataSource数据源只要在application.properties配置数据源就行,因为SpringBoot的spring.factories会自动加载这几个关于数据源的实例对象,这几个实例对象直接读取配置加载原创 2023-02-24 09:33:57 · 887 阅读 · 0 评论 -
重置mysql密码、允许远程访问、离线部署mysql
【代码】Linux上忘记mysql密码怎么办。原创 2023-02-22 15:08:13 · 405 阅读 · 0 评论 -
数据库与MPP数仓(三十):pigsty部署
pigsty源码基本上都是使用ansible的playbook编写,使用ansible同时配置多台机器,在角色上分为infra,node,pgsql等几类;pigsty是pg的开箱即用版本,提供完善监控和高可用功能,高质量的国产开源工程,监控面板非常详尽,保姆级别的文档;使用离线安装方式,安装分为几个步骤(以4台机器为例)原创 2022-10-08 15:03:58 · 812 阅读 · 0 评论 -
数据库与MPP数仓(二十九):使用prometheus和grafana搭建postgresql的监控/告警框架
数据库是优先级很高的特殊应用服务,prometheus+grafana的搭配是目前生产环境的标准答案,因此本文搭建pg数据库的监控告警框架(监控和告警要分开,监控就是面板看,告警是要通过某种通讯方式通知到维护人员)原创 2022-09-13 16:17:30 · 1346 阅读 · 2 评论 -
数据库与MPP数仓(二十八):关于vertica消费kafka的由浅入深
在实际生产中把vertica定位于面向业务层的数据仓库,其下必然需要一层原始数据的清洗层,实时性不高可以直接基于hdfs抽取数据,实时性高的最好使用流处理工具处理后加载,无论如何在业务定位上最好不要让vertica直接进行数据的频繁插入和修改更新操作,如果一定要这么做,vertica提供了kafka-collector的方式加载数据,效率很快,本文由浅入深介绍该方式的本地测试以及生产环境应该怎么用...原创 2022-08-31 14:24:19 · 922 阅读 · 0 评论 -
数据库与MPP数仓(二十七):使用Jdbc多线程批量压测vertica
vertica是面向分析的MPP数据库,其基于Jdbc连接的数据载入和更新效果如何,这里提供一个多表+多线程+分批次的数据加载测试,使用druidDataSource数据源,针对表名进行循环:test1 表,test2表..........tesnN表,创建表的语句在resources中的test.sql,均是52*65000的大表,每个表对应1个线程池,对应1个connection,在vertica上,就是session,每个线程池的大小和实际运行的线程数,可以指定,分别是threadPollNum和ru原创 2022-08-31 13:54:39 · 500 阅读 · 0 评论 -
数据库与MPP数仓(二十六):Vertica的jdbc测试
Vertica的jdbc测试。原创 2022-08-11 20:12:42 · 816 阅读 · 0 评论 -
数据库与MPP数仓(二十五):Vertica的优化/运维高频使用语句
Vertica的优化/运维高频使用语句,包括系统级别,表级别,ROS和WOS,以及锁优化等;原创 2022-08-11 13:48:25 · 624 阅读 · 0 评论 -
数据库与MPP数仓(二十四):pg安装postgis和timescaledb扩展
postgis依赖很多其他包,下面一种方式完成pg的postgis安装原创 2022-07-29 15:53:00 · 638 阅读 · 0 评论 -
数据库与MPP数仓(二十三):postgreSQL集群与高级特性
pg作为最先进的开源数据库诞生之初就带有许多高级的使用特性,比如丰富的函数、高级扩展包等,pg是单机数据库,集群化是把多个单机数据库以集群化对外提供服务,但节点状态保持和检测需要第三方中间件支持,比如pgbouncer,这里介绍使用pgpool中间件实现pg的集群化以及高级特性(故障切换、读写分离、负载均衡);...原创 2021-11-09 16:31:40 · 2432 阅读 · 8 评论 -
数据库与MPP数仓(二十一):Mysql深入之事务性保证
近期在回顾RDBMS基础,再次加深事务与实现方面的认识,存储是数据库之本,查询与交互的效率是数据库好坏的衡量标准,但绝大部分场景中要求交互前后需要满足事务性(并不是所有场景都需要),也即是常说的ACID约束,原子性、一致性、隔离性、持久性,在mysql中使用undo、mvcc、redo、binlog、锁机制实现其ACID特性,本节将详细介绍这几个概念,衍生到其他几个数据库的实现;原创 2021-07-04 11:31:47 · 921 阅读 · 8 评论 -
数据库与MPP数仓(二十二):Mysql深入之索引及实现
数据库数据效率靠索引保证,索引是一种数据结构,具体来讲所有数据库(包括关系型和非关系型)的索引结构都是平衡树,区别在于在结合底层数据存储时候的选型不同,mysql使用B+树作为索引结构,最底层的叶子结点是单page页的数据;原创 2021-07-04 13:42:09 · 845 阅读 · 0 评论 -
数据库与MPP数仓(二十):ClickHouse诞生背景及架构
前面已经对Teradata、Greenplum、Vertica、Gbase这些MPP数仓使用进行了分享,包括数仓模型构建方法论,本节开始了解学习ClickHouse数据库,一个来源于俄国的爆款开源组件,性能媲美商用数据库Vertica,基于其强悍的查询性能,也能够适用于OLAP和OLTP场景,其在成本与性能之间做到良好平衡,又快又开源,学习路径为架构原理-->实践;原创 2021-05-17 17:14:56 · 2872 阅读 · 3 评论 -
数据库与MPP数仓(十九):高效SQL
create table SCORE_fengzi( cname VARCHAR(10), sciense VARCHAR(10), score INT)--- 插入数据insert into SCORES values("zhangsan","language",81);insert into SCORES values("zhangsan","math",75);insert into SCORES values("lisi",".原创 2021-03-23 14:40:17 · 3790 阅读 · 0 评论 -
数据库与MPP数仓(十八):数据库ETL工具调研
关于数据同步工具和ETL工具的调研,主要分为特定场景和通用场景下,在真实生产环境中多个存储系统之间的数据同步少不了需要同步工具,而主节点与备份节点之间也有一些专用的备份工具,ETL则是面向通用存储系统的;原创 2021-01-24 17:45:59 · 6134 阅读 · 7 评论 -
数据库与MPP数仓(十七):RDBMS理论
关系代数与范式关系代数范式理论第一范式(The First Normal Form)在一个关系中,如果每个属性的值唯一而不具有多义性,则称它符合第一范式。第二范式(The Second Normal Form)如果一个关系符合第一范式,并且每个非主属性完全依赖于整个主键,而非 主键的一部分,则称它符合第二范式。当多个属性组成复合主键时,要特别注意这个条件。原创 2020-12-01 19:27:00 · 5436 阅读 · 1 评论 -
数据库与MPP数仓(十六):开源ETL工具kettle的使用
Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控.原创 2020-11-03 15:34:51 · 6078 阅读 · 0 评论 -
文件ETL与验证
总结以往参与过的FTP服务器上,离线文本数据抽取的校验模板,涉及对文件的大小、条数、加密、列数等的校验规则;#!/bin/bash####################################################set enviorment## author=yzgexport LANG=en_USalias ls='ls --color=auto --time-style=local'src_path="/data/XX/put_file" log_fil.原创 2020-10-24 13:03:27 · 5490 阅读 · 1 评论 -
数据库与MPP数仓(十五):MPP的架构与选型
前面讲了数据仓库的价值、构建思路、实例,完成数据仓库的概念、逻辑、物理模型设计后,数仓的产品选型也是需要考虑的部分,根据数据存储量、查询效率、并发能力可以选用MPP数仓和基于Hadoop的分布式数仓等;一、MPP还是Hadoop这里继续用之前用到的图讲解,数据仓库的特性是处理温数据和冷数据,面向业务分析提供偏于离线分析能力,因此一般选用Hadoop+MPP数仓结合的解决方法,Hive能够提供大批量历史数据的存储计算能力,Hbase能够提供半结构化文档的快速检索能力,MPP能够提供强大高压缩比基..原创 2020-08-11 09:06:34 · 9388 阅读 · 5 评论 -
数据库与MPP数仓(十四):招标采购系统的数据仓库构建
前两篇讲了数据仓库的价值和构建思路,这里根据实际的业务系统数据实现一个数据仓库模型,最近项目是招投标系统的数据仓库建设,涉及的业务逻辑较复杂,参与方较多,但数据量不大,数据仓库构建后主要是支撑招标采购的流程监管层面;按照数据仓库的构建思路,顺序是概念模型-->逻辑模型-->物理模型,最重要和复杂度较高的是概念模型的设计,需要结合业务,并根据业务特性设计事实表、维度表、顶层数据汇总表;一、概念模型设计概念模型需要结合生产系统的ER关系模型,梳理业务逻辑,当前生产交易系统使用的是OR.原创 2020-08-10 18:50:35 · 6290 阅读 · 2 评论 -
数据库与MPP数仓(十三):数据仓库的模型构建
上一篇主要讲到的是数据仓库对于企业的价值,以及同数据库系统的区别,数据仓库作为 业务版图扩张和数据价值萃取需求的必然产物,其在构建上也有一些参照的既定规范模式,本篇将讲解数据仓库模型构建思路及工具;一、数据仓库构建需要考虑的问题与数据库的单表基于ER模型构建思路不同,其面向特定业务分析的特性,决定了它的构建需要整合多套数据输入系统,并输出多业务条线的、集成的数据服务能力,需要考虑更全面的因素,包括:业务需求:从了解业务需求着手分析业务特点和业务期望; 系统架构:从系统架构和数据分布、数据特.原创 2020-08-10 16:17:06 · 6638 阅读 · 2 评论 -
数据库与MPP数仓(十二):数据仓库的价值
构思一个主题讨论数据仓库的构建方法论,包括数据仓库的价值、选型、构建思路,随着数据规模膨胀和业务复杂度的提升,大型企业需要构建企业级的数据仓库(数据湖)来快速支撑业务的数据化需求,与传统的数据库构建不通,数据仓库即是OLAP场景,偏于历史数据的存储/分析,用冗余存储换取数据价值;一、数据仓库和数据库的区别所有的应用系统都会涉及到数据库,针对数据库归纳和存放,也就是数据库的常见操作:增、删、改、查,那么为什么想要对企业数据进行分析,不能直接查询数据库,非要大费力气的去创建所谓的数据仓库和数据湖呢?.原创 2020-08-10 11:16:27 · 7233 阅读 · 2 评论 -
数据库与MPP数仓(十一):Gbase的特性、部署、集群管理
项目MPP数仓选型从greenplum变成Gbase,推国产化,大致看一下Gbase的特性和使用,博客内容参照GBase 8a MPP Cluster管理运维实战课程:https://ke.qq.com/course/981796,增加本地部署后实践操作;一、MPP和Gbase特性官方介绍:南大通用大规模分布式并行数据库集群系统,简称:GBase 8a MPP Cluster,它是一款 列式存储,Shared Nothing架构的分布式并行数据库集群,具备高性能、高可用、高扩展等特性,适用于OL.原创 2020-08-06 16:52:24 · 13982 阅读 · 4 评论 -
数据库与MPP数仓(十):greenplum数仓及管理语句
1、查看segment节点状态select * from gp_segment_configuration;pgdb=# select * from gp_segment_configuration; dbid | content | role | preferred_role | mode | status | port | hostname | address | datadir ------+---------+------+----原创 2020-07-27 08:34:06 · 5986 阅读 · 0 评论 -
数据库与MPP数仓(九):centos7.2虚拟机部署greenplum6集群
项目用到基于greenplum的数据仓库建设,测试实施开发都自己搞,这里首先在测试环境基于虚拟机完成一套部署,生产环境需要考虑磁盘和分区问题;1、root做免密主机A/B/C为例,设置免密登录的方法:① 每台机器上执行 ssh-keygen -t rsa ,敲3次回车会在家目录/home/csap下生成隐藏的.ssh目录,首先需要给此目录赋权限700: chmod 700 .ssh;这个目录下有两个文件:id_rsa 私钥和id_rsa.pub 公钥;② 在此目录中创建 authoriz..原创 2020-07-22 14:15:35 · 5805 阅读 · 0 评论 -
分布式技术原理(八):分布式存储
目录分布式存储分布式系统设计原则CAP准则CAP策略选择分布式存储系统三要素三要素含义主流分布式数据存储系统数据分布及原则数据分布设计原则常见数据分布方法分布式数据复制(副本)同步复制异步复制半同步复制分布式存储分布式系统设计原则分布式数据存储系统的设计需要首先遵循CAP 理论,CAP 理论指导分布式系统的设计以保证系统的可用性、数据一致性等特征,比如电商系统中,保证用户可查询商品数据、保证不同地区访问不同服务器查询的数据是一致的等。.原创 2020-05-25 22:46:00 · 8852 阅读 · 1 评论 -
分布式技术原理(五):分布式事务
目录分布式事务基于数据库实现分布式锁基于缓存实现分布式锁基于 ZooKeeper 实现分布式锁分布式事务在单机多线程环境中,我们经常遇到多个线程访问同一个共享资源(这里需要注意的是:在很多地方,这种资源会称为临界资源,但在今天这篇文章中,我们统一称之为共享资源)的情况。为了维护数据的一致性,我们需要某种机制来保证只有满足某个条件的线程才能访问资源,不满足条件的线程只能等待,在下一轮竞争中重新满足条件时才能访问资源。这个机制指的是,为了实现分布式互斥,在某个地方做个标记,这个标记每原创 2020-05-25 22:29:16 · 5425 阅读 · 2 评论 -
数据库与MPP数仓(八):Ignite的配置集群及API开发
中文文档:https://liyuj.gitee.io/doc/java/一、部署1、官网下载二进制包并解压,这里使用2.7.0版本;2、修改~/.bash_profile.sh文件,指定IGNITE_HOME路径,并立即生效(source ~/.bash_profile.sh);3、配置成集群形式启动,这里list属性填写了多个IP地址,修改conf路径下的配置文件:defaul...原创 2019-07-29 21:05:34 · 6490 阅读 · 0 评论 -
数据库与MPP数仓(七):vertica系统管理语句及实时消费kafka
--看锁表及锁的类型select object_name,lock_mode,transaction_id,request_timestamp,transaction_description from locks;select transaction_id from locks where object_name like '%servefc%';--查历史查询的记录select sch...原创 2018-10-24 10:06:16 · 6180 阅读 · 1 评论 -
数据库与MPP数仓(六):vertica数仓实践之时间函数
1、关系型数据库优化方法:点击打开链接2、关系型数据库工作原理:点击打开链接① vertica 的 Date 类型仅包含日期, 而Oracle的Date的类不仅包含日期而且包含时间.vertica 的 time, 不带日期, 仅包含小时分秒vertica 的 timestamp 是完整的时间, 包含日期和时分秒dbadmin=> select current_da...原创 2018-02-03 21:11:29 · 7454 阅读 · 1 评论 -
数据库与MPP数仓(五):Vertica数仓实践之v_catalog 和v_monitor
HP Vertica提供了可让您监控数据库的系统表。 通过使用SELECT语句,以与在基表或临时表上执行查询操作相同的方式查询这些表。v_catalog模式中:提供关于数据库中的对象的信息(元数据) 例如表格,约束,用户,投影等等。v_monitor模式中:提供有关HP Vertica数据库运行状况的信息。v_catalog中的表记录的是整个vertica集群、节点、数据库、模式、表、...原创 2018-02-03 20:48:23 · 6579 阅读 · 0 评论 -
数据库与MPP数仓(四):Vertica数仓的表变更/数据copy等操作
ALTER TABLEModifies an existingtablewith a new table definition.Syntax 1ALTER TABLE [[db-name.]schema.]table-name { ... ADD COLUMN column-definition ( table ) [CASCADE]... | ADD Table-Co...原创 2018-02-01 19:57:02 · 7204 阅读 · 0 评论 -
数据库与MPP数仓(三):vertica数据库
①vertica和postgresql有关系,greenplum是一个mpp的分布式关系型数据库,vertica集群也是,两者的关系:vertica 无 master 全部机都是master 而 greeplum 只能有一台master,然后做一个master的备份。这是对程序应用的稳定性起了最关键的作用。gp master关了,然后就不能连了。。要手动切换到master的备份。而vertica 3台机做一个备份策略的话,连接时写上三个节点的ip就不会挂。执行速度对比。vertica能秒杀一切mpp。毕竟是原创 2018-01-30 15:08:34 · 10143 阅读 · 0 评论 -
数据库与MPP数仓(二):为什么用索引
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。数据库索引什么是索引数据库索引好比是一本书前面的目录,能加快数据库的查询速度。例如这样一个查询:select * from table1 where id=44。如果没有索引,必须遍历整个表,直到ID等于44的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引),直接在索引里面找原创 2016-09-24 11:39:44 · 5330 阅读 · 0 评论 -
数据库与MPP数仓(一):Teradata数据库学习笔记
近日在Teradata实习,接触到第一个数据仓库,多是一体机,面向运营商和银行提供数据存储一体机和解决方案,这里对其进行系统的学习整理;原创 2016-06-13 17:58:35 · 6207 阅读 · 0 评论