【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+节点稳定运行,系统架构更加简单,运维成本更低。

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【element-ui】el-date-picker动态设置picker-options

<el-date-pickerv-model"formObj.startDate"type"date"placeholder"开始时间":picker-options"startPickerOptions"> </el-date-picker><el-date-pickerv-model"formObj.endDate"type"date"placeh…

全域外卖系统源码在哪些渠道值得推荐?

当前&#xff0c;全域外卖的热度持续飙升&#xff0c;并且隐隐有了大爆的趋势。许多创业者也因此有了进军全域外卖赛道的想法&#xff0c;以全域外卖系统源码在哪找为代表多个相关问题因此成为了多个创业者交流群的常客。 根据中国互联网络信息中心&#xff08;CNNIC&#xff0…

使用Python和BeautifulSoup轻松抓取表格数据

你是否曾经希望可以轻松地从网页上获取表格数据&#xff0c;而不是手动复制粘贴&#xff1f;好消息来了&#xff0c;使用Python和BeautifulSoup&#xff0c;你可以轻松实现这一目标。今天&#xff0c;我们将探索如何使用这些工具抓取中国气象局网站(http://weather.cma.cn)上的…

PySide(PyQt)利用回调和闭包定义信号与槽

如图3个按钮&#xff0c;均设为checkable&#xff0c;放置在一个groupbox内成为一个按钮组&#xff0c;要求实现的功能&#xff1a;当点击某个按钮时将本按钮设为选中&#xff08;setChecked(True)&#xff0c;并取消选中按钮站中的其他所有按钮&#xff08;setChecked(False)&…

PS系统教学24

去水印 仿制图章工具修复画笔工具选区-编辑-填充-内容识别 人体皮肤亮度 人体皮肤发亮 减淡工具 缺点&#xff1a;不能对所有图层取样 选择减淡工具选择高光打完高光用中间调中和一下也可以用历史记录画笔工具进行修饰也可以用加深工具进行微调 图层中的模式 滤色 曝光过…

五、在Qt下加载QVTKWidget控件(VTK8.2.0),生成Visual Studio项目,显示点云(C++)

前言&#xff1a;因为项目需要通过Qt进行显示点云&#xff0c;参考了很多博文&#xff0c;但是并没有全部正确的&#xff0c;东拼西凑算是实现了&#xff0c;花费了两天时间&#xff0c;时间有点久&#xff0c;能力还有有待提升~~ 为此写篇博文记录一下。感谢各位大佬&#xff…

Mac OS 安装frida

安装frida和frida-tools Python是基础&#xff0c;提前装好Python 终端执行 python3 -m pip install frida 如果出现error 按照提示处理 信息提示&#xff1a;brew install pipx 于是终端执行&#xff1a; brew install pipx 安装frida&#xff1a; pipx install frida…

SVN学习(004 subversive操作和解决冲突)

尚硅谷SVN高级教程(svn操作详解) 总时长 4:53:00 共72P 此文章包含第42p-第p43的内容 操作 新建一个teacher类 添加到版本库&#xff08;也可以忽略这步 直接提交&#xff09; 资源-》右键-》team-》提交 另一个用户进行更新 资源-》右键-》team-》更新 解决冲突 用…

谷歌工程师指责OpenAI阻碍AGI研究进展:推迟了5到10年

Google母公司Alphabet的一位软件工程师表示&#xff0c;OpenAI阻碍了人工通用智能&#xff08;AGI&#xff09;的发展5到10年。在最近的一次播客访谈中&#xff0c;Google软件工程师弗朗索瓦乔莱特&#xff08;Franois Chollet &#xff09;表达了他对AGI研究现状的担忧。这段对…

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第46课-使用json文件

【WEB前端2024】3D智体编程&#xff1a;乔布斯3D纪念馆-第45课-使用头像 使用dtns.network德塔世界&#xff08;开源的智体世界引擎&#xff09;&#xff0c;策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界引擎&…

如何开展小组讨论以强化员工对TPM的关注度?

TPM是一种旨在提高设备综合效率&#xff0c;通过全员参与的方式&#xff0c;实现设备保养和维护的现代化管理体系。因此&#xff0c;如何开展小组讨论以强化员工对TPM的关注度成为了一个值得探讨的话题。本文&#xff0c;深圳天行健精益管理咨询公司为大家分享具体步骤如下&…

【SpringCloud】Nacos

Nacos简介 2018年6月&#xff0c;Eureka 2.0宣布闭源&#xff08;但1.X版本仍然活跃&#xff09;&#xff0c;同年7月&#xff0c;阿里Nacos宣布开源&#xff0c;并迅速成为国内开发者关注的焦点。作为Eureka的替代品&#xff0c;Nacos目前已经成为国内开发者的首选。 Nacos&…

PgSQL-添加列、字段的注释

mysql是&#xff1a; 添加列&#xff1a;--alter table 表名 add column 列名 varchar(30);ALTER TABLE p_show ADD COLUMN points VARCHAR(100) COMMENT 所需积分;---------------------------------------------------------------------------------------------添加、修改…

使用nvm安装node.js ,方便管理多个版本的node.js,且程序添加和卸载页面也不会出现多个版本的node.js软件(是一个都不会出现)

首先下载和安装nvm windows 安装 nvm&#xff1a; 需要先把本地安装的Node.js卸载&#xff0c;然后再下载nvm&#xff0c;地址&#xff1a; https://github.com/coreybutler/nvm-windows/releases 一般情况&#xff0c;找到最新版本&#xff0c;然后下载nvm-setup.exe文件就可以…

transformer之位置编码

由于 Transformer 模型中自注意力模块具有置换不变性,因此仅使用注意力机制无法捕捉序列中的顺序关系,从而退化为“词袋模型”。为了解决这一问题,需要引入位置编码(Position Embedding, PE)对于序列信息进行精确建模,从而将绝对或相对位置信息整合到模型中。 什么是位置…

大厂晋升学习方法一:海绵学习法

早晨 30 分钟 首先&#xff0c;我们可以把起床的闹钟提前 30 分钟&#xff0c;比如原来 07:30 的闹钟可以改为 07:00。不用担心提前 30 分钟起床会影响休息质量&#xff0c;习惯以后&#xff0c;早起 30 分钟不但不会影响一天的精力&#xff0c;甚至可能反而让人更有精神。早起…

低成本创业新篇章:上门回收小程序的崛起与挑战

在当今这个快速变化的时代&#xff0c;低成本创业项目成为了许多创业者的首选。其中&#xff0c;上门回收小程序以其独特的商业模式和市场需求&#xff0c;成为了创业市场中的一股新势力。本文将深入探讨上门回收小程序作为低成本创业项目的崛起之路以及面临的挑战。 一、上门回…

WPF/C#:在DataGrid中显示选择框

前言 在使用WPF的过程中可能会经常遇到在DataGrid的最前或者最后添加一列选择框的需求&#xff0c;今天跟大家分享一下&#xff0c;在自己的项目中是如何实现的。 整体实现效果如下&#xff1a; 如果对此感兴趣&#xff0c;可以接下来看具体实现部分。 实践 假设数据库中的…

【51单片机】按键的操作

文章目录 前言读取按键的原理proteus仿真示例代码 总结 前言 在现代电子产品中&#xff0c;按键是用户与设备之间交互的重要组成部分。它们允许用户通过简单的按下来触发特定的操作或命令。在微控制器的背景下&#xff0c;按键的设计和操作对于确保设备的响应性和用户体验至关…

CSS新手入门笔记【导入方法、选择器介绍、选择器优先级、属性详细介绍、盒子模型】

目录 一、目的与优势二、CSS导入方式三、语法结构四、选择器类型基本选择器组合选择器伪类与伪元素属性选择器 六、选择器优先级总结 六、CSS属性1. 字体与文本属性2. 背景属性3. 尺寸与盒模型属性4. 布局与定位5. 列表样式6. 边框与轮廓7. 文本装饰与效果8. 动画与过渡9. 伪类…