实时计算
文章平均质量分 78
cdai
这个作者很懒,什么都没留下…
展开
-
实时处理与流处理
前言:作为一个程序员,总是能不时地听到各种新技术名词,大数据、云计算、实时处理、流式处理、内存计算… 但当我们听到这些时髦的名词时他们到底是在说什么?偶然搜到一个不错的帖子,就总结一下实时处理和流式处理的区别吧。正文:要说实时处理就得先提一下实时系统(Real-timeSystem)。所谓实时系统就是能在严格的时间限制内响应请求的系统。例如如果某系统能严格保证在10毫秒内处理来自网络的NASDAQ原创 2014-11-15 09:52:28 · 15589 阅读 · 0 评论 -
内存计算技术资料整理
先来看一下一张技术的全景图,其中涉及内存计算的技术标成红色。 1)事务处理:主要分为Cache(Memcached, Redis, GemFire)、RDBMS、NewSQL(以VoltDB为首的)三部分,缓存和NewSQL数据库是关注的重点。2)流式处理:Storm本身只是计算的框架,而Spark-Streaming才实现了内存计算式的流处理。3)分析阶段的对比:Ø 通用处理:MapReduc原创 2014-12-13 14:22:32 · 15350 阅读 · 2 评论 -
关系代数的并行计算
从Dremel和Impala的学习引申出了SQL查询的并行执行问题,于是借此机会深入学习一下关系数据库以及关系代数的并行计算。Speedup和ScaleupSpeedup指用两倍的硬件换来一半的执行时间。Scaleup指两倍的硬件换来同等时间内执行两倍的任务。但往往事情不是那么简单,两倍的硬件也会带来其他问题:更多CPU带来的长启动时间和通信开销,以及并行计算带来的数据倾斜问题。多处理器架构共享内原创 2014-12-13 14:07:56 · 2886 阅读 · 0 评论 -
从NSM到Parquet:存储结构的衍化
为了优化MapReduce及MR之前的各种工具的性能,在Hadoop内建的数据存储格式外,又涌现了一批各种各样的存储方式。如优化Hive性能的RCFile,以及配合Impala实现出Google Dremel功能(类似甚至是功能的超集)的Parquet等。今天就来一起学习一下HDFS中数据存储的进化历程。数据摆放结构数据摆放结构(data placement structure),顾名思义,就是数原创 2014-12-06 19:21:45 · 8144 阅读 · 0 评论 -
Google Dremel数据模型详解(上)
首先简单介绍一下Dremel是什么,能解决什么问题。第二部分着重讲Dremel的数据模型,即数据结构。第三部分将谈一下在此数据结构上设计的算法。1 起源Dremel的数据模型起源于分布式系统的应用环境(Protocol Buffers,一种在Google内广泛使用,现已开源的实现)。其数据模型是基于强类型的嵌套记录,抽象语法可以表示成下面公式:一个例子:2 嵌套列式存储2.1 记录结构的无损表示首原创 2014-11-30 21:33:07 · 9453 阅读 · 1 评论 -
Impala中的代码生成技术
Cloudera Impala是一种为Hadoop生态系统打造的开源MPP(massive parallel processing)数据库,它主要为分析型查询负载而设计,而非OLTP。Impala能最大限度地利用现代硬件和高效查询执行的最新技术。LLVM下的运行时代码生成就是用来提升执行性能的技术之一。LLVM简介LLVM是一个编译器及相关工具的库(toolchain),它不同于独立应用式(sta原创 2014-12-06 20:54:58 · 7169 阅读 · 0 评论 -
Google Dremel数据模型详解(下)
“神秘”的r和d单从数据结构来看的话,我们可以这样解释r和d的含义。r代表着当前字段与前一字段的关系,是在哪一层合并的,即公共的父结点在哪?举例来说,假如我们重建到了Code='en',通过r=2可以知道是在Language那一层发生了重复。为了保持原纪录的结构,我们会保存一些NULL数据,而d就是用于重建NULL字段。通过d的值,就能知道NULL的结构。例如下图,通过r=1知道应该合并到Name原创 2014-12-06 19:13:23 · 4736 阅读 · 0 评论 -
内存数据网格IMDG简介
1 简介将内存作为首要存储介质不是什么新鲜事儿,我们身边有很多主存数据库(IMDB或MMDB)的例子。在对主存的使用上,内存数据网格(In Memory Data Grid,IMDG)与IMDB类似,但二者在架构上完全不同。IMDG特性可以总结为以下几点:Ø 数据是分布式存储在多台服务器上的。Ø 每台服务器都是active模式。Ø 数据模型通常是面向对象和非关系型的。Ø 根据需要,经常会增原创 2014-12-21 20:49:53 · 8979 阅读 · 0 评论 -
Spark发展现状与战线
前言现今Spark正是风头正劲时,Spark本是UCBerkeley的AMPLab诞生的项目,后来捐赠给了Apache来管理源码和后续发展。今年从Apache孵化器终于孵化出了1.0版本。其对大数据的支持从内存计算和流处理,到交互式查询,一直到图计算和机器学习,可谓摆开了架势、拉长了战线,一方面挑战老前辈Hadoop和MapReduce,另一方面又随时准备迎接同样的后起之秀的挑战。大数据的今天今天原创 2014-11-27 20:15:46 · 8253 阅读 · 0 评论 -
分布式内存文件系统Tachyon
UCBerkeley研发的Tachyon(超光子['tækiːˌɒn],名字要不要这么太嚣张啊:)是一款为各种集群并发计算框架提供内存数据管理的平台,也可以说是一种内存式的文件系统吧。如下图,它就处于这样一个层次:在现有存储系统如HDFS之上,在Spark,MapReduce,Impala等各种计算框架之下。为什么要有这么一个框架呢?MapReduce就不说了,但像Spark这种内存计算框架,为什原创 2014-11-27 20:22:27 · 9535 阅读 · 3 评论 -
Spark分布式计算和RDD模型研究
1背景介绍现今分布式计算框架像MapReduce和Dryad都提供了高层次的原语,使用户不用操心任务分发和错误容忍,非常容易地编写出并行计算程序。然而这些框架都缺乏对分布式内存的抽象和支持,使其在某些应用场景下不够高效和强大。RDD(Resilient Distributed Datasets弹性分布式数据集)模型的产生动机主要来源于两种主流的应用场景:Ø 迭代式算法:迭代式机器学习、图算法,包原创 2014-11-22 14:54:47 · 18955 阅读 · 6 评论 -
LMAX高并发系统架构
很早就看到过MF的这篇The LMAX Architecture,可是之前一来英文水平不够,二来确实看不懂… 今天有幸再次看到,一口气读完终于有所领悟。1 Overall ArchitectureLMAX是一个新的金融交易平台。系统完全构建于JVM之上,却能在一个单线程上每秒处理6m的订单(其实是指核心业务逻辑处理类是单线程的)。系统主要由高并发组件Disruptors和业务服务Business原创 2014-11-22 14:45:03 · 10725 阅读 · 1 评论 -
Storm 0.9安装指南
Storm 0.9.2安装指南0 Storm0.9的亮点引用网上的描述:“Storm 0.9.0.1版本的第一亮点是引入了netty transport。Storm网络传输机制实现可插拔形式,当前包含两种方式:原来的0mq传输,以及新的netty实现;在早期版本中(0.9.x之前的版本),Storm只支持0mq传输,由于0MQ是一个本地库(native library),对平台的依赖性较高,要完全原创 2014-11-15 09:43:28 · 7325 阅读 · 1 评论 -
ElasticSearch近实时搜索的实现
ElasticSearch近实时搜索的实现1.近实时搜索1.1 实时与近实时实时搜索(Real-time Search)很好理解,对于一个数据库系统,执行插入以后立刻就能搜索到刚刚插入到数据。而近实时(Near Real-time),所谓“近”也就是说比实时要慢一点点。1.2 近实时的挑战对于一个单机系统来说,这也并不容易实现,因为还要保证数据的持久化,还要利用缓存等技术加快数据的访问...原创 2019-06-30 03:38:15 · 3732 阅读 · 0 评论