【0-1系列】从0-1快速了解搜索引擎是什么以及怎么用(上)

友情链接

  • 社区开发版安装部署与使用教程
  • 社区版家族V2024.5版本更新说明

START>>1.快速了解搜索引擎

什么是搜索引擎数据库

搜索引擎数据库是一类专门用于数据内容搜索的NoSQL数据库,是非结构化大数据处理分析领域中重要的基础支撑软件。

伴随互联网、移动互联网、物联网、5G等信息通信技术及产业的发展,全球数据量呈现爆发式增长的趋势。根据IDC数据显示,到2028 年,全球数据圈(global datasphere)预计将增长到 400 ZB,非结构化数据成为全球数据量的主要来源。

非结构化数据指的是无法以预定义格式存储或适合现有数据模型的数据,比如图像、视频、音频、用户行为等等。数据结构复杂,不方便用传统的数据库二维逻辑来表现,但其中却蕴含着丰富的数据价值,因此如何高效地处理分析非结构化数据是数据库领域面临的机遇和挑战。

在这样的时代背景下,搜索引擎数据库逐渐被人们所熟知,它可以使用索引对数据中的相似特征进行归类,提供快速准确的数据检索服务。通过对索引和检索过程的优化,可以处理大量文本、半结构化或非结构化的数据。

搜索引擎数据库的应用十分广泛。

诞生的初期,搜索引擎数据库主要是为了解决关系型数据库中长文本检索效率低下的问题,所以又称为全文数据库、非结构化数据库等等。随着技术的发展,目前衍生出了多种处理不同类型来源数据的检索引擎并集成在不同的数据库中。例如除了长文本数据、常见的数值、日期之外,还可以处理各种各样的非结构化数据,例如 IP、地理位置信息、图片、音视频等等。

凭借在数据查询效率方面的优势,搜索引擎数据库在数据处理方面的地位越来越高,并在应用程序搜索、网站搜索、企业搜索、智能问答、图像与语音搜索、语义搜索、业务分析和安全分析等方面有着广泛的应用。

篇幅原因,更多搜索引擎数据库的背景介绍以及所涉及的技术点剖析可点击下方对应链接进行查看:

  • 搜索引擎数据库介绍
  • 搜索引擎相关技术点:全文检索、倒排索引、分片

Scope是什么

Scope是星环自研的搜索软件,除了保留底层的lucene框架和工具层外,上层进行了全自主研发改造,扬弃了开源产品中的那些带来瓶颈和限制的模型,用更贴合海量数据大集群场景的模型来代替,打造出了自主可控的搜索引擎产品。

适用场景

文档数据库

  • 存储半结构化、非结构化数据
  • 功能和性能均优于Mongodb

日志分析与监控

  • 统计和日志类时间序列数据的存储和分析

舆情分析

  • 高聚合率的统计分析,如:热词跟踪

搜索引擎

  • 多条件模糊查询
  • 不指定列的全文搜索

为什么选择Scope?

技术栈全面可控,数据安全有保障

一直以来,我国的上游核心技术频繁的遭遇“卡脖子”,严重影响了我国关键科技和产业的发展。在过去几年内, Elasticsearch 数据泄露事件频发,安全风险加剧。数据泄露事件频发给国内各行业用户敲响了数据安全的警钟。同时,ES在2021年更改了其开源协议,对其产品的许可协议增加了限制,也带来了更多的商业风险。

因此,自主可控和国产化替代迫在眉睫。

在这个体系和背景下,全链路的打通,软硬件的结合都是重要的环节。搜索产品作为一款软件,也要在国产化适配以及兼容性上都要做到更好。

Scope可以满足各类硬件环境需求以及信创需求,对国内主流服务器架构以及操作系统深度适配,并且支持混合架构部署,允许不同配置、不同架构、不同操作系统的机器在同⼀集群中部署和使用,充分利用集群资源。

除此之外,Scope还为用户提供了企业级安全保障,从以下3个维度全方位保护用户数据的安全:

  • 用户认证,我们基于SASL提供plain与GSSAPI的认证方式;
  • 数据传输加密:我们支持基于SSL/TLS的加密方式;
  • 而在用户权限上,我们同样提供表/索引级别的权限控制。确保您的集群可以放心大胆的使用。
国产化高效替代,性能服务双保障

Scope提供PB级海量数据的交互式多维检索分析服务,单实例可突破至百TB的数据存储,是Elasticsearch 的 5 倍以上,大大降低用户硬件成本。数据批量写入速度相对 Elasticsearch 提升 40%。相对于Elasticsearch, Scope 具有很强的容灾和数据恢复能力,重启恢复时间在 TB 级数据量下控制在分钟级,不到Elasticsearch 的 1/10。

image.png

除此之外,在满足了用户各类检索需求(日志检索、全文检索等)的同时也提供了更好的产品服务。

image.png

架构优化

为实现更好的集群稳定性,Scope在分布式层对原有架构进行重构,将共识算法传统的流言传播模式goosip转变为Raft的架构。通过架构的优化,数据的同步逻辑也从过去的最终一致性转变为强一致性。从下图可以看出两类算法的差异。

image.png

原有goosip架构更偏向于主节点数据写入完成后,返回请求成功的响应,然后在内部做数据同步,最终达到所有节点数据一致的情况,即最终一致性。在该模型下,对于常规的日志等低价值信息比较友好,若存储高价值或不允许丢失的信息,将存在一定风险。例如,当集群中node1节点与集群网络连接断开,其他节点会重新组成集群,选举主节点。但是若node1节点数据并未及时同步,客户层面感知将会是数据丢失,因为其新写入数据在未同步的节点中不存在。同时,当node1恢复连接后加入集群,会因其不是主节点而反向同步其他节点,最终数据彻底丢失。

Scope选择升级Raft架构作为一致性协议,其对于数据同步、写入成功等请求,是在多数节点写入后返回。即使集群中某一节点出现上述失联问题,数据依旧可以被检索到,杜绝数据完全丢失。对于Scope的管理节点,同样采用Raft模式,可以有效地规避集群脑裂,也降低了大规模集群稳定性问题的出现。

Raft协议详解:
  • 分布式一致性技术是如何实现的
  • 一致性协议Raft的工作原理及介绍
全新读写方式与读写分离

image.png

Scope采用类bulkload的写入模式,有效降低读写混合场景对产品带来的压力。在bulkload的写入模式下,写入操作被拆分成两个步骤:首先是数据加工,生成数据库所需的数据格式;其次为数据加载,将生成的文件置于存储目录,使得检索引擎可以读取加载到该数据。一般来说,前者在cpu、内存中开销占比更大,它涉及索引的生成、数据的加工等一系列逻辑;而后者,则以数据传输过程的网络/磁盘开销为主并夹带少量的cpu开销,这部分网络/磁盘的开销对比当前主流的集群配置是可控和低占比的。

根据上述逻辑,将两步骤别放于不同集群或不同的服务器中执行,可以有效降低Scope集群的写入压力,提供更多的资源用于检索,实现一套读写分离的架构。同时,bulkload的写入模式同样适配实时流处理引擎slipstream中。在实时的写入时,实现降低Scope集群开销的效果。

存储优化 资源高效利用

image.png

Scope在存储方面做了大量的优化工作,在此着重描述3个典型优化点,分别为冷热数据分层、降低数据膨胀与堆外内存技术

首先,Scope提供数据标签机制,并以此实现冷热数据分层。支持对节点/磁盘/以及索引数据进行标签化处理。对于分区表或者使用频率不同的表,可以通过标签机制加以区分和存储,实现热数据热存储,冷数据冷存储的效果。同时支持标签的随时更改,实现数据冷热的高效切换。

其次,Scope通过AutoMerge与索引机构优化实现降低数据膨胀。多数搜索引擎为提升检索的性能,选择牺牲存储能力或生成大量索引数据的方式。对比传统数据库或hdfs类大数据存储产品,存储开销会变得很大。Scope提供索引的AutoMerge机制,对于琐碎的索引文件进行自动合并,也进一步对原始的数据文件进行存储结构上的压缩和优化,可以有效降低数据的膨胀系数。

同时,Scope使用Search的off-heap机制,并对该机制进行持续性的优化,将原本堆内存储的部分索引的持久化内容放于堆外。一方面降低堆的使用开销,留出更多资源满足读写需求,另一方面,单机数据量---生成的索引数据数据量---内存可加载的索引数据,三者为正相关的关系,任何一者达到上限意味着节点容量达到上限,而内存往往是最先掣肘的一个因素。对此,Scope将持久化部分放到堆外,意味着可以有更多的数据被加载进来,从而有效地提升了产品的单机容量。

通过上述三个及其他种种技术优化,使得Scope在实际的生产环境中,索引数据的磁盘开销同比降低13%,单机存储规模从ES的5-20TB到达现有的50TB,在部分场景中甚至可以到达100+TB

完备的数据流转

image.png

Scope借助星环SQL处理引擎Quark,以及自身的生态适配器Adapter,可以实现完备的数据流转方案。一方面,Scope通过Adapter实现了ES接口的对齐,确保用户可以像使用ES⼀样操作Scope产品。在ES的替换和迁移时,降低用户学习新的数据库接口和重新开发的工作压力。Scope通过Adapter可以很好规避这⼀问题,同时对于分词器之类的插件,以及logstash/beats类组件,Scope同样支持和兼容。

另一方面,Scope基于统一的Quark引擎提供了完整的SQL语法支持并实现了Scope SQL(搜索语法的SQL扩展),基于标准SQL、检索语义,可以覆盖大部分检索和入库的请求,实现跨存储的数据流通。

也就是说,用户可以将TDH跑批加工的数据,入库到Scope中提供检索业务。通过和quark SQL优化器的深度整合,优化数据搜索的执行过程,进一步提供了更好的性能。

Scope基于Quark还支持外表映射的操作,实现一份数据可以通过SQL或API的方式进行处理,开发者无需了解底层架构就可以开发出高效的搜索引擎,实现在PB数据量级上的秒级全文搜索。

企业案例展示

Transwarp Scope聚焦于Elasticsearch检索场景平替,高度兼容Elasticsearch接口,可实现Elasticsearch业务的平滑迁移,如日志检索、全文检索以及数据智能等场景,并在产品稳定性、扩展性、高性能、高可用、成本等方面具有明显的优势。

客户痛点

某运营商有基于Hbase的主键精确查询和基于Elasticsearch的全景查询2套业务。在全景查询场景中,客户采用实时和离线2套集群,数据流转复杂,并且随着数据量的高速增长,系统稳定性经常出现问题。当集群出现问题时,Elasticsearch重启需要小时级别,集群恢复速度慢。在性能问题方面,读写资源无法隔离,拖累查询性能。

解决方案

因此,该用户利用星环科技分布式搜索引擎Transwarp Scope替换掉了Elasticsearch,实现了实时和离线业务的统一,通过bulkload和实时流计算引擎Slipstream实现了数据的统一存储和查询。

image.png

落地效果

入库方面,过去15+TB的日增离线数据可以快速加载到Scope当中,省去了两套Elasticsearch集群的快照同步环节,入库性能提升4倍。过去T+1模式入库逻辑直接通过微批的方式实现了分钟级延迟,集群的重启时间从6-10小时压缩到了分钟级,大幅度降低了业务中断时间。集群规模上,将过去两套Elasticsearch集群整合成统一的大集群,并且保障100+节点稳定运行,系统架构更加简单,运维成本更低。

下一章节将为您介绍如何安装与部署,以及使用示例。

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

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

相关文章

DSP应用市场的大蛋糕,国产厂商能吃下多少?

DSP是数字信号处理器(Digital Signal Processor)的简称,是一种专门用于高速数学运算的微处理器。DSP能够快速且准确地处理数字信号,同时具备可编程和低功耗等特点,如今在各个领域发挥着越来越重要的作用。 &#xff08…

【目标检测】图解 DETR 系统框图

简略版本 Backbone:CNN backbone 学习图像的 2D 特征Positional Encoding:将 2D 特征展平,并对其使用位置编码(positional encoding)Encoder:经过 Transformer 的 encoderDecoder:encoder 的输出…

spring-gateway配置说明

在开发过程中遇到的一些配置问题,记录下来以供参考 spring-gateway版本是2.2.9-release,使用的spring cloud dependence 是 Hoxton.SR12 在依赖eureka 服务发现并自动将发现服务器加入到router中的时候,需要指定对应的服务进行添加,根据文档…

技术分享 | 基于 API 解析的 Python 爬虫

最近各大高校纷纷翻拍 Coincidence 抖肩舞,需要对这种流行现象进行数据分析。数据分析首先需要有数据,本文介绍了爬取 B 站相应视频的评论、弹幕、播放量、点赞数等数据的方法。爬虫有多种实现方法,大型的网络爬虫多基于成熟的爬虫框架&#…

vue 登录

1.创建项目 Set-ExecutionPolicy RemoteSigned npm install -g yarn yarn add axios yarn add element-pluspackage.json {"name": "tom6","version": "0.1.0","private": true,"scripts": {"serve": &…

域内攻击手法——域内用户枚举和密码喷洒

一、域内用户枚举 1、域内用户枚举原理 域内用户枚举可以在无域内有效凭据的情况下,枚举出域内存在的用户名,并对其进行密码喷洒攻击,以此获得域内的有效凭据,在 Kerberos 协议认证的 AS-REQ 阶段,客户端向 AS 发送的…

交易中的特殊存在

在交易的广袤天空中,有一群特殊的存在——他们,是Eagle Trader。 他们以鹰眼般的洞察力,捕捉市场的微妙变化,每一次决策都如同猎食者般精准;他们运用策略,如同雄鹰在风中翱翔,利用风向&#xf…

索尼MXF文件断电变2G恢复方法(PXW-Z280V)

PXM-Z280V算是索尼比较经典的机型,也是使用MXF文件格式的机型之一。近期接到很多例索尼MXF量突然不正常的案例(如变成512字节或者2G),下面来看下这个案例。 故障存储: 128G存储卡 /文件系统:exFAT 故障现象: 客户反…

兴业严选|朝阳、大兴、丰台、等5.9折起总有一套适合你~

近日于上海,出现了一桩令人始料未及之事。一套地处浦东、面积达 245.7 平方米的住宅进行挂网拍卖。 出乎意料的是,此套房子受到众多买家的青睐,历经一番激烈的竞价竞争,最终以 1766 万元的价格成交,折合每平方米 7187…

通俗范畴论3 从特指对象到对象

同一性问题 如前所述,特指对象有个名字,并用一个点表示(相当于另一个名字),它可以作为箭头的起点或终点,箭头的多少,以及箭头的起点和终点根据表达的需要而定,没有特别的约定。因此…

玄机平台流量特征分析-蚁剑流量分析

前言 蚁剑的流量特征 (1)每个请求体都存在ini_set(“display_errors”, “0”);set_time_limit(0)开头。并且后面存在base64等字符 (2)响应包的结果返回格式为: 随机数 响应内容 随机数 看一下题目要求 步骤1.1 这里要求我们找到木马的连接密码,…

智能猫砂盆效果这么惊艳吗?绝对不踩雷的智能猫砂盆合集来啦

身为一个铲屎官,我深受“天天铲屎”的困扰。想要片刻放松都不行,因为猫砂盆一旦堆积屎尿,尤其在夏天,会迅速发臭,滋生细菌。对猫而言,不清理猫砂盆会让它们感到不适,可能引发疾病或拒绝使用猫砂…

如何在Ubuntu上安装WordPress

如何在Ubuntu上安装WordPress 执行系统更新 apt update && apt upgrade第一步 安装 Apache apt install apache2确认 Apache 安装是否成功. systemctl status apache2安装成功后 打开浏览器输入 http://server-ip-address 第二步 安装 MySQL apt install mariad…

解决uniapp h5 本地代理实现跨域访问及如何配置开发环境

🧑‍💻 写在开头 点赞 收藏 学会🤣🤣🤣 如何解决uniapp H5本地代理实现跨域访问? 1.第一种解决方法: 直接创建一个vue.config.js文件,并在里面配置devServer,直接上…

YOLOv10改进 | 注意力篇 | YOLOv10引入MLCA

1. MLCA介绍 1.1 摘要:注意力机制是计算机视觉中使用最广泛的组件之一,可以帮助神经网络强调重要元素并抑制不相关的元素。然而,绝大多数信道注意力机制只包含信道特征信息,忽略了空间特征信息,导致模型表示效果或目标检测性能较差,且空间注意力模块往往复杂且成本高昂。…

3. zabbix触发器、报警

zabbix触发器、报警 一、zabbix触发器1、触发器语法 二、配置邮件报警1、创建报警媒介2、指定收件人3、创建报警动作4、测试报警 一、zabbix触发器 针对某一个监控项创建 作用:基于某个条件,触发监控项状态的变化,正常–>问题&#xff0c…

NXP i.MX8系列平台开发讲解 - 3.15 Linux 之USB子系统(一)

专栏文章目录传送门:返回专栏目录 Hi, 我是你们的老朋友,主要专注于嵌入式软件开发,有兴趣不要忘记点击关注【码思途远】 目录 Linux 之USB子系统(一) 1. USB基础简介 1.1 USB的传输模式 1.2 USB 的设备描述符 1.3 USB 类的定义分类 2…

强化安全新篇章:韶关石油化工可燃气体报警器年检解析

韶关,这座位于广东省北部的城市,近年来在石油化工行业取得了显著的发展。 随着一批批大型石化企业的进驻和投产,韶关不仅成为了区域性的石化产业基地,也为地方经济带来了强劲的增长动力。 然而,随着石化产业的快速发…

Facebook与地方文化:数字平台的多元表达

在当今数字化时代,社交媒体不仅仅是人们交流的工具,更是促进地方文化传播和表达的重要平台。作为全球最大的社交网络之一,Facebook在连接世界各地用户的同时,也成为了地方文化多元表达的重要舞台。本文将深入探讨Facebook如何通过…

Python 修炼|人人编程手册|001 计算思维

在微信中阅读,关注公众号:CodeFit。 > 创作不易,如果你觉得这篇文章对您有帮助,请不要忘了 点赞、分享 和 关注,为我的 持续创作 提供 动力! 1. 计算思维 在我们正式开启 Python 修炼之旅前,先来了解一个关键的概念 —— 计算思维。 计算思维,其核心本质在于 抽象 …