【MongoDB】分布式数据库入门级学习

https://blog.csdn.net/LikewaterwithLi?spm=1011.2266.3001.5343
SueWakeup

 个人主页:SueWakeup

系列专栏:为祖国的科技进步添砖Java

个性签名:保留赤子之心也许是种幸运吧

本文封面由 凯楠📸友情提供

凯楠📸 - 不夜长安


 目录

MongoDB 相关

数据库排行榜单

MongoDB 中文官网

 菜鸟教程 MongoDB

MongoDB 官方认证 

什么是 MongoDB

​编辑发展历程

​编辑分布式

​编辑NoSQL

什么是分布式

分布式文件存储概述

CAP 定理

CAP理论的核心

什么是 NoSQL

NoSQL概述

ACID vs BASE

BASE理论的核心思想

为什么使用 MongoDB

MongoDB 的特点

解决 MySQL 的 “三高” 问题

MongoDB 的应用场景

MongoDB 的实际应用

如何使用 MongoDB

安装 MongoDB

​编辑rpm 安装

1. 点击下方网址找到相应的系统安装 rpm 软件包。

2. 创建空目录/opt/mongodb用来存放安装包,使用 Xftp 或者 FinShell 将软件包上传。

3. 使用 rpm –ivh [软件包名] 依次下载 mongos、server、shell。 

​编辑

  ​编辑rpm 卸载

1. 使用 systemctl stop mongod 停止 MongoDB 服务。

2. 使用 rpm –qa |grep mongodb 查找安装的包。

3. 分别使用 rpm –e mongodb-org-shell(mongos、server)删除关于MongoDB 的包。

4. 使用 rm -r /var/lib/mongo 删除 MongoDB 的数据目录。(注:系统会多次提示是否删除,可使用 rm –f 命令强制删除,不会弹出多次询问,谨慎使用)

5. 使用 rm -r /var/log/mongodb 删除 MongoDB 的日志记录。

6. 使用 rm /etc/mongod.conf 删除 MongoDB 的配置文件,前两条命令会将文件移至 /etc 目录下,如下图所示。

7. 使用 systemctl status mongod 检验成果。

  ​编辑yum 安装

1. 使用 rpm --import https://www.mongodb.org/static/pgp/server-4.4.asc 导入 MongoDB 的 GPA 公钥,确保下载的安装包是官方的。

2. 使用 vi /etc/yum.repos.d/mongodb-org-4.4.repo 编辑MongoDB 4.4 版本的仓库配置。

3. 使用 yum install -y mongodb-org 安装 MongoDB。

​编辑4. 安装成功后使用 systemctl start mongod 启动服务并使用 systemctl status mongod 查看服务状态。

​编辑yum 卸载

1. 使用 systemctl stop mongod 停止服务。

2. 使用 yum remove mongodb-org* 卸载之前安装的包。

3. 分别使用 rm -r /var/lib/mongodb 和 rm -r /var/log/mongodb 删除 MongoDB 的数据目录和日志记录。

4. 卸载完成后使用 systemctl status mongod 检查成果。​编辑

​编辑docker 安装

1. 使用 systemctl start docker 启动 Docker。

2. 使用 docker pull mongo:4.4 或 latest 拉取 MongoDB 镜像。

3. 使用 docker run --name 【容器名】 -d mongo 运行 MongoDB 容器。

4. 使用 docker exec -it 【容器名】 mongo 进入 MongoDB 的 Shell。

​编辑docker 卸载

1. 使用 docker ps 查看当前正在运行的容器。

2. 使用 docker stop 【容器名】停止容器的运行。

3. 使用 docker rm 【容器名】删除容器。

4. 使用 docker ps –-all 查看所有容器。

配置 MongoDB

1. 使用 systemctl start mongod.service 启动服务。默认无认证登录方式。

2. 使用 systemctl status mongod.service 查看服务状态。 

3. 使用 mongo admin 进入 MongoDB 的 【admin】数据库。没有指定数据库,MongoDB 会使用一个名为【test】的默认数据库,该数据库存储在 data 目录中。

4. 进入成功后在最后一行使用 “>”表示命令行光标起始位置。

5. 输入db.createUser({user:'mongoAdmin',pwd:'123456',roles:[{role:'userAdminAnyDatabase',db:'admin'},'readWriteAnyDatabase']})创建用户

6. “user”是新用户的名称,“pwd”是密码。

7. “role”是权限,“db”是数据库名。如“role”:“readWrite”,“db”:“myDatabase”是对“myDatabase”数据库具有读写权限。

8. 常见的 db:admin(管理用户和角色)、local(存储本地集合)、config(存储分片集群的配置信息)。

9. 使用 db.getUsers() 查看当前系统上的所有用户信息。

10. 使用 db.auth(‘用户名’,‘密码’)进行认证,成功返回“1”。注:开启登录认证后,需要使用 mongo admin 进入【admin】数据库才可以使用 db.auth 命令进行登录。

11. 使用 ctrl + c 退出 MongoDB 进程。

12. 删除用户命令:db.dropUser(‘用户名’)

开启登录认证与远程登录

1. 在 Linux 命令行输入 vi /etc/mongod.conf 进入 MongoDB 的配置文件。

2. 找到 network 配置与 security 配置,配置效果如下图所示。

3. 保存后,使用 systemctl restart mongod.service、systemctl status mongod.service 重启 mongoDB服务

4. 开启登录认证后的成功案例,认证后使用 db.getUsers() 验证是否登录。

5. 失败案例,提示权限不足。

​编辑docker 配置 MongoDB

使用环境变量配置

使用配置文件 mongod.conf

GUI 可视化界面

 远程登录说明

1. 使用上方网址下载图形界面化软件。

2. 在 Linux 系统中已经配置好 MongoDB 的网络接口和登录认证。

 3. Linux 的网卡配置中有仅主机模式。

MongoDB 的 CURD

MongoDB 概念解析

Create 创建

Update 更新

Read 读取

Delete 删除

Java 连接 MongoDB

1. 添加 Maven 仓库依赖坐标

2. 创建 MondoDBConn.java 工具类

手机端浏览本文章可能会出现 “目录”无法有效展示的情况,还请谅解! 


MongoDB 相关


数据库排行榜单

网址:https://db-engines.com/en/ranking
数据库排行表单

===》》》数据库排行榜单《《《===icon-default.png?t=N7T8https://db-engines.com/en/ranking


MongoDB 中文官网

网址:https://mongodb.net.cn/manual/tutorial/insert-documents/
MongoDB 中文官网

===》》》MongoDB 中文官网《《《===icon-default.png?t=N7T8https://mongodb.net.cn/manual/tutorial/insert-documents/


 菜鸟教程 MongoDB

网址:https://www.runoob.com/mongodb/mongodb-intro.html
菜鸟教程 MongoDB

===》》》菜鸟教程 MongoDB《《《===icon-default.png?t=N7T8https://www.runoob.com/mongodb/mongodb-intro.html


MongoDB 官方认证 

MongoDB 官方认证

===》》》官方认证《《《===

===》》》关于认证的那些事《《《===


什么是 MongoDB

百度百科 - mongodb

发展历程

  • 2007年10月,MongoDB由10gen团队所发展。2009年2月首度推出。
  • 2012年06月06日,MongoDB 2.0.6 发布,分布式文档数据库。
  • 截至2024年4月23日,MongoDB 社区版的最新版本为 7.0.8 。

分布式

  • 由C++语言编写,基于分布式文件存储的数据库。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

NoSQL

  • MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

什么是分布式


分布式文件存储概述

  • 分布式系统是由多个独立计算机(通常是网络上的计算机)组成的系统,这些计算机通过网络进行通信和协作,以共同完成某个任务或提供某种服务。
  • 分布式文件存储是分布式系统的一种应用,与传统的集中式文件系统相比,分布式文件存储具有更高的可扩展性容错性

一文读懂分布式架构知识体系(内含超全核心知识大图)icon-default.png?t=N7T8https://developer.aliyun.com/article/721007#slide-1

SueWakeup - 神马是分布式?


CAP 定理

图片来源: w3resource

CAP 定理又称布鲁尔定理,对于一个分布式系统而言,不可能同时满足以下三点:

  • 一致性(Consistency):所有节点在同一时间具有相同的数据。
  • 可用性(Availability):保证每个请求不管成功或者失败都有响应。
  • 分区容错性(Partition tolerance):系统中任意信息的丢失或失败不会影响系统的继续运作。

CAP理论的核心
  • 一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个。

w3resource - NoSQLicon-default.png?t=N7T8https://www.w3resource.com/mongodb/nosql.php


什么是 NoSQL

数据库的分类

NoSQL概述

  • NoSQL,指的是非关系型的数据库。也可认作是 Not Only SQL 的缩写,意为不仅限于 SQL。
  • 2009年在亚特兰大举行的"no:sql(east)"讨论会是一个里程碑,其口号是" select fun, profit from real_world where relational=false; "。因此,对NoSQL最普遍的解释是"非关联型的",强调Key-Value Stores和文档数据库的优点,而不是单纯的反对RDBMS

ACID vs BASE

ACID

BASE

原子性(Atomicity)

基本可用(Basically Available)

一致性(Consistency)

软状态/柔性事务(Soft state)

隔离性(Isolation)

最终一致性 (Eventual consistency)

持久性 (Durable)

  • 原子性:事务是数据库的最小执行单元,事务的原子性确保数据库操作过程中的所有步骤全部成功或者全部失败
  • 一致性:数据修改前和修改后的状态保持一致
  • 隔离性:一个事务的执行不会被其他事务干扰,一个事务内部的操作和使用的数据,在并发中对其他事务是隔离的
  • 持久性:事务一旦被提交,将对数据库中的数据的改变是永久性的

BASE理论的核心思想

        在分布式系统中,由于网络延迟、节点故障等因素,数据的一致性可能无法实时保证,但是可以保证数据的最终一致性。


为什么使用 MongoDB


MongoDB 的特点

  • 业务并发访问量大
  • 存储的数据格式灵活,不固定,或属于半结构化数据
  • TB级以上的海量数据存储,且数据量不断增加
  • 无需要跨文档或跨表的事务及复杂的join查询支持

解决 MySQL 的 “三高” 问题

  1. 对数据库高并发写入需求
  2. 对海量数据高效率存储访问需求
  3. 对数据库高扩展和高可用的需求

MongoDB 的应用场景

  1. 社交场景,比如朋友圈,附近的人的地点的存储
  2. 游戏场景,比如用户当前装备,得分等
  3. 物流场景,比如快递的位置,状态,途径
  4. 视频场景,比如直播中的点赞数和互动留言等

MongoDB 的实际应用

  • 纽约时报,领先的在线新闻门户网站之一
  • CERN,著名的粒子物理研究所,欧洲核子研究中心大型强子对撞机的数据使用 MongoDB。
  • spike.com,一个音乐电视网络的联营公司, spike.com使用的 MongoDB。

如何使用 MongoDB


安装 MongoDB

  • Linux CentOS 7 操作系统下的三种安装方式

rpm 安装

  • 预先编译好的二进制软件包,不会自动处理软件包之间的依赖关系,会报错,提示缺少依赖需手动安装依赖项,过程繁琐。
1. 点击下方网址找到相应的系统安装 rpm 软件包。

MongoDB官方下载icon-default.png?t=N7T8https://www.mongodb.com/try/download/community

2. 创建空目录/opt/mongodb用来存放安装包,使用 Xftp 或者 FinShell 将软件包上传。

3. 使用 rpm –ivh [软件包名] 依次下载 mongos、server、shell。 

  rpm 卸载

1. 使用 systemctl stop mongod 停止 MongoDB 服务。
2. 使用 rpm –qa |grep mongodb 查找安装的包。
3. 分别使用 rpm –e mongodb-org-shell(mongos、server)删除关于MongoDB 的包。
4. 使用 rm -r /var/lib/mongo 删除 MongoDB 的数据目录。(注:系统会多次提示是否删除,可使用 rm –f 命令强制删除,不会弹出多次询问,谨慎使用)

5. 使用 rm -r /var/log/mongodb 删除 MongoDB 的日志记录。

6. 使用 rm /etc/mongod.conf 删除 MongoDB 的配置文件,前两条命令会将文件移至 /etc 目录下,如下图所示。

7. 使用 systemctl status mongod 检验成果。


  yum 安装

  • 自动化软件的安装、更新、配置和移除,无需担心依赖关系或手动下载和安装软件包。yum 保存的是 rpm 包。

1. 使用 rpm --import https://www.mongodb.org/static/pgp/server-4.4.asc 导入 MongoDB 的 GPA 公钥,确保下载的安装包是官方的。
2. 使用 vi /etc/yum.repos.d/mongodb-org-4.4.repo 编辑MongoDB 4.4 版本的仓库配置。

3. 使用 yum install -y mongodb-org 安装 MongoDB。
4. 安装成功后使用 systemctl start mongod 启动服务并使用 systemctl status mongod 查看服务状态。


yum 卸载

1. 使用 systemctl stop mongod 停止服务。
2. 使用 yum remove mongodb-org* 卸载之前安装的包。
3. 分别使用 rm -r /var/lib/mongodb 和 rm -r /var/log/mongodb 删除 MongoDB 的数据目录和日志记录。
4. 卸载完成后使用 systemctl status mongod 检查成果。

docker 安装

  • 侧重于整个应用环境的管理,以容器的形式封装、部署应用程序。docker 镜像仓库保存的是 docker 镜像。

1. 使用 systemctl start docker 启动 Docker。
2. 使用 docker pull mongo:4.4 或 latest 拉取 MongoDB 镜像。

3. 使用 docker run --name 【容器名】 -d mongo 运行 MongoDB 容器。
4. 使用 docker exec -it 【容器名】 mongo 进入 MongoDB 的 Shell。


docker 卸载

1. 使用 docker ps 查看当前正在运行的容器。
2. 使用 docker stop 【容器名】停止容器的运行。
3. 使用 docker rm 【容器名】删除容器。
4. 使用 docker ps –-all 查看所有容器。


配置 MongoDB

  • 不同的配方,同样的味道~

1. 使用 systemctl start mongod.service 启动服务。默认无认证登录方式。
2. 使用 systemctl status mongod.service 查看服务状态。 

3. 使用 mongo admin 进入 MongoDB 的 【admin】数据库。没有指定数据库,MongoDB 会使用一个名为【test】的默认数据库,该数据库存储在 data 目录中。
4. 进入成功后在最后一行使用 “>”表示命令行光标起始位置。
5. 输入db.createUser({user:'mongoAdmin',pwd:'123456',roles:[{role:'userAdminAnyDatabase',db:'admin'},'readWriteAnyDatabase']})
创建用户

6. “user”是新用户的名称,“pwd”是密码。
7. “role”是权限,“db”是数据库名。如“role”:“readWrite”,“db”:“myDatabase”是对“myDatabase”数据库具有读写权限。
8. 常见的 db:admin(管理用户和角色)、local(存储本地集合)、config(存储分片集群的配置信息)。

9. 使用 db.getUsers() 查看当前系统上的所有用户信息。
10. 使用 db.auth(‘用户名’,‘密码’)进行认证,成功返回“1”。注:开启登录认证后,需要使用
 mongo admin 进入【admin】数据库才可以使用 db.auth 命令进行登录。
11. 使用 ctrl + c 退出 MongoDB 进程。

12. 删除用户命令:db.dropUser(‘用户名’)

开启登录认证与远程登录

1. 在 Linux 命令行输入 vi /etc/mongod.conf 进入 MongoDB 的配置文件。

2. 找到 network 配置与 security 配置,配置效果如下图所示。

3. 保存后,使用 systemctl restart mongod.service、systemctl status mongod.service 重启 mongoDB服务
4. 开启登录认证后的成功案例,认证后使用 db.getUsers() 验证是否登录。

5. 失败案例,提示权限不足。


docker 配置 MongoDB

使用环境变量配置
  • 设置初始的 root 用户、密码、数据库
docker run --name some-mongo -d \-e MONGO_INITDB_ROOT_USERNAME=admin \-e MONGO_INITDB_ROOT_PASSWORD=password \-e MONGO_INITDB_DATABASE=mydatabase \mongo
使用配置文件 mongod.conf
  • 挂载自定义的 mongod.conf 到容器中实现配置
docker run --name some-mongo -d \-v /etc/mongo/mongod.conf:/etc/mongo/mongod.conf \-v /data/db:/data/db \mongo --config /etc/mongo/mongod.conf

GUI 可视化界面

  • 充分展现与 SQL 的不同

 远程登录说明

studio3t官方下载icon-default.png?t=N7T8https://studio3t.com/

1. 使用上方网址下载图形界面化软件。
2. 在 Linux 系统中已经配置好 MongoDB 的网络接口和登录认证。

 3. Linux 的网卡配置中有仅主机模式。

MongoDB 的 CURD

  • 常用语法

MongoDB 概念解析

MongoDB 与 MySQL 比较

图片来源于:菜鸟教程
表格来源于:菜鸟教程
图片来源于:菜鸟教程
  • 文档的数据结构和 JSON 基本一样。
  • 所有存储在集合中的数据都是 BSON 格式。
  • BSON 是一种类似 JSON 的二进制形式的存储格式,是 Binary JSON 的简称。

Create 创建

创建数据库:use dbname
如果数据库不存在,则创建数据库,否则切换到指定数据库。
在 MongoDB 中,集合只有在内容插入后才会创建! 就是说,创建集合(数据表)后要再插入一个文档
(记录),集合才会真正创建。
通过 db 来查看当前使用的数据库
创建集合:db.createCollection(“集合名”)
插入文档:db.集合名.insert(document) || db.集合名.save(document)

Update 更新

更新文档:db.集合名.update({查询条件},{$set:{更新内容}},{upsert: <boolean>,multi: <boolean>,}
)
upsert: 默认为false ,如果查询不到数据,则把跟新输入插入
multi:默认为false,默认只改一条,true,更改多条

Read 读取

查看所有数据库:show dbs
admin: 从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合。
config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。
查看集合:show collections / show tables
删除文档:db.集合名称.remove( , { justOne: } ) 
非结构化显示所有文档:db.collection.find(query) 
格式化显示所有文档:db.col.find().pretty()

Delete 删除

删除当前数据库:db.dropDatabase()
删除集合:db.集合名.drop()
删除文档:db.collection.remove(<query>,{justOne: <boolean>,writeConcern: <document>}
)
query :(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
writeConcern :(可选)抛出异常的级别。


Java 连接 MongoDB

1. 添加 Maven 仓库依赖坐标
 <!-- https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver --><dependency><groupId>org.mongodb</groupId><artifactId>mongo-java-driver</artifactId><version>3.4.2</version></dependency><!-- https://mvnrepository.com/artifact/org.mongodb/bson --><dependency><groupId>org.mongodb</groupId><artifactId>bson</artifactId><version>4.2.3</version></dependency><!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.8.9</version></dependency>
2. 创建 MondoDBConn.java 工具类
  • 类似于 JDBC 连接 MySQL 数据库
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoIterable;public class MongoConn {public static MongoClient mc =null;public static MongoDatabase db = null;//测试用例public static void main(String[] args) {GetConn();//获取库中集合MongoIterable<String> collist = db.listCollectionNames();for(String s:collist) {System.out.println("mongo数据库中的集合:"+s);}ConnClose();}//连接数据库public static void GetConn() {mc =new MongoClient("localhost",27017);db = mc.getDatabase("Device");}//关闭连接public static void ConnClose() {mc.close();}
}

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

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

相关文章

如何把mkv转成mp4?介绍一下将mkv转成MP4的几种方法

如何把mkv转成mp4&#xff1f;如果你有一个MKV格式的视频文件&#xff0c;但是需要将其转换为MP4格式以便更广泛地在各种设备和平台上播放和共享&#xff0c;你可以通过进行简单的文件格式转换来实现。转换MKV到MP4格式可以提供更好的兼容性&#xff0c;并确保你的视频文件能够…

在预训练语言模型主流架构

文章目录 编码器-解码器架构因果解码器架构前缀解码器架构在预训练语言模型时代,自然语言处理领域广泛采用了预训练 + 微调的范式,并诞生了以 BERT 为代表的编码器(Encoder-only)架构、以 GPT 为代表的解码器(Decoder-only)架构和以 T5 为代表的编码器-解码器(Encoder-d…

华为OD机试C卷(100分)-执行任务赚积分(c语言)

题目描述 现有N个任务需要处理&#xff0c;同一时间只能处理一个任务&#xff0c;处理每个任务所需要的时间固定为1。 每个任务都有最晚处理时间限制和积分值&#xff0c;在最晚处理时间点之前处理完成任务才可获得对应的积分奖励。 可用于处理任务的时间有限&#xff0c;请问…

AI学习指南机器学习篇-随机森林超参数选择与调优

AI学习指南机器学习篇-随机森林超参数选择与调优 随机森林是一种强大的机器学习算法&#xff0c;它能够处理复杂的数据集&#xff0c;并且对于大部分实际问题都表现出色。然而&#xff0c;要充分发挥随机森林的性能&#xff0c;需要对其超参数进行合理选择和调优。本文将介绍随…

React:tabs或标签页自定义右击菜单内容,支持内嵌iframe关闭菜单方案

React&#xff1a;tabs或标签页自定义右击菜单内容&#xff0c;支持内嵌iframe关闭菜单方案 不管是react、vue还是原生js&#xff0c;原理是一样的。 注意如果内嵌iframe情况下&#xff0c;iframe无法使用事件监听&#xff0c;但是可以使用iframe的任何点击行为都会往父级wind…

入门Java爬虫:认识其基本概念和应用方法

Java爬虫初探&#xff1a;了解它的基本概念与用途&#xff0c;需要具体代码示例 随着互联网的快速发展&#xff0c;获取并处理大量的数据成为企业和个人不可或缺的一项任务。而爬虫&#xff08;Web Scraping&#xff09;作为一种自动化的数据获取方法&#xff0c;不仅能够快速…

Pegasus平台Pytorch源码编译

和Drive PX2的编译没有什么区别 源码编译步骤 注意&#xff1a;当完全按照以下步骤进行编译时&#xff0c;如果出现错误&#xff0c;注意检查CUDA版本、对应的库是否存在 # Download PyTorch sources git clone --recursive --branch <version> http://github.com/pyt…

vtk渲染过程

vtk渲染 VTK的渲染过程主要包括创建渲染器、添加演员到渲染器、创建渲染窗口、创建交互器、将渲染器添加到渲染窗口中、将交互器与渲染窗口关联、启动交互器循环等步骤。12 创建渲染器(Renderer): 首先&#xff0c;需要创建一个或多个渲染器。渲染器是VTK中的一个重要组件&am…

在Ubuntu 16.04上安装和配置Elasticsearch的方法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 简介 Elasticsearch 是一个用于实时分布式搜索和数据分析的平台。它因易用性、强大功能和可扩展性而备受欢迎。 Elasticsearch 支持 R…

vue2(vue-cli3x[vue.config.js])使用cesium新版(1.117.0)配置过程

看来很多解决方法都没有办法&#xff0c;最后终于。呜呜呜呜 这里我用的是vue-cli去搭建的项目的vue2 项目&#xff0c;其实不建议用vue2搭配cesium。因为目前cesium停止了对vue2的版本更新&#xff0c;现在默认安装都是vue3版本&#xff0c;因此需要控制版本&#xff0c;否则…

Kylin支持哪些数据源,它们之间有什么区别

Apache Kylin支持多种数据源&#xff0c;这些数据源为Kylin提供了从不同类型和存储方式的数据中获取和处理数据的能力。以下是Kylin支持的主要数据源及其之间的区别&#xff1a; Apache Hadoop HDFS&#xff1a; 描述&#xff1a;HDFS是Hadoop生态系统中用于存储大数据的文件系…

Node.js简介

一&#xff1a;Node.js简介 Node.js是一个跨平台的JavaScript运行环境&#xff0c;使开发者可以搭建服务器端的JavaScript应用程序 作用&#xff1a;使用Node.js编写服务器端程序 编写数据接口&#xff0c;提供网页资源浏览功能有利于前端工程化&#xff0c;可以集成各种开发…

鸿蒙系统的前世今生

2019年8月9日&#xff0c;华为在开发者大会上发布EMUI 10的同时宣告了HarmonyOS 1.0的诞生。鸿蒙诞生的背景是&#xff0c;美限制华为与谷歌以及其他美国科技公司开展业务。 前华为开发者大会上&#xff0c;HarmonyOS NEXT&#xff08;原生鸿蒙&#xff09;正式公布&#xff0c…

【力扣高频题】011. 盛最多水的容器

前面的算法文章&#xff0c;更新了许多 专题系列 。包括&#xff1a;滑动窗口、动态规划、加强堆、二叉树递归套路 等。 还没读过的小伙伴可以关注一下&#xff0c;在主页中点击对应链接查看哦~ 接下来的一段时间&#xff0c;将持续 「力扣高频题」 系列文章&#xff0c;想刷 …

Java基础知识-线程池

1、为什么要用线程池&#xff1f; 创建线程要花费昂贵的资源和时间&#xff0c;如果任务来了才创建线程那么响应时间会变长&#xff0c;而且一个进程能创建的线程数 有限。为了避免这些问题&#xff0c;在程序启动的时候就创建若干线程来响应处理&#xff0c;它们被称为线程池&…

使用pywinauto自动重连easyconnect

启动easyconnect后&#xff0c;运行该脚本&#xff0c;实现自动重连。需要填一下连接的地址&#xff0c;用户名和密码(替换一下脚本里的xxx) from pywinauto import application from pywinauto import timings import time# 初始化应用程序对象 app1 application.Applicatio…

2710. 移除字符串中的尾随零 Easy

给你一个用字符串表示的正整数 num &#xff0c;请你以字符串形式返回不含尾随零的整数 num 。 示例 1&#xff1a; 输入&#xff1a;num "51230100" 输出&#xff1a;"512301" 解释&#xff1a;整数 "51230100" 有 2 个尾随零&#xff0c;移…

idea2024使用springboot3.x系列新建java项目,使用jdk17,启动项目报错

身为一名开发人员&#xff0c;敲代码无数&#xff0c;竟被一个小小启动给我卡了大半天&#xff0c;太丢脸了 报错一&#xff1a;Field infoSysRepository in com.erectile.Impl.PersonalInfoServiceImpl required a bean of type ‘com.erectile.jpa.repository.InfoSysReposit…

Spring:Spring中分布式事务解决方案

一、前言 在Spring中&#xff0c;分布式事务是指涉及多个数据库或系统的事务处理&#xff0c;其中事务的参与者、支持事务的服务器、资源管理器以及事务管理器位于分布式系统的不同节点上。这样的架构使得两个或多个网络计算机上的数据能够被访问并更新&#xff0c;同时将这些操…

使用通用的响应格式

使用泛型响应类&#xff08;或者类似的响应封装类&#xff09;在网络编程和API设计中有很多好处&#xff0c;包括但不限于以下几点&#xff1a; 统一响应格式&#xff1a; 使用R<T>可以确保API的所有响应都遵循相同的格式&#xff0c;这有助于客户端更容易地解析和处理响…