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,而后获得文档。

相关推荐
superman超哥1 小时前
04 深入 Oracle 并发世界:MVCC、锁、闩锁、事务隔离与并发性能优化的探索
数据库·oracle·性能优化·dba
用户8007165452001 小时前
HTAP数据库国产化改造技术可行性方案分析
数据库
engchina2 小时前
Neo4j 和 Python 初学者指南:如何使用可选关系匹配优化 Cypher 查询
数据库·python·neo4j
engchina2 小时前
使用 Cypher 查询语言在 Neo4j 中查找最短路径
数据库·neo4j
尘浮生2 小时前
Java项目实战II基于Spring Boot的光影视频平台(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·后端·maven·intellij-idea
威哥爱编程2 小时前
SQL Server 数据太多如何优化
数据库·sql·sqlserver
小华同学ai2 小时前
AJ-Report:一款开源且非常强大的数据可视化大屏和报表工具
数据库·信息可视化·开源
Acrelhuang2 小时前
安科瑞5G基站直流叠光监控系统-安科瑞黄安南
大数据·数据库·数据仓库·物联网
筱源源3 小时前
Elasticsearch-linux环境部署
linux·elasticsearch
十叶知秋3 小时前
【jmeter】jmeter的线程组功能的详细介绍
数据库·jmeter·性能测试