自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 pgbouncer连接池的应用

pgbouncer是连接池。其实plproxy,pgpool什么的,都有这功能。pgbouncer与之相比,最大的好处是简单,小型。如果不需要负载均衡什么的功能,用pgbouncer就足够了。PgBouncer的特点a.内存消耗低(默认为2k/连接),因为Bouncer不需要每次都接受完整的数据包b.可以把不同的数据库连接到一个机器上,而对客户端保持透明c.支持在线的重新配置而无须重启...

2020-01-06 21:41:33 522

原创 pgbench的应用

pgbench是一种在PostgreSQL上运行基准测试的简单程序。它可能在并发的数据库会话中一遍 一遍地运行相同序列的 SQL 命令,并且计算平均事务率(每秒的事务数)。pgbench支持两种测试方式:1、默认情况 下,pgbench会测试一种基于 TPC-B 但是要更宽松的场景,其中在每个事务中涉及五 个SELECT、UPDATE以及INSERT命令。2、用户可以通过编写自己的事务脚本文件...

2020-01-06 21:37:36 440

原创 PostgreSQL源码安装

1、安装前准备1.1、主机硬件配置4G内存,40G磁盘1.2、配置OS内核参数kernel.shmall、kernel.shmmax、kernel.shmmni共享内存相关参数,在9.2以及以前的版本,数据库启动时,对共享内存段的内存需求非常大。后期版本要求不大,但可参考此设置。1.3、配置OS资源限制vi /etc/security/limits.confsoft nofi...

2020-01-06 21:34:16 379

原创 postgresql 9.6主从流复制部署

⼀、准备环境操作系统:CentOS Linux release 7.4数据库版本:PostgreSQL 9.6.12主库:192.168.189.152从库:192.168.189.153⼆、主机数据库部署以下操作步骤请在两个节点进⾏,主库需要安装数据库软件以及初始化数据库,从库仅需要安装数据库软件即可⽆需初始化。1、添加RPM源[root@localhost opt]# yum...

2020-01-06 21:33:32 399

原创 GaussDB T 建库脚本之:initdb

在 GaussDB T 的创建过程中 initdb.sql 创建了数据库的核心对象,共计约 117 个。通过这些核心对象,可以了解 GaussDB 的基本工作原理。收录这个脚本如下,供参考。CREATE TABLE SYS_SEQUENCES(UID BINARY_INTEGER NOT NULL,ID BINARY_INTEGER NOT NULL,NAME VARCHAR(64) ...

2019-12-26 14:43:13 1051

原创 GaussDB 如何启动和关闭数据库的归档模式

GaussDB 在创建数据库时,可以指定数据库的归档模式,也可以在创建之后自由修改。可以通过 V$DATABASE 视图来查看数据库的归档模式:SQL> select name,log_mode from v$database;NAME LOG_MODEGAUSS ARCHIVELOG修改数据库的归档模式需要在 Mount 状态下进行:[omm@enmodb1 ~]$ pyth...

2019-12-26 14:42:11 1507

原创 Gauss100搭建文档

1、系统初始化systemctl stop firewalldsystemctl disable firewalldfirewall-cmd --statecd /etc/sysconfig/network-scripts/2、优化内核参数修改/etc/sysctl.conf,添加如下参数:kernel.sem = 50100 128256000 50100 2560net.cor...

2019-12-24 13:59:40 793

原创 CentOS清理swap和buffer/cache

swap清理:swapoff -a && swapon -a 注意:这样清理有个前提条件,空闲的内存必须比已经使用的swap空间大cache清理:sync; sync; sync;&& echo3 >/proc/sys/vm/drop_caches sleep 2 echo 0>/proc/sys/vm/drop_cachesTo free pa...

2019-12-09 13:53:53 1535

原创 Linux OOM 自动杀死进程

问题描述:登录一台测试服务器,发现部分进程失踪 (Nginx/PHP-FPM/MySQL/Crond)。解决方法:1、首先启动这些进程,保证正常提供服务。2、查看服务器日志信息,排除故障。shell > less /var/log/messages-20160905Sep 3 05:31:10 localdomain kernel: Out of memory: Kill pro...

2019-12-05 15:01:24 661

原创 如何找到系统内存的问题

内存性能指标为了分析内存的性能瓶颈首先,你最容易想到的是系统内存使用情况,比如已用内存、剩余内存、共享内存、可用内存、缓存和缓冲区的用量等。已用内存和剩余内存很容易理解,就是已经使用和还未使用的内存。共享内存是通过 tmpfs 实现的,所以它的大小也就是 tmpfs 使用的内存大小。tmpfs 其实也是一种特殊的缓存。可用内存是新进程可以使用的最大内存,它包括剩余内存和可回收缓存。缓存包括两...

2019-11-21 10:41:55 113

原创 linux中buffer与cache区别

内存性能中 Buffer 和 Cache从写的角度来说,不仅可以优化磁盘和文件的写入,对应用程序也有好处,应用程序可以在数据真正落盘前,就返回去做其他工作。从读的角度来说,既可以加速读取那些需要频繁访问的数据,也降低了频繁 I/O 对磁盘的压力。Buffer 既可以用作“将要写入磁盘数据的缓存”,也可以用作“从磁盘读取数据的缓存”。Cache 既可以用作“从文件读取数据的页缓存”,也可以用...

2019-11-21 10:21:30 116

原创 hive视图与Oracle视图的区别

hive表之视图1、视图是一个虚表,一个逻辑概念,可以跨越多张表。表是物理概念,数据放在表中,视图是虚表,操作视图和操作表是一样的,所谓虚,是指视图下不存数据。2、视图是建立在已有表的基础上,视图赖以建立的这些表称为基表3、视图可以简化复杂的查询oracle/mysql表之视图视图是从已存在表上抽出逻辑相关的数据集合,其本身和表的区别不大,都是对数据一种存储,只不过我们可以在已有表的基础...

2019-11-21 09:51:32 596

原创 python基础知识

一、变量当你把一个值赋值给一个名字的时候,它会存储在一个内存中,把这块内存称为变量(variable)再说的简单一点,就是一个会变的量。Python和大多数的计算机语言不太一样,它不是把值存储在变量中,它是把名字贴在值边上。所以有些python程序员会说,Python没有变量,只有名字。变量,它就是一个名字,通过这个名字,我们可以找到我们想要的东西。这里我们需要注意的是:在使用变量之前,需...

2019-11-18 15:31:24 128

原创 走进大数据之 ETL

开发环境准备 :开发需检查以下环境是否ready:SAP开发用测试数据源准备就绪。数据仓库的Oracle(MySQL)数据库准备就绪,ETL要加载的表已创建。ETL Server的相关软件(DataStager Server及MetaStage)已安装就绪。ETL Server与SAP数据源及目标Oracle数据库的连接已通过测试。在ETL Server上创建与Oracle连接的ODB...

2019-11-08 18:14:01 582

原创 走进大数据之HDFS

HDFS介绍Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS设计目标1...

2019-11-08 18:11:53 202

原创 Impala和Hive之间的SQL差异

Impala和Hive之间的SQL差异Impala的SQL语法遵循SQL-92标准,并且在内置功能等领域包括许多行业扩展。有关将SQL代码从各种数据库系统移植到Impala的一般讨论,请参见将SQL从其他数据库系统移植到Impala。由于Impala和Hive共享相同的metastore数据库,并且它们的表经常互换使用,因此以下部分详细介绍了Impala和Hive之间的区别。HiveQL功能...

2019-11-08 18:08:50 3225

原创 Impala入门

概述Apache Impala是Apache Hadoop的开源原生分析数据库;Impala于2017年11月15日从Apache孵化成顶级项目。在以前称为“Cloudera Impala”的文档中,现在的官方名称是“Apache Impala”。Impala为Hadoop上的BI /分析查询提供低延迟和高并发性(不是由Apache Hive等批处理框架提供)。即使在多租户环境中,Impal...

2019-11-08 18:05:16 444

原创 hadoop支持lzo压缩

启用lzo的压缩方式对于小规模集群是很有用处,压缩比率大概能降到原始日志大小的1/3。同时解压缩的速度也比较快。安装准备jar包1)先下载lzo的jar项目https://github.com/twitter/hadoop-lzo/archive/master.zip2)下载后的文件名是hadoop-lzo-master,它是一个zip格式的压缩包,先进行解压,然后用maven编译。生成...

2019-11-04 16:52:08 638

原创 计算层优化之数据倾斜

在MapReduce执行的过程中,会把任务的原始数据分片到多个Task中执行。想象以下场景,当任务的多数Task都在短时间内完成,只有个别Task执行的时间特别长,从而拖慢了整个任务的执行速度,浪费了资源。表现形式就是任务进度卡在99%,这种现象就是数据倾斜。MapReduce流程:① 文件分片,一个分片交由一个map task执行② map task首先把数据从磁盘读入内存环形缓冲区,在...

2019-10-31 10:21:18 160

原创 计算层优化之系统优化

在大数据离线计算平台上每天会有上万个任务在执行,对cpu、内存、存储资源由极大的消耗,那么如何降低资源使用率、提高计算效率,就涉及到计算优化的问题。从系统优化方面来讲:HBO1)HBO 是根据任务的历史执行情况优化资源分配2)HBO方案提出:① 在Hadoop中map task与reduce task的task个数分配是根据用户提交的任务总数据量和每个map task能处理的数据量决定的。...

2019-10-31 10:15:50 351

原创 事实表设计总结及补充

三种事实表比较1)事务事实表:记录事务层面事实,跟踪业务过程行为2)周期快照表:记录指定周期内一些聚集事务值或者度量状态3)累计快照表:通常由多个时间字段,用于研究业务过程中各里程碑事件之间的时间间隔,一般会用一个字段记录最后更新时间聚集1)聚集是通过汇总原始数据来提升下游查询的效率2)聚集原则:① 不跨越数据域:数据域是对数据分类的高层抽象,如商品域、交易域等,不同数据域的数据不...

2019-10-31 10:14:31 199

原创 事实表设计之累计快照事实表

累计快照事实表的主要用于研究事件之间时间间隔,当然并不仅限于此,还有一些特殊用途,可以在实际工作中灵活运用。设计特点1)数据不断更新:不同于前面说的两种事实表,累计快照事实表中的数据实例会定期更新。如上图所示多事务事实表中一条交易记录会每天有一条数据来记录整个交易过程;而累积快照事实表只会有一条记录,数据会一致更新直到过程结束。2)适用于业务过程有明确的起止时间的短生命周期场景,如交易订单...

2019-10-31 10:12:55 4713 1

原创 事实表设计之周期快照事实表

想象以下场景,需要统计一个季度的商品成交量怎么取做?如果用一个季度内的事实事务表进行计算,虽然可以得出结果但是效率太低,在实际生产中并不可行,因此,需要定期对指定的度量进行整合,作为周期快照表用于下游应用。一般设计事实表时,事务事实表和周期快照表是成对设计的,大部分的周期表由事务表加工产生,还有部分特殊数据是直接应用系统产生(如订单评价)。特性1)统计的是间隔周期内的度量统计,如历史至今、自然...

2019-10-31 10:11:05 1778

原创 事实表设计之事务事实表

事务事实表用于跟踪定义业务过程的个体行为设计案例场景:为交易事务设计事实表1)业务分析:交易事务包括下单、支付、发货、完结四个业务过程2)确定粒度:同一个订单中可以包含多个在商品,每个商品对应一个子订单。在上述四个业务过程中下单、支付、完结选择子订单作为粒度,而发货业务过程包含物流信息,以父订单为粒度3)确定维度:卖家、买家、商品、商品类目、发货地区、收货地区、父订单一级杂项维度4)确...

2019-10-31 10:07:34 1137

原创 维度设计之维度变化

维度变化的描述与事实表变化相比,维度表变化相对缓慢,如何描述维度表的变化,有以下三种方式:1)重写维度值:这种方式直接覆盖原数据2)插入新维度行:可以保留历史数据,但不能将变化前后的事实数据归一化3)添加维度列:添加一个新列表示当前类目三种方式根据对历史数据的具体需求,选择相应的方法快照维表基于数据仓库的更新周期,每个周期保留一份全量的维度表快照数据,可以随时获取当天的维度数据信息。...

2019-10-31 10:02:14 472

原创 维度设计值维度整合与拆分

1)集成是数据仓库的重要特性,需要把面型应用的数据转换为面向主题的数据仓库数据2)应用之间数据差异集中表现在:① 编码、命名习惯、度量单位上的差异② 各种应用采用不同的物理实现,同一个应用有时会把数据拆分到不同数据库中(mysql,hbase),或者同一个业务的数据拆分到不同的表中(主表,扩展表)3)面对应用数据的差异,除了统一命名规范、统一字段等公共处理外,还需要进行业务分析,将业务关系...

2019-10-31 10:00:30 2167

原创 维度设计之维度设计基础

基本概念:1)维度:描述业务的角度、环境2)属性:描述维度的列,一般用于查询约束、分类汇总3)事实:即度量4)维度使用主键标识,主键分两种:代理键和自然键① 代理键:无业务意义,如自增ID② 自然键:具有业务意义,如商品ID基本方法:维度设计的过程就是确定维度属性的过程,一般流程如下:1)确定维度,具备唯一性2)确定主维表,确定描述维度的主表3)确定相关表,根据业务之间的关联...

2019-10-31 09:59:19 1852

原创 数据治理之模型实施

实施工作流:1)数据调研:① 业务调研:确定数据仓库要包含所有的业务领域合适各业务各自建设。现在主流做法是在各个领域独自建设数据仓库,业务领域内的业务线相似,业务相关性大,进行统一建设。② 需求调研:了解需求结果需要那些数据,分析具体维度、度量分别是什么?数据是否沉淀到汇总层?明细数据和汇总数据怎么设计?2)架构设计:① 数据域划分:对业务模块和维度进行高度抽象的集合② 构建总线矩...

2019-10-31 09:56:56 1102

原创 数据治理之模型设计

模型层次1)数据操作层:把数据几乎无处理的放在数据仓库中① 同步:保存增存量的结构化数据② 结构化:把非结构化数据结构化处理并保存③ 积累历史数据:根据需求保存历史数据④ 数据清洗2)公共维度层:存放明细事实数据、维表数据、公共指标汇总① 明细事实数据、维表数据从ODS层数据加工而来,公共指标汇总数据从细事实数据、维表数据加工而来② DWD和DWS层主要的作用是组合相似数据,建立...

2019-10-31 09:54:07 2225

原创 数据治理之数据规范

系统架构体系:数据域:对于业务过程和维度的抽象。如:交易域、用户域业务过程:不可拆分的行为事件。如:下单、支付时间周期:如最近30天、截至当前修饰类型:对修饰词的抽象。如支付方式、访问终端类型修饰词:访问终端类型下的pc、安卓、苹果度量/原子指标:具有明确含义的业务名词。如:支付金额维度:如:地理维度、时间维度维度属性:对维度的描述。如:地理纬度下国家、省份派生指标:原子指标+...

2019-10-31 09:50:30 4462

原创 数据服务之最佳实践

性能1)资源分配:① 剥离计算资源:对于复杂逻辑的计算,每次调用查询接口计算成本高,所以对于复杂逻辑将其全部交由底层数据公共层处理,而只保留核心业务逻辑② 查询资源分配:根据查询结果的数量你把查询分为get/list两种,get返回一条结果,基本都转化为KV查询,效率极高;list返回多条数据,代价高一些。如果把get/list查询都放在一个线程池中,get请求会等待list请求,而降低QP...

2019-10-31 09:48:45 235

原创 实时技术之流式数据模型

实时建模与离线建模类似,也需要对数据进行建模,进行数据分层处理数据分层:1)ODS层:与离线系统类似,操作数据层。记录了原始数据的变更过程,例如订单变更数据以及服务器日志数据2)DWD层:实时明细层,对于没有上下文关系的数据会回流到离线系统,保证了ODS层与DWD层数据一致性3)DWS层:通用维度数据汇总层,供各业务共同使用4)ADS层:个性化维度会汇总层,针对单个业务所关注的维度各指标...

2019-10-31 09:45:12 1471

原创 实时技术之流式技术架构

流式计算框架的开源方案非常多,整体的机构相似,只是实现实时的方式存在差异,按照子系统功能划分,分为数据采集、数据处理、数据存储、数据服务四个部分数据采集1)实时采集的数据一般来自业务服务器,分成两大类:① 数据库变更日志② 服务器引擎访问日志2)不论是哪种日志文件,采集完成后都已文件的形式保存,采集工具只要监控文件的变化就可以做到实时采集3)处于对吞吐量的考虑,会以批次的方式进行采集...

2019-10-31 09:39:26 1056

原创 离线数据开发之任务调度系统

大数据调度系统的由来1)大数据下,调度系统时整个大数据体系的指挥中心,负责合理的调配资源。2)在调度系统中各类任务互相依赖,形成一个有向无环图。3)传统的数据仓库是依靠定时任务的方式进行调度,这种方式存在几个缺点:① 任务调度依据时间,造成前一个任务未完成而后面的任务已经开始② 任务难以并发,难以设置优先级③ 任务管理维护比方便4)大数据下数据量巨大,同时任务种类繁多,如MapRed...

2019-10-31 09:35:57 2099

原创 离线数据开发之数据开发平台

数据研发岗位日常工作内容:了解需求 --> 模型设计 --> ETL开发 --> 测试 --> 发布上线 --> 日常运维 --> 任务下线1)架构① 客户端:多种方式操作数据② 接入层:提供Http服务、负载均衡、用户认证、用户访问控制③ 逻辑层:即控制层,完成命令解析、执行逻辑控制、数据对象管理,包含三个组件:④ 计算层:专门...

2019-10-31 09:31:13 1303

原创 数据同步之问题与解决办法

分表分库的处理1)传统数据库的分表分库处理:2)在大数据系统中的做法是构建分布式数据库访问引擎(中间层),将分布在不同数据库中的表集成为一张表,业务系统像单表一样使用3)分布式数据库访问引擎位于数据持久层与JDBC驱动之间,实现了以下功能:高效同步与批量同步1)数据同步流程:创建表–同步工具中配置数据库连接/表/字段–测试2)存在问题:① 数据量增大时,每天会有大量重复的配置工作...

2019-10-31 09:24:29 2592

原创 数据同步之大数据下数据仓库的同步方式

数据仓库的特性是集成,把不同数据源、不同形式的数据整合在一起。大数据下的数据特点如下:①数据多样性:包括高度结构化,易于处理的结构化数据以及服务器日志、图片、视频等非结构化数据②数据量:传统的数据仓库每天的同步量在几百GB上下,大型的数据仓库每天达PB级别,甚至EB级别批量数据同步:1)离线的数据线仓库用于负责将不同数据源的数据同步到数据仓库,以及定时将数据同步到业务系统2)要实现不同数...

2019-10-31 09:21:40 571

原创 数据同步之数据同步基础

数据同步技术即不同系统间数据流转,如:同类型不同集群间同步:① 主数据库与备份数据库之间数据同步② 主系统与子系统之间数据同步大数据系统数据同步:① 业务系统到数据仓库系统② 数据仓库系统到数据服务数据源分类:同步方式:直连同步1)通过规范API和基于动态链接库的方式直接连接数据库,如ODBC/JDBC。2)此方式对系统性能影响较大,采用从备份数据库读的方式可以适当缓解压...

2019-10-31 09:18:54 1358

原创 日志采集之日志采集的挑战

目前大型互联网企业每天日志量以亿为单位,面临的挑战已经不是采集的技术本身,而是如何实现日志数据的结构化。构建规范制定–元数据注册–日志采集–自动化计算–可视化展现的一体化系统场景一:日志分流1)当代互联网经常出现短时间内流量热点爆发,集中统一的采集方案已不能满足需求。2)在日志解析和处理的过程中必须考虑以下几点:①业务分流:要求分离的业务之间没有明显影响,爆发热点不影响日常业务处理②日志...

2019-10-31 09:16:08 657

原创 日志采集之移动端日志采集

移动端日志采集:1)除了web页面日志采集的相关内容来提升用户体验外,还需要采集各种设备信息,以及各种设备的运行情况,协助开发者分析各类设备特有问题2)移动端日志采集通过采集SDK完成,根据不同的用户行为分成不同的事件,事件是移动端日志采集的最小单位,基于常用的分析,把事件分为页面事件和控件点击事件等。页面事件:1)SDK提供三个接口,三种接口配合使用:①页面展现接口,在进入页面时调用...

2019-10-31 09:13:56 2464 2

空空如也

空空如也

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

TA关注的人

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