2024-01-23(MongoDB&&ElasticSearch)

附上:MongoDB详解,用心看这篇就够了【重点】-CSDN博客

1.MongoDB中的副本集

是一组维护相同数据集得mongodb服务。副本集可以提供冗余和高可用性,是所有生产部署的基础。也可以说,副本集是类似于有自动故障恢复功能的主从集群。

主节点,从节点,仲裁节点。

2.MongoDB副本集中主节点的选举原则:

MongoDB在副本集中,会自动进行主节点的选举,主节点的选举的触发条件:

1)主节点故障

2)主节点网络不可达(默认心跳为10s)

3)人工干预

选举规则:

票数最高;如果票数相同,数据新的节点获胜(数据的新旧是根据操作日子oplog来对比的)

在选举过程中,优先级很重要,优先级越高,获得其他人的投票的几率就越大。

3.我定义好后端接口规范,前端为我传递我所需要的参数。

4.分片集群

分片集群是一种跨多台机器分布数据的方法,MongoDB使用分片来支持具有非常大的数据集和高吞吐量操作的部署。换句话说:分片是指将数据拆分,将其分散存在不同的机器上的过程。将数据分散到不同机器上,不需要功能强大的大型计算机就可以存储更多的数据,处理更多的负载。

5.MongoDB分片集群包含以下组件:

1)分片(存储):每个分片包含分片数据的子集。每个分片都可以部署为副本集。

2)mongos(路由):mongos充当查询路由器,在客户端应用程序和分片集群之间提供接口。

3)config servers("调度"的配置):配置服务器存储集群的元数据和配置设置。

6.MongoDB的安全认证:

默认情况下,MongoDB不会对连接客户端进行用户验证,这是十分危险的。为了保证mongodb的安全可以做以下几个步骤:

1)使用新的端口,默认27017端口如果一旦知道了ip就可以连接上,不安全。

2)设置mongodb的网络环境,最好将mongodb部署到公司服务器的内网中,这样外网是访问不到的,公司内部使用vpn等。

3)开启安全认证。认证要同时设置服务器之间的内部认证方式,同时要设置客户端连接到集群的账号密码认证方式。

7.什么是elasticsearch:

elasticsearch是一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能。

8.什么是elastic stack(ELK):

是以elasticsearch为核心的技术栈,包括beats(用来做数据收集)、logstash(用来做数据收集)、kihana(用来做数据展示)、elasticsearch(负责数据的搜索,存储等核心功能)。

9.什么是Lucece:

elasticsearch的底层就是基于Lucece来实现的。Lucece是Apache的开源搜索引擎类库,提供了搜索引擎的核心API。

10.正向索引和倒序索引:

传统数据库(mysql)使用正向索引,

elasticsearch采用倒序索引:

文档:每条数据就是一个文档

词条:文档按照语义分成的词语

eg:

用elasticsearch搜索的流程案例:

11.elasticsearch的倒排索引的含义是:

传统是根据文档去找词条,但是es是根据词条去找文档。这就是倒排索引的含义。

12.总结:

文档:每一条数据就是一个文档。

词条:对文档中的内容分词,得到的词语就是词条

正向索引:基于文档id创建索引。查询词条时必须先找到文档,而后判断是否包含词条。

倒排索引:对文档内容分词,对词条创建索引,并记录词条所在文档的信息。查询时现根据词条查询文档id,而后获得文档。

相关推荐
2601_957084843 小时前
2026年生产型服装供应链SCM系统丨水洗参数、产能与验收节点架构
数据库·scm·服装供应链系统·服装scm·服装供应链
IvorySQL8 小时前
PostgreSQL 日报|恢复期 COPY TO 未日志表修复(10 月 21 日)
数据库·postgresql·区块链
贝猫说python9 小时前
大模型比赛2.3智能体开发(工具调用智能问答助手)
数据库·oracle
许彰午10 小时前
28-ORA-01110数据文件读取错误
数据库·oracle
凯凯姜10 小时前
MySQL 联合索引设计与索引失效
数据库·mysql
猫咪很可爱11 小时前
Oracle TEMP 表空间不足(ORA-01652)问题分析与优化实践
数据库·oracle
BreezeJiang11 小时前
写了 Dockerfile 却没生效:ES + Kibana 的 compose 配置里,藏着三个反直觉的点
elasticsearch
九零HTTP12 小时前
10月21号-CSDN配菜-IP池的5个坑
服务器·数据库·tcp/ip
Data-Miner13 小时前
需要做财务数据分析,有什么好用的工具?从准备到出报告的实操指南
大数据·数据库·数据分析
袋鼠云数栈13 小时前
让 SQL 解析不再重复造轮子:SqlParserX 正式开源
数据库·人工智能·sql·开源·数据治理