druid相关的时间序列数据库——也用到了倒排相关的优化技术

Cattell [6] maintains a great summary about existing Scalable SQL and NoSQL data stores. Hu [18] contributed another great summary for streaming databases. Druid feature-wise sits some-

where between Google’s Dremel [28] and PowerDrill [17]. Druid has most of the features implemented in Dremel (Dremel handles arbitrary nested data structures while Druid only allows for a single

level of array-based nesting) and many of the interesting compression algorithms mentioned in PowerDrill. Although Druid builds on many of the same principles as other distributed columnar data stores [15], many of these data stores are

designed to be more generic key-value stores [23] and do not sup

port computation directly in the storage layer. There are also other

data stores designed for some of the same data warehousing issues

that Druid is meant to solve. These systems include in-memory

databases such as SAP’s HANA [14] and VoltDB [43]. These data

stores lack Druid’slowlatency ingestion characteristics. Druidalso

has native analytical features baked in, similar to ParAccel [34],

however, Druid allows system wide rolling software updates with

no downtime.

Druid is similiar to C-Store [38] and LazyBase [8] in that it has

twosubsystems,aread-optimizedsubsysteminthehistoricalnodes

andawrite-optimizedsubsysteminreal-timenodes. Real-timenodes

are designed to ingest a high volume of append heavy data, and do

not support data updates. Unlike the two aforementioned systems,

Druid is meant for OLAP transactions and not OLTP transactions.

Druid’s low latency data ingestion features share some similar-

ities with Trident/Storm [27] and Spark Streaming [45], however,

both systems are focused on stream processing whereas Druid is

focused on ingestion and aggregation. Stream processors are great

complements to Druid as a means of pre-processing the data before

the data enters Druid.

There are a class of systems that specialize in queries on top of

cluster computing frameworks. Shark [13] is such a system for

queriesontopofSpark,andCloudera’sImpala[9]isanothersystem 

focused on optimizing query performance on top of HDFS. Druid

historical nodes download data locally and only work with native

Druid indexes. We believe this setup allows for faster query laten

cies.

Druid leverages a unique combination of algorithms in its archi-

tecture. Although we believe no other data store has the same set

of functionality as Druid, some of Druid’s optimization techniques 

suchas using inverted indices to perform fast filter sarealsousedin

other data stores [26].

druid白皮书:http://static.druid.io/docs/druid.pdf

时间: 2024-10-05 04:58:28

druid相关的时间序列数据库——也用到了倒排相关的优化技术的相关文章

时间序列数据库(TSDB)初识与选择(InfluxDB、OpenTSDB、Druid、Elastic

背景 这两年互联网行业掀着一股新风,总是听着各种高大上的新名词.大数据.人工智能.物联网.机器学习.商业智能.智能预警啊等等. 以前的系统,做数据可视化,信息管理,流程控制.现在业务已经不仅仅满足于这种简单的管理和控制了.数据可视化分析,大数据信息挖掘,统计预测,建模仿真,智能控制成了各种业务的追求. "所有一切如泪水般消失在时间之中,时间正在死去",以前我们利用互联网解决现实的问题.现在我们已经不满足于现实,数据将连接成时间序列,可以往前可以观其历史,揭示其规律性,往后可以把握其趋势

时间序列数据库(TSDB)初识与选择(InfluxDB,OpenTSDB,Druid)

背景 这两年互联网行业掀着一股新风,总是听着各种高大上的新名词.大数据.人工智能.物联网.机器学习.商业智能.智能预警啊等等. 以前的系统,做数据可视化,信息管理,流程控制.现在业务已经不仅仅满足于这种简单的管理和控制了.数据可视化分析,大数据信息挖掘,统计预测,建模仿真,智能控制成了各种业务的追求. "所有一切如泪水般消失在时间之中,时间正在死去",以前我们利用互联网解决现实的问题.现在我们已经不满足于现实,数据将连接成时间序列,可以往前可以观其历史,揭示其规律性,往后可以把握其趋势

时间序列数据库(TSDB)初识与选择

背景 这两年互联网行业掀着一股新风,总是听着各种高大上的新名词.大数据.人工智能.物联网.机器学习.商业智能.智能预警啊等等. 以前的系统,做数据可视化,信息管理,流程控制.现在业务已经不仅仅满足于这种简单的管理和控制了.数据可视化分析,大数据信息挖掘,统计预测,建模仿真,智能控制成了各种业务的追求. "所有一切如泪水般消失在时间之中,时间正在死去",以前我们利用互联网解决现实的问题.现在我们已经不满足于现实,数据将连接成时间序列,可以往前可以观其历史,揭示其规律性,往后可以把握其趋势

试用时间序列数据库InfluxDB

Hadoop集群监控需要使用时间序列数据库,今天花了半天时间调研使用了一下最近比较火的InfluxDB,发现还真是不错,记录一下学习心得. Influx是用Go语言写的,专为时间序列数据持久化所开发的,由于使用Go语言,所以各平台基本都支持.类似的时间序列数据库还有OpenTSDB,Prometheus等. OpenTSDB很有名,性能也不错,但是基于HBase,要用那个还得先搭一套HBase,有点为了吃红烧肉自己得先去杀猪,烫皮,拔毛的感觉.Prometheus相关文档和讨论太少,而Influ

OpenTSDB介绍——基于Hbase的分布式的,可伸缩的时间序列数据库,而Hbase本质是列存储

原文链接:http://www.jianshu.com/p/0bafd0168647 OpenTSDB介绍 1.1.OpenTSDB是什么?主要用途是什么? 官方文档这样描述:OpenTSDB is a distributed, scalable Time Series Database (TSDB) written on top of HBase: 翻译过来就是,基于Hbase的分布式的,可伸缩的时间序列数据库. 主要用途,就是做监控系统:譬如收集大规模集群(包括网络设备.操作系统.应用程序)

时间序列数据库的秘密(3)——加载和分布式计算

时间序列数据库的秘密(3)——加载和分布式计算 加载 如何利用索引和主存储,是一种两难的选择. 选择不使用索引,只使用主存储:除非查询的字段就是主存储的排序字段,否则就需要顺序扫描整个主存储. 选择使用索引,然后用找到的row id去主存储加载数据:这样会导致很多碎片化的随机读操作. 没有所谓完美的解决方案.MySQL支持索引,一般索引检索出来的行数也就是在1~100条之间.如果索引检索出来很多行,很有可能MySQL会选择不使用索引而直接扫描主存储,这就是因为用row id去主存储里读取行的内容

时间序列数据库的秘密(1)—— 介绍

什么是时间序列数据?最简单的定义就是数据格式里包含timestamp字段的数据.比如股票市场的价格,环境中的温度,主机的CPU使用率等.但是又有什么数据是不包含timestamp的呢?几乎所有的数据都可以打上一个timestamp字段.时间序列数据更重要的一个属性是如何去查询它.在查询的时候,对于时间序列我们总是会带上一个时间范围去过滤数据.同时查询的结果里也总是会包含timestamp字段. 选择什么样的时间序列数据库 时间序列数据无处不在.而几乎任意数据库都可以存时间序列数据.但是不同的数据

阿里云发布时间序列数据库TSDB,关于时序你了解多少?

摘要: 阿里云发布时间序列数据库TSDB,专家帮你解答时序那些事. 概要介绍时间序列数据是一种表示物理设备,系统.应用过程或行为随时间变化的数据,广泛应用于物联网,工业物联网,基础运维系统等场景.阿里云TSDB 时间序列数据库可以解决大规模时序数据的可靠写入,降低数据存储成本,实时灵活的完成业务数据聚合分析. 什么是时序数据我们来看感受一下平时自己特别熟悉的场景,就会发现时序和每个人都存在非常紧密的关系:电商系统获取每笔订单交易金额和支付金额数据以及商品库存和物流数据:智能电表,会实时记录每个小

时间序列数据库选型——本质是列存储,B-tree索引,抑或是搜索引擎中的倒排索引

时间序列数据库最多,使用也最广泛.一般人们谈论时间序列数据库的时候指代的就是这一类存储.按照底层技术不同可以划分为三类. 直接基于文件的简单存储:RRD Tool,Graphite Whisper.这类工具附属于监控告警工具,底层没有一个正规的数据库引擎.只是简单的有一个二进制的文件结构. 基于K/V数据库构建:opentsdb(基于hbase),blueflood,kairosDB(基于cassandra),influxdb,prometheus(基于leveldb) 基于关系型数据库构建:m