Rust 开发搜索引擎 Quickwit 替代ES,成本降低 10 倍,查询亚秒级别!

一、Quickwit 概述

Quickwit 它是云存储上最快的搜索引擎,它非常适合用于可观察性的云原生搜索引擎,如日志、跟踪以及即将推出的指标。同时也是 Datadog、Elasticsearch、Loki 和 Tempo 的开源替代方案。

二、Quickwit 功能

全文搜索和聚合查询: 提供对文本内容的全面搜索能力,以及对数据进行聚合分析的功能。

Elasticsearch兼容API:允许使用现有的 Elasticsearch 或 OpenSearch 客户端与 Quickwit集成,保证了良好的兼容性和易用性。

Jaeger 原生支持: 内置对 Jaeger 的支持,有助于跟踪和监控微服务架构中的请求。

OTEL原生支持: 原生支持 OpenTelemetry(OTEL),用于日志和追踪,便于进行性能监控和故障排查。

灵活的索引选项: 支持无模式(Schemaless)和严格模式(Strict Schema)索引,以适应不同的数据结构需求。

云存储上的亚秒级搜索: 能够在Amazon S3、Azure Blob Storage、Google Cloud Storage等云存储服务上实现快速搜索。

计算与存储解耦: 采用计算和存储解耦的架构,使得索引器和搜索器是无状态的,有助于提高系统的可扩展性和弹性。

Grafana 数据源: 可以作为 Grafana 的数据源,方便用户在Grafana中进行数据可视化。

Kubernetes 就绪: 支持在 Kubernetes 上部署,提供了helm-chart以简化部署过程。

RESTful API: 提供REST风格的API,便于开发者通过HTTP请求与 Quickwit 进行交互

架构图描述如下:
在这里插入图片描述

Quickwit 拥有卓越的性能,正如当前 Quickwit 的 docstore 存储技术升级,从 LZ4 到 ZSTD 的压缩算法转变,默认块大小从16KB 提升至1MB,使得压缩率显著提高,根据不同数据集可达到25%至60%的优化。

三、Quickwit 未来的计划

下面是官网给出的 2024-2025年一个长期路线图,计划及功能要点。比如警报、分布式和复制摄取、架构更新支持原生 Go、Java 和 Python 客户端等。以及安全性 TLS、身份验证、RBAC。

还有近期计划下个版本 Quickwit 0.9,会在索引和搜索性能改进,及索引配置更新、保留策略、索引和搜索设置等。

更多的信息,可以到官网进行查阅,文档也非常丰富。

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

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

相关文章

C++语法13 单分支结构的相关问题详解

一、奇偶数问题 要判断一个数是否是偶数,只要判断这个数字能不能被2整除即可。如果一个数字a除以2,没有余数,那么就是偶数;如果除以2有余数,那么就是奇数。 if(a%20) a是偶数 if(a%21) a是奇数 训练&#xff1…

LangChain-ChatGLM本地搭建|报错合集(win10)

安装过程 1. 创建虚拟环境 conda create -n langchain-chatglm python3.10 conda activate langchain-chatglm2. 部署 langchain-ChatGLM git clone https://github.com/imClumsyPanda/langchain-ChatGLMpip3 install -r requirements.txt pip3 install -U gradio pip3 inst…

05-5.4.1 树的存储结构

👋 Hi, I’m Beast Cheng 👀 I’m interested in photography, hiking, landscape… 🌱 I’m currently learning python, javascript, kotlin… 📫 How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以…

note-网络是怎样连接的5 服务器端的局域网

助记提要 服务器部署形式和各自的特点 3种包过滤的原理防火墙无法抵御的攻击负载均衡的作用和原理缓存服务器的基本工作过程正向代理、反向代理、透明代理缓存服务器和内容分发服务如何找到最近的缓存服务器更新缓存的方式 5章 服务器端的局域网 1 Web服务器的部署 和路由器…

springboot宠物领养系统-计算机毕业设计源码07863

摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存…

持续总结中!2024年面试必问 20 道设计模式面试题(一)

一、什么是设计模式?请简述设计模式的分类。 设计模式是软件工程中的一种被广泛认可的解决方案模板,用于解决在软件设计过程中遇到的常见问题。它们是经验的总结,代表了一种在特定情况下被证明有效的解决方案。 设计模式的分类 设计模式通…

nginx的rewrite功能介绍

Rewrite 规则 ex:http://hostname/abc/abc.html –>http://hostname/abc.php?abc Rewrite对称URL Rewrite,即URL重写,就是把传入Web的请求重定向到其他URL的过程。 URL Rewrite最常见的应用是URL伪静态化,是将动态页面显示为静态页面方式…

4. Revit API UI 之 Ribbon(界面)

4. Revit API UI 之 Ribbon(界面) 第二篇中,我们提到了IExternalApplication,该接口需要实现两个方法:Revit启动时调用的OnStartup 方法,和Revit关闭时调研的OnShutdown 方法。文中还给了个例子&#xff0…

为什么idea总是提示将内部类设置为static

在写一些内部类的时候,Idea总是提示要设置为static,你知道为什么吗 在Java中,内部类可以被声明为static,这种内部类称为静态内部类(Static Nested Class)。静态内部类和非静态内部类有显著的区别&#xf…

2024年,计算机专业还值得选择吗

在2024年,计算机专业仍然是一个非常有前途和有价值的选择。计算机科学和技术的发展仍在不断加速,而全球范围内对技术人才的需求也在持续增长。以下是一些原因: 1. 高薪就业机会:计算机专业毕业生通常能够获得高薪的就业机会。技术…

mybatis之特殊SQL的执行

1.1模糊查询 尝试&#xff1a; //模糊查询用户 List<User> getUserByLike(Param("mohu") String mohu);<select id"getUserByLike" resultType"user">select * from user where username like %#{mohu}% </select>Test publ…

malloc和free函数在C语言中的作用

在C语言中&#xff0c;malloc和free函数是用于动态内存管理的关键函数。它们在程序运行时允许开发者根据需要动态地分配和释放内存。 malloc函数 malloc函数用于在堆&#xff08;heap&#xff09;上动态地分配指定大小的内存块&#xff0c;并返回一个指向该内存块的指针。如果…

普林斯顿大学教授终于把算法整理成图解笔记

普林斯顿大学教授终于把算法整理成图解笔记了&#xff01;&#xff01;&#xff01; 这些年虽然学到的编程知识越来越多&#xff0c;但是我对算法却始终没搞明白&#xff0c;直到偶然间看到这份笔记&#xff0c;我才认识到这些概念是多么简单。 对于很多刚入门的小伙伴来说&am…

如何让视频有高级感 高级感视频制作方法 高级感视频怎么剪 会声会影视频剪辑制作教程 会声会影中文免费下载

高质量视频通常具有清晰的画面、优质的音频和令人印象深刻的视觉效果。这篇文章来了解如何让视频有高级感&#xff0c;高级感视频制作方法。 一、如何让视频有高级感 要让视频有高级感&#xff0c;要注意以下几个要点&#xff1a; 1、剧本和故事性&#xff1a;一个好的剧本和…

建筑工程软件Revit中复杂大模型如何实现Web端轻量化?| HOOPS技术应用

建筑信息模型&#xff08; BIM&#xff09;技术在建筑工程中扮演着越来越重要的角色&#xff0c;而Autodesk Revit作为主流的BIM软件&#xff0c;被广泛应用于设计、施工和管理。然而&#xff0c;Revit生成的复杂大模型常常由于数据量庞大而难以直接在Web端展示和操作。这时&am…

MySQL 数据库 Navicat Premium 16.01 安装教程

MySQL 数据库 Navicat Premium 16.01 安装教程 目录 MySQL 数据库 Navicat Premium 16.01 安装教程前言安装步骤同意协议选择安装目录桌面快捷方式安装正在安装安装完成 步骤获取 前言 MySQL数据库管理用Navicat更加方便&#xff0c;可视化效果更好&#xff0c;今天给大家带来…

dp练习2

如何分析这个题目呢&#xff0c;要想着当前的最优解只和前面的最优解有关 class Solution { public:int numSquares(int n) {vector<int> f(n 1);for (int i 1; i < n; i) {int minn INT_MAX;for (int j 1; j * j < i; j) {minn min(minn, f[i - j * j]);}f[…

计算机组成原理(四)Cache存储器

文章目录 Cache存储器的基本原理cache命中率、平均访问时间、效率地址映射全相联映射直接映射组相联映射 查找算法cache 存储器替换策略cache 存储器-写操作策略习题 Cache存储器的基本原理 Cache是一种高速缓冲寄存器&#xff0c;是为了解决CPU和主存之间速度不匹配而采用的一…

线性表嘻嘻嘻

顺序存储结构 数组大小 #define MaxSize 50 存储类型&#xff08;整个顺序表的&#xff09; typedef struct{ElemType data[MaxSize];//ElemType看实际需求定int length; }SqList; 数组是用来存储元素的&#xff0c;length是长度。 这里的data可以是一个结构体数组&#…

树莓派4B_OpenCv学习笔记6:OpenCv识别已知颜色_运用掩膜

今日继续学习树莓派4B 4G&#xff1a;&#xff08;Raspberry Pi&#xff0c;简称RPi或RasPi&#xff09; 本人所用树莓派4B 装载的系统与版本如下: 版本可用命令 (lsb_release -a) 查询: Opencv 版本是4.5.1&#xff1a; 学了这些OpenCv的理论性知识&#xff0c;不进行实践实在…