免费启用https

浏览到coolshell上的一篇博客,可以免费启用https,赶紧按步骤体验了下。

总体流程比较顺利,也顺利创建了crontab任务

ubuntu@:~$ cat /etc/cron.d/certbot
# /etc/cron.d/certbot: crontab entries for the certbot package
#
# Upstream recommends attempting renewal twice a day
#
# Eventually, this will be an opportunity to validate certificates
# haven't been revoked, etc.  Renewal will only occur if expiration
# is within 30 days.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew

但是http自动跳转到https并没有起作用,后来在网上找到了类似的问题,用下面的配置启用了http强制跳转

ServerName njujiang.tech
ServerAdmin njujiang@163.com
DocumentRoot /var/www/html/wordpress
Redirect / https://njujiang.tech/

Kid Castle Theme Song

Come with me, to the happy castle.
Kid Castle, the castle is for children.
Have no worries, only laughter.
Let’s learn and grow at Kid Castle.
Want to say, want to sing.
A B C, one two three.
Join us, my good friends.
You’ll find here’s a wonderland.
Come with me, to the happy castle.
Kid Castle, the castle is for children.
Have no worries, only laughter.
Let’s learn and grow at Kid Castle.

WordPress插件列表

* All In One WP Security

安全插件,同时兼有一些资源的备份恢复功能

* Custom Favicon

自定义网站的图标

* Google Analytics for WordPress by MonsterInsights

该插件可以方便地将GA的埋点JS代码注入到网页中,并且有dashboard直接展示访问统计数据

* Google Font Fix

有些主题使用了Google的字体库,需要从font.googleapis.com下载,异常缓慢,从而导致网页无法打开。该插件可以将字体的下载地址替换为国内的镜像

* Markdown Editor

将文章的编辑框替换为Markdown的编辑器,并支持双栏编辑模式,所见即所得

* SyntaxHighlighter Evolved

code highlighter

* PDF Embedder

支持在文章中直接浏览PDF,支持翻页等常见操作

* Table of Contents Plus

在文章的最开头展示目录结构(TOC,Table of Content)

2017阅读书目

已阅读完

  • 百年孤独
  • Effective Java
  • Design Data Intensive Application
  • Big Data-Principles and best practices of scalable real-time data systems

正在阅读

  • 平凡的世界
  • Hadoop Application Architectures

香港之旅准备事项

住宿

九龙东皇冠假日酒店

飞猪

沙田凯悦酒店

飞猪


手机

电信
 
20元300MB流量包

拨打香港电话,号码前加00852


交通

八达通卡

携程

香港机场入境大厅24号柜台可以办理退卡,手续费9$


景点

太平山顶

携程
 
到中环,从中环J2出口出来,沿花园道步行至缆车总站,朝向中银大厦的方向走,过马路,走中银大厦旁边的那条街道,走走就是上坡的了,大概走10分钟,可以看见美国领事馆,缆车站入口就在旁边啦。乘坐缆车至山顶总站。
 

迪士尼

携程
 

海洋公园

携程

Data Vault Model笔记

数据模型的演变

3NF

3NF最一开始是应用于OLTP系统中,后来Inmon采用3NF来构建企业数据仓库。

优点

  1. 可以很方便的扩展
  2. 减少数据冗余
  3. 与源系统结构基本保持一致,易于理解,同于也方便进行数据加载
  4. 可以支持实时的数据加载

缺点

  1. 数据查询的成本比较高,需要关联多张表
  2. 父子关系的处理会比较复杂;而且当父表发生变化时,所有的子表都会进行相应的处理
  3. 构建企业数据仓库的时间会比较长
  4. 为了适用于数据仓库,保留历史数据,需要在主键中增加时间,增加了处理的复杂度

Star Schema

Star Schema,是一种反范式,由事实表与多个维度表组成。Kimball的维度建模就是基于它来构建。

优点

  1. 面向主题,对需求方更加易懂
  2. 可以很方便地做多维分析
  3. 聚集等复杂查询性能较好
  4. 相比3NF,构建起来更加迅速
  5. 可以高效地存储历史数据

缺点

  1. 无法实时加载数据,而且加载处理的成本会比较高
  2. 由于是反范式,数据有所冗余
  3. 不太灵活,无法及时响应业务规则的变更
  4. 事实表粒度的问题
    • Fact granularity
      事实表的统计粒度越小,其记录条数就越多
    • Fact table size
      每在事实表中增加一项维度,其记录数就要再乘上新维度的条数
    • Changing attributes
      如果维度的属性发生了变化,则需要记录维度的历史信息,否则则会导致历史的统计信息有误

Data Vault

Data Vault是一种混合的构建方式,它不是一种adaption,而且专门解决数据仓库领域问题的一种方案。它结合了3NF与Star Schema两种方式的优点,比如:
1. 结构灵活,易于扩展,可以自由地增删
2. 可以实时加载数据
3. 可以方便地追溯历史
4. 由于不同表之间的解耦,ETL的任务可以并发执行,效率提升
5. 很方便地转换为维度模型

但是也会存在一些缺点:
1. 同样会存在大量的join,影响性能
2. Link表一直是append,导致已经过期的关系无法清理。但是其实过期的关系,反映的也是历史上曾经发生过的关联,在回溯历史的时候,同样会用到。
3. 由于将关系、属性从实体中抽取了出来,属性还会继续做拆分,那么其对象的数量是要比3NF多很多的。
4. 从源系统的表,抽象到Hub、Link等,需要资深专业数据建模人员的参与建设。

Data Vault架构

Data Vault由Hub、Link、Satellite三部分组成。

Hub

Hub对应着业务中的一个实体,但是Hub表中一般只有业务主键,不包含其他属性字段。
除了业务主键,一般还会包含以下字段:

Surrogate Key

代理主键,是可选的,可以是一个自增序列

Load Date Time Stamp

记录了这条记录第一次加载到数据仓库中的时间

Record Source

为了方便追溯,还记录了该条记录的来源

总结

源系统的数据加载到Hub表中后,Hub表的记录就不会再变动了。因为它只包含了业务主键,属性的变动不会影响到Hub表,这样源系统新增的记录就可以实时地加载到Hub表中。

Link

Link对应着业务中实体之间的关系,或者业务系统中发生的事务。它会包含以下字段:

Surrogate Key

代理主键,可选。因为一般Link表的主键是由多个Hub Key组成的复合主键,为了性能等方面的考虑,可以考虑增加代理主键。

Hub Keys

Link所关联的Hub表的主键

Load Date Time Stamp

记录关系第一次创建的时间

Record Soure

方便追溯,记录来源

总结

Link表的记录同样是只允许append,且创建后就不会变动,同样支持实时加载。和3NF不同的是,不管是1:N,还是N:N的关系都会抽取出来做为Link。如果业务规则是必须要1:N,就需要额外的特殊处理了。

Satellite

Satellite存储的是Hub或Link的上下文,或者说是描述信息。这些信息会随时间发生变动,而这些变动都应该被有效地存储起来。Satellite包含如下字段:

Satellite Primary Key

Satellite表的主键由两部分组成,因为其上下文信息经常变动,而每次变动都要被记录下来,因为主键上还要额外带上时间戳。

Hub/Link Primary key

与Hub/Link表的主键保持一致

Load Date Time Stamp

记录这一条记录是何时加载到数据仓库中的

Satellite Optional Primary Key

如果Satellite表比较特殊,比如用户由多个地址,那么地址的顺序号可以作为主键的一部分。

Record Source

方便追溯,记录来源

总结

Satellite由于需要记历史,通常会采用SCD的拉链记历史方式。但是如果某个表的属性变化频率不太一致,都放在同一个Satellite表中,就会造成存储的浪费。所以,一般会根据变化频次,相关性等原则,将属性分组,放在不同的satellite表中。

Point In Time

如果一个Hub表有多个Satellite表,不同的Satellite的更新频率不同。为了数据一致性,也就是说如果要统计某一天的指标,那么所有的Satellite表都应该能回溯到指定的那一天。这样,就需要一个Point In Time,在每一次属性发生变更时,对所有的Satellite表进行“拍照”,记录当时每个表的Load Date,以确定Satellite表的主键。

但是,如果Satellite表采取拉链记历史的方式来追溯历史,那么其实这个PIT是不需要的。PIT有个好处,就是所有的关联都是等值关联,查询的性能会比较好。

参考文章

  1. Comparisons between Data Warehouse modelling techniques
  2. 深入对比数据仓库模式:Kimball vs Inmon
  3. Data Vault Overview

大数据产品调研-Oracle

Big Data Architecture

大数据架构

Oracle产品体系

Oracle的Big Data产品体系,总体分为4个领域:

Aggregate

数据整合工具集。

Big Data Preparation

特性:

  1. 数据导入(Ingest)
    • 支持非结构化、半结构化及结构化数据
    • 清洗及规范数据,比如日期及手机号码的规范
    • 能够检查出数据重复
  2. 丰富信息(Enrich)
    • 数值数据的统计分析,文本数据的词频分析
    • 数据的自动分类
    • 元数据的发现(比如判断某列的内容为city)
    • 数据增强(Augment )(比如city列,推荐系统建议将列的人口、省份等额外信息添加到数据集中)
  3. 数据治理(Govern)
    • 导入任务的调度(用户的每一步操作都会记录下来,保存后作为调度任务的批处理脚本)
    • 仪表盘展示数据的历史记录
  4. 直观易用
    • 可视化展示(比如以饼图展示某列的样本分布)
    • 无脚本,全程通过视频及引导
    • 基于机器学习的推荐,提高用户体验(比如建议将列名修改为country)

IoT

物联网

Golden Gate

数据上云
1. 基于change log的数据复制,对原有db无影响
2. 基于socks5代理的TCP/IP连接,安全加密,高性能
3. 方便的界面管理及监控

Data Integrator for Big Data

用于大数据处理的数据集成工具,支持多种大数据平台

  1. ELT的架构,直接在目标平台进行转换、调度等,省去了中间层的开销

  2. 将逻辑模型设计与物理层的实现解耦

  3. 支持Native代码生成,支持Spark、Hive、Pig等多种标准,并可以在多种平台间无缝切换。

Metadata Management

元数据管理

  1. 通过元数据管理确保数据的规范化

  2. 通过增加协作和社交功能来提高管理效率

  3. 通过元数据版本控制,以实现数据一致性

  4. 通过数据血缘及影响分析报告,来管理数据的生命周期

数据治理工具的具体步骤:

  1. 定义业务术语(指标定义)

  2. 识别关键指标(Critial Data Element)

  3. 定义指标的安全等级

  4. 定义业务规则,并将指标与规则关联起来

  5. 定义指标的有效取值

  6. 支持数据血缘和影响分析

    • 能追溯某个指标的来源表
    • 能追溯某个指标的业务规则
    • 能从源头指标追溯到聚集计算后的指标

Oracle Stream Explorer

实时处理平台

Manage

云基础设施及云数据库

Experiment

专注于数据的探索,发掘数据的价值

Big Data Discovery

一种全新的大数据分析方法,有效地帮助组织机构快速地看到和了解原始数据的潜在意义,并且轻松转换数据使其更加直观用以信息发现,然后共享数据带来的新的价值。

  1. Find
    数据浏览、检测

  2. Explore
    可视化展现数据透视的结果

  3. Transform
    提供丰富的转换函数,并能增加维表信息(如地理信息)

  4. Discovery
    数据集的关联,多维分析,多样的可视化展现形式

  5. Share
    可以分享截图、项目等,并可以将数据导出到hdfs上,供后续使用

Analyze and Act

数据挖掘及数据服务,体现数据价值

Data Visualization

数据可视化

Business Intelligence

Advanced Analytics

  1. Oracle R
  2. Oracle Data Mining

Real-Time Decisions

实时决策管理平台

Big Data SQL

可以让用户在Hadoop等NoSQL平台上使用SQL进行查询

Spatial and Graph

图形分析
地理位置信息