- 博客(20)
- 收藏
- 关注
原创 时序数据库 druid 简介 之技术点 统计估算算法
在前边介绍时序数据的时候, 我们可能经常会遇到计算基数(Cardinality) 和分位数 (Quantile)。 基数我们可以理解为 count distinct。比如计算页面访问的独立ip, 分位数我们举个我们最常用的第99百分位数例子, 假设我说中国人寿命的第99百分位数是101岁, 这个表示, 99%的中国人的寿命不会超过101岁。我们看看基数怎么计算。 假设我们要统计独立ip
2015-04-08 14:23:49
2291
原创 时序数据库 druid 简介 之技术点 位图索引
前面介绍了数序数据的特点, 往往是有大量的维度(dimension)。每个具体的位图, 其可能的取值相对于数据总量来说往往并不多, 但是查询经常涉及到很多维度的组合。举个例子, 假设数据是中国的人口数据, 有一个维度是年龄。 那么这个维度的可能值不会超过150个, 还有一个维度是所在区域, 如果省级区域的话也就三十来个。维度本身的取值不多, 可是查询的时候往往是一种组合。 比如青海省20-30岁之
2015-04-08 11:16:44
2102
原创 时序数据库 druid 简介之整体架构
druid (http://druid.io/)是设计用来分析时序数据,对OLAP提供支持。设计的时候就考虑到分布式的一些基本问题, 比如扩展性, 可靠性等问题。虽然文档比较糟心, 但是功能还是有一定吸引力的。druid 的设计思想是把时序数据分析这个任务分成几个处理步骤, 建立相关的组件, 每个组件只集中精力处理自己的任务。那么我们也根据一个时序数据的处理流程来了解一下druid的主
2015-04-08 10:22:40
7042
原创 时序数据库简介
这个小文章里尽量避免使用数据挖掘的概念, 争取用简单的语言解释出来, 如果以后有时间, 再仔细介绍几种开源时序数据库的结构和关键技术。时序数据简单的说, 就是随着时间流而不断产生的数据, 比如一台服务器的cpu负载, 或者一个应用的log文件等。 对于这种时序数据, 有一些常用的操作, 比如统计每分钟的平均值, 中位数等。所谓时序数据库, 就是针对这类场景做了优化的一类数据存储查询系统。在
2015-04-08 08:15:12
7004
原创 云计算发展随想
关于云计算的发展会如何逐步改变现代企业的it系统建设, 改变企业的生产经营方式, 以及云计算产业链上的上中下游为了满足企业的需求需要如何发展自己的产品,自己有一些模糊的想法,写出来大家一起探讨。 首先考虑企业会如何使用云计算。因为企业本身IT系统规模, 业务对IT系统的依赖各不相同, 所以企业拥抱云的道路也一定千差万别, 我考虑, 可能会出现下面几个大类: 第零类企业,
2014-10-27 12:56:01
788
原创 介绍下用消息队列实现分布式事务
在OIE的时代, 上层应用开发人员总是认为数据库足够强大, 所以很多业务可以做的非常简单。 比如A转账50元给B这个过程, 只要写一个简单sql语句块就ok了。 开始事务; A账户减去50 B账户增加50 提交事务。 这个实现简单明了, A账户钱减少的同时B账户的钱得到增加。但是当系统规模逐步扩大的时候, 只能不断要求使用更
2014-10-27 12:55:58
1275
1
原创 乐观也要在常识范围内
一般有新开展的业务来申请资源的时候, 我们需要业务方估算一下他们的tps和资源消耗量, 于是经常见到各种不靠谱的估算。业务方往往拍拍脑袋就给个三万五万的估算。拜托, 又不是打麻将, 想出几万出几万。 我们来简单算算5万tps到底是个什么概念。假设这是一个电子商务网站, 每笔交易的客单价为30元, 当tps达到5万的时候是什么概念呢?我们就算一天只有10个小时是有效交易时间, 那么一小时3600秒,
2014-10-27 12:55:55
399
原创 看看云计算的武器库 --- 写给传统软件开发人员
最近两年, 云计算在软件开发上的影响越来越大,很多传统软件商都在进行云计算的转型, 这里就我的理解, 来介绍一下云计算目前提供给软件开发集成人员的基本能力和组件。 下面的介绍产品的时候是根据amazone和阿里云对比介绍来进行。虽然amazone的产品集要丰富完备得多, 但是考虑神州的实际情况, 即便amazone入华也存在后续被赶出去的风险, 所以选择amazone的产品还
2014-10-27 12:55:53
524
原创 Raft 算法学习 续
log的传播 当leader收到客户的写请求后, 它记录一个更新log, 然后把log并行的复制给其它server。在多数派完成log复制后, leader向客户回复操作成功,以确认操作被提交。如果有follower宕机或处理的速度很慢, leader会一直重试直到成功。我们先看log的组织形式。以term 和 index来标示log 如下图: 1
2014-10-27 12:55:50
593
原创 raft 算法学习
本文介绍分布式一致性算法 Raft。 需要读者理解分布式一致性问题产生的原因。 在分布式一致性算法上, 最著名的当然是 paxos。 同时, 这家伙也以难以理解而闻名。于是 raft 来了。本文对raft 依据(https://ramcloud.stanford.edu/wiki/download/attachments/11370504/raft.pdf) 进行简单的说明, 帮助
2014-10-27 12:55:47
850
原创 cuckoo filter 简介
介绍个小东西, cuckoo filter (布谷鸟过滤器)。可以用作替代bloom filter。 介绍这个东东前先简单介绍一下 cuckoo hash。 cuckoo hash 是一种hash表, 在最坏情况下查找也是常数时间, 它主要是在 hash 冲突时处理方法比较特殊。传统hash表在发生hash冲突的时候, 通过把冲突的item挂在一张链表上解决(当然还有其它方
2014-10-27 12:55:44
2378
原创 Percolator 中的分布式事务
Percolator 对外提供两个主要的功能, 一个是分布式事务, 另外一个是 observers, 这里简单介绍一下 Percolator 中分布式事务的实现方法. 以下内容都出自对 google 论文 Large-scale Incremental Processing Using Distributed Transactions and Notifications 的学习. 这里介绍的内容只
2014-10-27 12:55:42
752
原创 autoconf 中添加 boost 支持
最近要在项目中使用 autoconf 来查找 boost 相关内容, 于是 google 了一阵子发现下面这个东东.http://ac-archive.sourceforge.net/ac-archive/ax_boost.html也可以去这里找来用http://www.nongnu.org/autoconf-archive/macros-by-category.html#BOOST大和尚比较懒,
2014-10-27 12:55:36
414
原创 dynamo 的最终一致性和两阶段提交
--插一句, 在写这个东东的时候, 发现我发的那个 dynamo 简介中, 关于 W N R 模型的一致性说明是有错误的, 在那个文章里加了个注释. 因为没有源码可看, 很多东西只能靠自己的理解来写了, 请发现问题的同学不吝指出, 谢谢. 最近聊天时, 有些同学提出用两阶段提交来实现分布式系统中的一致性. 下面以 Dynamo 为例子, 说说我的理解. 首先看两阶段提交, 它是为了
2014-10-27 12:55:34
1290
原创 Dynamo - 亚马逊的 key value 系统 简介
这个小文打算写成入门级的介绍,所以很多语言不追求准确性。本介绍参考 Amazon 的 Dynamo 论文。需要更详细更准确信息的同学请直接阅读原文。(原文地址http://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf) 这篇论文本身没提出什么新的思想,正如论文中所说,贡献在于把非常多的技术结合到了一起,来
2014-10-27 12:55:31
550
原创 Paxos算法简介
本介绍是 Paxos Made Simple 的中文说明。会摘录一些原来的段落讲解。如果大家发现有问题的地方,参照原文。说明中部分内容摘自维基百科。 Paxos Made Simple 是因为最初的论文比较难懂,作者又写了这篇比较形象好懂的介绍。首先要明确的是 Paxos 算法,是为了解决分布式环境下一致性的问题而提出的算法。这里将牺牲一些严格性,采用比较好懂的具体例子对文章加以解读。
2014-10-27 12:55:28
491
原创 hypertable介绍
一 Hypertable 是什么:Hypertable是一个正在进行中的开源项目,以google的bigtable论文为基础指导,使用c++语言实现。目的是为了解决大并发,大数据量的数据库需求。目前只支持最基本的查询功能,对于事物,关联查询等都不支持。对单条查询的响应时间可能也不如传统数据库(要看数据量,量越大,对hypertable越有力)。好处是,可以处理大量并发请求,和管理大
2014-10-27 12:55:26
1575
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人