什么是列式存储

什么是列式存储

在传统的行式数据库系统中,数据按如下顺序存储:

Row WatchID JavaEnable Title GoodEvent EventTime
#0 89354350662 1 Investor Relations 1 2016-05-18 05:19:20
#1 90329509958 0 Contact us 1 2016-05-18 08:10:20
#2 89953706054 1 Mission 1 2016-05-18 07:38:00
#N

处于同一行中的数据总是被物理的存储在一起。

常见的行式数据库系统有:MySQLPostgresMS SQL Server

在列式数据库系统中,数据按如下的顺序存储:

Row: #0 #1 #2 #N
WatchID: 89354350662 90329509958 89953706054
JavaEnable: 1 0 1
Title: Investor Relations Contact us Mission
GoodEvent: 1 1 1
EventTime: 2016-05-18 05:19:20 2016-05-18 08:10:20 2016-05-18 07:38:00

这些示例只显示了数据的排列顺序。来自不同列的值被单独存储,来自同一列的数据被存储在一起。


如何建设指标体系?

之前水过一篇,实践的时候更多也是从技术视角,现重新记录一些点

  1. 什么是指标体系?
  2. 为什么要建设指标体系
  3. 建设指标体系的方法论
  4. 建设实践总结

– 待补充

指标体系中,指标和对象的关系

指标体系中,指标和对象是相互关联的。

指标是对组织某一方面状态的描述,对象是影响指标的因素。指标通过对对象进行计算和分析,从而表现出组织的某一方面状态。

例如,销售额指标表示组织销售情况,销售额指标的对象可以是销售额、客户数量、产品数量等。通过对销售额、客户数量、产品数量等对象的计算和分析,可以表现出组织的销售情况。

总的来说,指标和对象相互关联,一个好的指标体系需要合理地定义指标和对象,并将它们结合在一起。

数据中台建设方法论

kerberos的使用

kerberos的使用

KDC常用操作

kadmin.local :打开KDC控制台,需要root权限

1
kadmin.local

addprinc :添加用户

1
2
3
4
5
添加用户,密码随机
addprinc -randkey root/admin

添加用户,输入用户密码
addprinc root/admin

delprinc :删除principle

1
delprinc  hdfs/admin

Trino连接启用Kerberos认证的CDH集群

Trino 连接启用 Kerberos 认证的CDH

Kudu

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
kudu.authentication.type = KERBEROS

## The kerberos client principal name
kudu.authentication.client.principal = clientprincipalname

## The path to the kerberos keytab file
## The configured client principal must exist in this keytab file
kudu.authentication.client.keytab = /path/to/keytab/file.keytab

## The path to the krb5.conf kerberos config file
kudu.authentication.config = /path/to/kerberos/krb5.conf

## Optional and defaults to "kudu"
## If kudu is running with a custom SPN this needs to be configured
kudu.authentication.server.principal.primary = kudu

kudu.authentication.server.principal.primary = kudu 这个没搞懂用途,用的默认值


Kerberos原理说明

Kerberos

Kerberos是一种通过传统的加密技术(共享密钥)实现的可信任的第三方认证机制。

kerberos协议中包含3种角色:

  • 客户端(client):发送请求的一方
  • 服务端(Server):接收请求的一方
  • 密钥分发中心(Key Distribution Center,KDC):密钥分发中心包括AS(Authentication Server)认证服务器和TGS(Ticket Granting Ticket)票据授予服务器

整个kerberos认证流程可以简化描述如下:
客户端在访问每个想要访问的网络服务时,他需要携带一个专门用于访问该服务并且能够证明自己身份的票据,当服务端收到了该票据他才能认定客户端身份正确,向客户端提供服务。所以整个认证流程可简化为两大步:

  1. 客户端向KDC请求获取想要访问的目标服务的服务授予票据(Ticket)(先在AS做可信身份认证,再在TGS申请票据);
  2. 客户端拿着从KDC获取的服务授予票据(Ticket)访问相应的网络服务


nginx添加basic表单认证

nginx给网站添加basic表单认证

很多大数据组件的adminUI 并没有设计授权认证,可以通过nginx 做一个简单的用户名密码认证:

  1. 生成密码文件
1
2
3
4
yum install httpd-tools -y

#输入密码,就会生成加密的用户密码文件
htpasswd -c /etc/nginx/conf.d/.ngpasswd admin

2 nginx 加上 auth_basic信息


Trino、Kudu 自监控页面配置Nginx Path访问

Trino、Kudu 自监控页面配置Nginx Path访问

Trino 的WebUI 默认是 {domain/ip}:8080

Kudu 的WebUI 默认是 {domain/ip}:8051/8050

现在期望通过 {domain/ip}:80/trino、 {domain/ip}:80/kudu 来访问

在客户环境中并不能把这些端口都开放出来,那么就需要通过Nginx 配置 path 才能访问,直接设置 proxy_pass 并不能展现出来,kudu 的因为html中都是绝对路径,Trino中是由于cookie设置是固定的

也许可以通过 kudu或者trino本身的配置实现 path 访问,但是没找到,所以想了其他办法


Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×