微认证 - 数据库板块 -《基于MongoDB使用Java实现图书管理系统》 - 学习分享
什么是微认证?
- 华为云微认证是基于线上学习与在线实践,快速获得场景化技能提升的认证。
微认证清单 - 数据库
基于MongoDB使用Java实现图书管理系统
-
课程简介
- 业务上云,云上数据库的使用,已是企业部署应用的趋势,快速部署业务系统,数据快速备份,使用DevCloud实现云上开发。
-
课程结构
1、图书管理系统介绍
图书管理系统
- 图书管理系统,是一个由人、计算机等组成的能进行管理信息的收集、传递、加工、保存、维护和使用的系统。
- 利用信息控制企业的行为; 帮助企业实现其规划目标。
传统图书管理系统的问题
1)访问
- 传统图书管理系统大部分都是部署在本地,当访问量增加时,难以实现动态的扩容,以应对高访问量。
2)数据备份
- 传统的图书管理系统的数据库都是本地的,当出现问题时,很难快速备份,数据盘容量不够时,也难实现快速扩容。
云上图书管理系统
-
云上图书管理系统可以实现异地实时访问,突破地域限制。
-
根据访问量实时动态的调整,以实现扩容。
-
对于数据,云上数据库可以根据数据存储量,动态的增减数据盘,以及实现数据的备份。
2、基于MongoDB的图书管理系统解决方案
1)弹性云服务器(Elastic Cloud Server,ECS)
产品介绍
- 由CPU、内存、操作系统、云硬盘组成的基础的计算组件。
- 弹性云服务器创建成功后,您就可以像使用自己的本地PC或物理服务器一样,在云上使用弹性云服务器。
产品优势
稳定可靠
-
丰富的磁盘种类
- 普通IO云硬盘:安全、可靠、可弹性扩展,适用于大容量、读写速率要求不高、事务性处理较少的应用场景。(存量)
- 高IO云硬盘:高性能、高扩展、高可靠,适用于性能相对较高,读写速率要求高,有实时数据存储需求应用场景。
- 通用型SSD:高性价比,适用于高吞吐、低时延的企业办公。
- 超高IO云硬盘:低时延、高性能,适用于高性能,高读写速率要求,读写密集型应用场景。
- 极速型SSD:采用了结合全新低时延拥塞控制算法的RDMA技术,适用于需要超大带宽和超低时延的应用场景。
-
高数据可靠性
- 基于分布式架构的,可弹性扩展的虚拟块存储服务;具有高数据可靠性,高I/O吞吐能力,能够保证任何一个副本故障时快速进行数据迁移恢复,避免单一硬件故障造成数据丢失。
-
支持云服务器和云硬盘的备份及恢复
- 可预先设置好自动备份策略,实现在线自动备份。也可以根据需要随时通过控制台或API,备份云服务器和云硬盘指定时间点的数据。
安全保障
-
多种安全服务,多维度防护
- Web应用防火墙、漏洞扫描等多种安全服务提供多维度防护。
-
安全评估
- 提供对用户云环境的安全评估,帮助用户快速发现安全弱点和威胁,同时提供安全配置检查,并给出安全实践建议,有效减少或避免由于网络中病毒和恶意攻击带来的损失。
-
智能化进程管理
- 提供智能的进程管理服务,基于可定制的白名单机制,自动禁止非法程序的执行,保障弹性云服务器的安全性。
-
漏洞扫描
- 支持通用Web漏洞检测、第三方应用漏洞检测、端口检测、指纹识别等多项扫描服务。
软硬结合
-
搭载专业的硬件设备
- 弹性云服务器搭载在专业的硬件设备上,能够深度进行虚拟化优化技术,用户无需自建机房。
-
随时获取虚拟化资源
- 可随时从虚拟资源池中获取并独享资源,并根据业务变化弹性扩展或收缩,像使用本地PC一样在云上使用弹性云服务器,确保应用环境可靠、安全、灵活、高效。
弹性伸缩
-
自动调整计算资源
-
动态伸缩:基于伸缩组监控数据,随着应用运行状态,动态增加或减少弹性云服务器实例。
-
定时伸缩:根据业务预期及运营计划等,制定定时及周期性策略,按时自动增加或减少弹性云服务器实例。
-
-
灵活调整云服务器配置
- 规格、带宽可根据业务需求灵活调整,高效匹配业务要求。
-
灵活的计费模式
- 支持包年/包月、按需计费、竞价计费模式购买云服务器,满足不同应用场景,根据业务波动随时购买和释放资源。
2)云数据库GaussDB For Mongo
产品介绍
- 一款基于华为自研的计算存储分离架构,兼容MongoDB生态的云原生NoSQL数据库。在华为云高性能、高可用、高可靠、高安全、可弹性伸缩的基础上,提供了一键部署、快速备份恢复、计算存储独立扩容、监控告警等服务能力。
-
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
-
MongoDB是一个介于关系数据库和非关系数据库(nosql)之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
产品优势
- 开源3倍性能提升,7*24小时在线数据实时写入
- 分钟级计算节点扩容和秒级存储扩容,轻松应对业务流量变化
- 多层安全防护体,跨多可用区部署,快速备份和数据恢复
- 实例管理、监控报警、节点扩缩容等一键式便捷操作
游戏场景
- 兼容MongoDB协议,游戏应用可以将一些游戏数据,如用户装备、用户积分等存储其中。游戏玩家活跃高峰期,对并发能力要求较高,可以快速灵活添加计算节点以应对高并发场景。
优势
- 灵活
- 游戏开服6小时内需多次扩容,GaussDB(for Mongo)计算节点增加,扩容性能倍数提升,可灵活轻松应对。
- 数据恢复快
- 表级时间点恢复,支持游戏快速回档。
- 稳定扩容
- 扩容期间性能稳定,不影响游戏体验。
3)Java
语言介绍
-
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还拆弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
-
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
类&对象
-
类与对象是整个面向对象中最基础的组成单元,一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。
- 类:是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法);
- 对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。
基本数据类型
运算符
- 计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。
循环结构
使用循环结构,可以使同样的操作执行多次。Java中有三种主要的循环结构:
继承
-
继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
-
通过extends关键字可以申明一个类是从另外一个类继承而来的,一般形式如下:
- 多态是同一个行为具有多个不同表现形式或形态的能力。
- 多态就是同一个接口,使用不同的实例而执行不同操作。
- 多态存在的三个必要条件:
- 继承
- 重写
- 父类引用指向子类对象: Parent p = new Child
实验
关键流程
- 点赞
- 收藏
- 关注作者
评论(0)