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,一经查实,立即删除!

相关文章

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

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

设计事件驱动的微服务

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

express中获取url参数

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

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

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

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

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

欢乐纪中某B组赛【2019.1.28】

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

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

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

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

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

语音服务——腾讯云

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

Visual Studio交叉编译器提供对ARM的支持

只要ARM平台能够运行Windows,Visual Studio就有能力拓展ARM平台。在Visual Studio 2017 15.5预览版2中,该IDE通过使用GCC编译器,增加了对基于ARM的计算机和物联网(IoT)设备的支持力度,从而扩展了对ARM平台的…

我心中的ASP.NET Core 新核心对象WebHost(二)

这是ASP.NET Core新核心对象系列的第二篇,上一篇 WebHost准备阶段 我们讲到了WebHostBuilder的初始化及配置。我们给WebHostBuilder进行以下配置 UseKestrel 设置Kestrel为HttpServer ConfigureAppConfiguration 设置了配置文件 ConfigureLogging 配置了日志处理器…

Hadoop生态Flume(三)拦截器(Interceptor)介绍与使用(1)

转载自 Flume中的拦截器(Interceptor)介绍与使用(一) Flume中的拦截器(interceptor) 用户Source读取events发送到Sink的时候,在events header中加入一些有用的信息,或者对events的…

SOA对微服务的残余影响

近日,Tareq Abedrabbo在伦敦2017 Con微服务大会上说,SOA对微服务架构设计的残余影响仍然存在,包括技术选型和组织方面的问题。最直接的一个例子就是大多数企业仍然区分对待架构师和开发人员,架构师负责出规范,开发人员…

Hadoop生态Flume(四)拦截器(Interceptor)介绍与使用(2)

转载自 Flume中的拦截器(Interceptor)介绍与使用(二) lume中的拦截器(interceptor),用户Source读取events发送到Sink的时候,在events header中加入一些有用的信息,或者对…

协作更进一步:微软隆重介绍Visual Studio动态分享功能

微软刚刚在 Visual Studio Code 网站上宣布了“动态分享”(Live Share)功能,开发者们可以在 VS 2017 或 VS Code 中体验全新的实施协作。微软表示,Live Share 可让团队在相同的代码库上启用快速协作,而无需同步代码或配…

python打包exe文件

首先安装pyinstaller pip3 install pyinstaller接着导报指定文件 pyinstaller.exe -F 文件路径文件名 举例 pyinstaller.exe -F C:\Users\Tecna1205\Desktop\工作目录\Python工作目录\测试\3.3\test\tk.py 如果有图形界面,不想打开命令行,可在打包命令…

使用MS Test做单元测试

声明:本篇博客翻译自:http://www.c-sharpcorner.com/article/unit-testing-with-ms-tests-in-c-sharp/ 写在翻译之前: 依然清晰的记得刚工作的第一个项目中,在完成一个功能模块开发后,师傅让我把代码做一下单元测试。当…

Vue组件传参

父组件向子组件传参 数据&#xff1a; 父组件 <test :message"msg"></test>msg: Hello uniApp子组件&#xff08;test.vue&#xff09; <text>{{message}}</text>props:["message"]子组件向父组件传参 子组件&#xff1a; &…

如果不懂Service mesh,就不要谈微服务了

提到微服务&#xff0c;spring cloud等经典框架被使用的最为广泛&#xff0c;但是在2016年才被提起的Service Mesh&#xff0c;已经被Paypal、Lyft、Ticketmaster和Credit Karma等等一些大流量平台所使用&#xff0c;在生产应用中添加了Service mesh。今年随着Linkerd传入国内&…

使用AspectCore动态代理

前言 最近越来越多的同学关注到AspectCore&#xff0c;并且提出不少中肯的建议&#xff0c;其中最多的提议是希望能够看到更多的关于AspectCore使用方式的文章和Demo。那么在这篇文章里&#xff0c;我们就来聊聊AspectCore核心之一的动态代理。 动态代理 在.NET平台中&#xff…