背景:
平常我们使用 hive 或者 mysql 时,一般聚合函数用的比较多。但对于某些偏分析的需求,group by可能很费力,子查询很多,这个时候就需要使用窗口分析函数了~
注:hive、oracle提供开窗函数,mysql8之前版本不提供,但Oracle发布的 MySQL 8.0版本支持窗口函数(over)和公用表表达式(with)这两个重要的功能!

Focus on truth. welcome to correct.
背景:
平常我们使用 hive 或者 mysql 时,一般聚合函数用的比较多。但对于某些偏分析的需求,group by可能很费力,子查询很多,这个时候就需要使用窗口分析函数了~
注:hive、oracle提供开窗函数,mysql8之前版本不提供,但Oracle发布的 MySQL 8.0版本支持窗口函数(over)和公用表表达式(with)这两个重要的功能!

刚离职的这家公司,数据仓库可以提供基本的功能:基于时间的历史数据查询,多维展示报表,决策支持、数据质量监控等,但是也有许多问题,下面来看看这些问题及解决方案,不知道同行们有没有遇到过。

OLAP系统,基于数据仓库,为数据价值而生,提供复杂的数据分析操作,及直观易懂的查询结果,目前市场上有许多开源的OLAP框架,如Impala、Presto、Druid、Kylin、Spark SQL等,他们的关系又是怎样的呢,我们应该怎样选择框架?

PBFT是Practical Byzantine Fault Tolerance的缩写,即:实用拜占庭容错算法。主要用于联盟链,下面来看下介绍吧。

在分布式系统中,多个节点之间达成共识成为最重要的组成部分,在发展过程中,出现许多类型的算法,他们从最基本的达成共识,到易于理解,更接近于实践应用等等方面,做到了极致,下面来看看Paxos、Raft、ZAB、Etcd之间的不同。

前一段时间的项目里用到了 Etcd, 所以研究了一下它的源码以及实现。网上关于 Etcd 的使用介绍的文章不少,但分析具体架构实现的文章不多,同时 Etcd v3的文档也非常稀缺。本文通过分析 Etcd 的架构与实现,了解其优缺点以及瓶颈点,一方面可以学习分布式系统的架构,另外一方面也可以保证在业务中正确使用 Etcd,知其然同时知其所以然,避免误用。最后介绍 Etcd 周边的工具和一些使用注意事项。

Zookeeper中一致性共识算法ZAB(Zookeeper Atomic Broadcast protocol)改进了Raft算法,提供一致性的元数据存储,多用在分布式系统中共享元数据信息。下面来看看具体细节。

熟悉或了解分布式系统的开发者都知道一致性算法的重要性,Paxos一致性算法提出至今已经有二十几年了,而Paxos流程太过于繁杂,实现起来比较复杂,因此Raft应运而生,它是比Paxos更简单而又能实现Paxos所解决的问题的一致性算法。

