Apache Druid(一)简介

翻译自 Apache Druid

Apache Druid(正在孵化)是一个开源的分布式数据存储。德鲁伊的核心设计结合了OLAP /分析数据库,时间序列数据库和搜索系统的思想,为广泛的用例创建了一个统一的系统。Druid将这三个系统中的每个系统的关键特征合并到其接收层,存储格式,查询层和核心体系结构中。

德鲁伊的主要功能包括:

列式存储

Druid分别存储和压缩每一列,并且只需要读取特定查询所需的内容即可,这支持快速扫描,排名和groupBys。

本机搜索索引

Druid为字符串值创建倒排索引,以便快速搜索和过滤。

流式处理和批量摄取

适用于Apache Kafka,HDFS,AWS S3,流处理器等的现成连接器。

灵活的架构

德鲁伊优雅地处理不断发展的模式和嵌套数据。

时间优化的分区

Druid基于时间对数据进行智能分区,并且基于时间的查询比传统数据库要快得多。

SQL支持

除了基于本机JSON的本地语言外,Druid还通过HTTP或JDBC 讲SQL。

横向可扩展性

Druid已用于生产中,每秒接收数百万个事件,保留多年的数据并提供亚秒级的查询。

操作简便

只需添加或删除服务器即可扩大或缩小规模,而Druid会自动重新平衡。容错架构围绕服务器故障进行路由。

积分

Druid是Apache软件基金会中许多开源数据技术的补充,包括Apache Kafka,Apache Hadoop,Apache Flink等。

德鲁伊通常位于存储或处理层与最终用户之间,并充当查询层以服务于分析工作负载。

摄取

德鲁伊支持流式传输和批量摄取。Druid连接到原始数据源,通常是消息总线,例如Apache Kafka(用于流数据加载),或分布式文件系统,例如HDFS(用于批处理数据加载)。

在调用“索引”的过程中,Druid将存储在源中的原始数据转换为更具读取优化的格式(称为Druid“段”)。

有关更多信息,请访问我们的文档页面。

存储

像许多分析数据存储一样,Druid将数据存储在列中。根据列的类型(字符串,数字等),将应用不同的压缩和编码方法。Druid还根据列类型构建不同类型的索引。

与搜索系统类似,Druid为字符串列构建反向索引,以进行快速搜索和过滤。与时间序列数据库类似,Druid可按时间对数据进行智能分区,以实现快速的面向时间的查询。

与许多传统系统不同,Druid可以选择在提取数据时对其进行预聚合。此预聚合步骤称为汇总,可以节省大量存储空间。

有关更多信息,请访问我们的文档页面。

查询方式

Druid支持通过JSON-over-HTTP和SQL查询数据。除标准SQL运算符外,Druid还支持独特的运算符,这些运算符利用其近似算法套件来提供快速计数,排名和分位数。

有关更多信息,请访问我们的文档页面。

架构

德鲁伊具有基于微服务的架构,可以认为是一个反汇编的数据库。Druid中的每个核心服务(摄取,查询和协调)都可以单独或联合部署在商用硬件上。

Druid明确命名了每个主要服务,以使操作员可以根据用例和工作量对每个服务进行微调。例如,如果工作负载需要,操作员可以将更多资源分配给Druid的提取服务,而将更少的资源分配给Druid的查询服务。

德鲁伊服务可以独立发生故障,而不会影响其他服务的运行。

有关更多信息,请访问我们的文档页面。

运作方式

德鲁伊旨在为需要每周7天,每天24小时不间断运行的应用程序供电。因此,德鲁伊具有多种功能来确保正常运行时间且不会丢失数据。

资料复制

Druid中的所有数据都被复制了可配置的次数,因此单个服务器故障对查询没有影响。

独立服务

Druid明确命名了其所有主要服务,并且每个服务都可以根据用例进行微调。服务可以独立发生故障,而不会影响其他服务。例如,如果提取服务失败,则系统中不会加载任何新数据,但是现有数据仍可查询。

自动数据备份

Druid自动将所有索引数据备份到文件系统(例如HDFS)。您可能会丢失整个Druid群集,并从此备份数据中快速还原它。

滚动更新

您可以通过滚动更新来更新Druid群集,而不会造成停机时间,也不会影响最终用户。所有Druid版本都向后兼容先前的版本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/322886.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jzoj4235-序列【斐波那契数列】

正题 题目大意 两个操作, 询问最前面的可以组成三角形的三个数,和修改一个数。 解题思路 我们考虑答案最后面可以到多少。 a,b,ab,ab∗2,a∗2b∗3a,b,ab,ab*2,a*2b*3a,b,ab,ab∗2,a∗2b∗3 其实就是斐波那契数列,然后因为输出的数都不会很大…

[ASP.NET Core 2.0 前方速报].NET Core 2.0.3 已经支持引用第三方程序集了

发现问题 在将 FineUIMvc(支持ASP.NET MVC 5.2.3)升级到 ASP.NET Core 2.0 的过程中,我们发现一个奇怪的现象: 通过项目引用 FineUICore 工程一切正常,但是将 FineUICore 编译后,通过程序集的引用方式就会报…

cookie、session、sessionid 与jsessionid

转载自 cookie、session、sessionid 与jsessionid cookie、session、sessionid 与jsessionid,要想明白他们之间的关系,下面来看个有趣的场景来帮你理解。 我们都知道银行,银行的收柜台每天要接待客户存款/取款业务,可以有几种方案…

Failed to load http://localhost:3000/products: The 'Access-Control-Allow-Origin' header has a value

用node写了个接口,但是启动前端的时候一直请求不到数据,报错 Failed to load http://localhost:3000/products: The ‘Access-Control-Allow-Origin’ header has a value ‘http://127.0.0.1:3000’ that is not equal to the supplied origin. 后来在n…

jzoj4226-A【图论】

正题 题目大意 给出mmm条边,nnn个点,求至少加入多少条边可以让每个点的度数不超过kkk。不可以有自环,可以有重边 解题思路 计算出每个点还差几条边。 然后如果需要加入多余边(一边是有用的,一边是没用的),那么肯定仅…

设计事件驱动的微服务

事件驱动的微服务是一个未受到应有探讨的领域,在近日举行的Con伦敦2017微服务大会上,Greg Young表达了这样的观点。同时,他还特别强调,不应该对所有的微服务都使用事件驱动模式。相反,他建议逐个服务进行考察&#xff…

写一个http服务器

http-server 这是一个http服务程序 http-server是server程序,提供socket连接&#xff0c;http报文处理 http-test是应用层配置处理的例子&#xff0c;提供业务层处理 git地址&#xff1a;https://github.com/90duc/http-server 1、加入依赖 <dependency><groupId>…

express中获取url参数

问号传参获取参数 获取 http://127.0.0.1:3001/user?id10&namezs 中的查询参数&#xff1a; 直接使用 req.query 获取参数即可&#xff1b; 注意&#xff1a;URL 地址栏中通过 查询字符串 传递的参数&#xff0c;express 框架会直接解析&#xff0c;大家只需使用 req.que…

jzoj4227-B【dp,字符串】

正题 题目大意 给定一个后缀数组&#xff0c;和每个地方填不同的字母可以获得的不同权值&#xff0c;求最大权值之和。 解题思路 先用后缀数组aaa计算出每个后缀的排名RankRankRank数组。 然后考虑dpdpdp&#xff0c;首先我们发现对于aia_iai​&#xff0c;每个cai≤cai1c_{…

处理ASP.NET Core中的HTML5客户端路由回退

在使用由Angular&#xff0c;React&#xff0c;Vue等应用程序框架构建的客户端应用程序时&#xff0c;您总是会处理HTML5客户端路由&#xff0c;它将完全在浏览器中处理到页面和组件的客户端路由。几乎完全在浏览器中... HTML5客户端路由在客户端上工作的很好&#xff0c;但是当…

Druid SQL查询数据timeStamp时区问题

一、Druid默认时区 默认使用UTC0000&#xff0c;数据存储的时间timeStamp为UTC0000 二、北京时间 在中国&#xff0c;使用UTC0800&#xff0c;查询时间需要设置时区或者将时区转换为UTC0000时间 以下查询是UTC0000时间&#xff0c;查询结果的dateTime也是UTC0000时间需要进行…

Promise解决异步操作问题

问题: 当有多个回调函数后&#xff0c;就无法保证其输出的顺序性了&#xff0c;而采用嵌套的方式虽可以解决这个问题&#xff0c;但是代码样式太丑&#xff0c;且很乱&#xff0c;Promise的出现就是为了解决这个问题 多个回调函数 var fs require(fs);fs.readFile(./files/1.…

jzoj4228-C【dp】

正题 题目大意 每个点往可以往4个方向之一发射光&#xff0c;要求光不可以相交且不可以经过别的点&#xff0c;求方案总数。 解题思路 将点按xxx排序&#xff0c; 设fl,r,u,d,if_{l,r,u,d,i}fl,r,u,d,i​表示放到第iii个点&#xff0c;最上面的向下发射的点为lll&#xff0c…

TFS在项目中DevOps落地进程(下)

紧接上篇 TFS在项目中Devops落地进程&#xff08;上&#xff09; 再接着说TFS相关之前先插入一个番外篇&#xff0c;虽然跟TFS关系不大但跟DevOps关系很大&#xff0c;觉得有必要在此乱入一下。 番外篇--监控之Application Insights 我们之前并没有任何监控类产品&#xff08;我…

Js如何判断undefined和null

判断是否为undefined var example undefined; if (typeof(example) "undefined") {console.log("undefined") }判断是否为null var example null; if (!example && typeof(example)!undefined && example!0) {console.log("nu…

Spring Data之MongoDB配置

一、重写基类扩展功能 package com.mk.mongodb.repository;import org.springframework.data.mongodb.core.MongoOperations; import org.springframework.data.mongodb.core.aggregation.Aggregation; import org.springframework.data.mongodb.core.aggregation.Aggregation…

欢乐纪中某B组赛【2019.1.28】

前言 心态爆炸 成绩 RankRankRank是有算别人的 RankRankRankPersonPersonPersonScoreScoreScoreAAABBBCCCDDD3332017myself2017myself2017myself1901901901001001005050500004040401313132017zyc2017zyc2017zyc1701701707070706060600004040401313132017hzb2017hzb2017hzb1701…

这应该是目前最快速有效的ASP.NET Core学习方式(视频)

ASP.NET Core都2.0了&#xff0c;它的普及还是不太好。作为一个.NET的老司机&#xff0c;我觉得.NET Core给我带来了很多的乐趣。Linux&#xff0c; Docker&#xff0c; CloudNative&#xff0c;MicroService&#xff0c;DevOps这些都能跟它很完美的结合&#xff0c;再加ASP.NE…

大叔公开课~微服务与持久集成

闲话多说 免费报名&#xff1a;http://www.genshuixue.com/teacher/classCourseDetail/171117794648么可以通过阅读原文报名 .Net Core来了&#xff0c;带给我们的是什么&#xff1f;跨平台&#xff0c;无疑是最大的亮点&#xff01; Docker横空出世&#xff0c;让开发者和运维…

语音服务——腾讯云

腾讯语音服务文档 一、开通语音消息服务流程 &#xff08;1&#xff09;注册并认证 如果您还没有腾讯云账号&#xff0c;您需要 注册腾讯云 账号&#xff0c;并完成 企业实名认证。如果您已有企业认证的腾讯云账号&#xff0c;请直接进行下一步操作。 申请开通语音消息服务 …