微认证 - 数据库板块 -《基于MongoDB使用Java实现图书管理系统》 - 学习分享

举报
高级云网管 发表于 2022/06/25 08:25:46 2022/06/25
【摘要】 为了方便图书管理员的操作,减少图书管理员的工作量并使其能更有效地管理书库中的图书,图书管理系统实现了传统图书管理工作的信息化建设,但部署在本地的图书管理系统,难以实现多地访问,弹性扩容。幸运的是,由于云计算的发展,我们可以在公有云平台上利用各类资源和工具来更加便捷地完成信息的获取、整理和存储。

image.png

什么是微认证?

  • 华为云微认证是基于线上学习与在线实践,快速获得场景化技能提升的认证。

微认证清单 - 数据库

image.png

基于MongoDB使用Java实现图书管理系统

  • 课程简介

    • 业务上云,云上数据库的使用,已是企业部署应用的趋势,快速部署业务系统,数据快速备份,使用DevCloud实现云上开发。
  • 课程结构

image.png

1、图书管理系统介绍

图书管理系统

image.png

  • 图书管理系统,是一个由人、计算机等组成的能进行管理信息的收集、传递、加工、保存、维护和使用的系统。
  • 利用信息控制企业的行为; 帮助企业实现其规划目标。

传统图书管理系统的问题

1)访问

image.png

  • 传统图书管理系统大部分都是部署在本地,当访问量增加时,难以实现动态的扩容,以应对高访问量。

2)数据备份

image.png

  • 传统的图书管理系统的数据库都是本地的,当出现问题时,很难快速备份,数据盘容量不够时,也难实现快速扩容

云上图书管理系统

  • 云上图书管理系统可以实现异地实时访问,突破地域限制

  • 根据访问量实时动态的调整,以实现扩容。
    image.png

  • 对于数据,云上数据库可以根据数据存储量,动态的增减数据盘,以及实现数据的备份。

2、基于MongoDB的图书管理系统解决方案

1)弹性云服务器(Elastic Cloud Server,ECS)

image.png

产品介绍

  • CPU、内存、操作系统、云硬盘组成的基础的计算组件。

image.png

  • 弹性云服务器创建成功后,您就可以像使用自己的本地PC或物理服务器一样,在云上使用弹性云服务器。

产品优势

image.png

稳定可靠

  • 丰富的磁盘种类

    • 普通IO云硬盘:安全、可靠、可弹性扩展,适用于大容量、读写速率要求不高、事务性处理较少的应用场景。(存量)
    • 高IO云硬盘:高性能、高扩展、高可靠,适用于性能相对较高,读写速率要求高,有实时数据存储需求应用场景。
    • 通用型SSD:高性价比,适用于高吞吐、低时延的企业办公。
    • 超高IO云硬盘:低时延、高性能,适用于高性能,高读写速率要求,读写密集型应用场景。
    • 极速型SSD:采用了结合全新低时延拥塞控制算法的RDMA技术,适用于需要超大带宽和超低时延的应用场景。
  • 高数据可靠性

    • 基于分布式架构的,可弹性扩展的虚拟块存储服务;具有高数据可靠性,高I/O吞吐能力,能够保证任何一个副本故障时快速进行数据迁移恢复,避免单一硬件故障造成数据丢失。
  • 支持云服务器和云硬盘的备份及恢复

    • 可预先设置好自动备份策略,实现在线自动备份。也可以根据需要随时通过控制台或API,备份云服务器和云硬盘指定时间点的数据。

安全保障

  • 多种安全服务,多维度防护

    • Web应用防火墙、漏洞扫描等多种安全服务提供多维度防护。
  • 安全评估

    • 提供对用户云环境的安全评估,帮助用户快速发现安全弱点和威胁,同时提供安全配置检查,并给出安全实践建议,有效减少或避免由于网络中病毒和恶意攻击带来的损失。
  • 智能化进程管理

    • 提供智能的进程管理服务,基于可定制的白名单机制,自动禁止非法程序的执行,保障弹性云服务器的安全性。
  • 漏洞扫描

    • 支持通用Web漏洞检测、第三方应用漏洞检测、端口检测、指纹识别等多项扫描服务。

软硬结合

  • 搭载专业的硬件设备

    • 弹性云服务器搭载在专业的硬件设备上,能够深度进行虚拟化优化技术,用户无需自建机房。
  • 随时获取虚拟化资源

    • 可随时从虚拟资源池中获取并独享资源,并根据业务变化弹性扩展或收缩,像使用本地PC一样在云上使用弹性云服务器,确保应用环境可靠、安全、灵活、高效。

弹性伸缩

  • 自动调整计算资源

    • 动态伸缩:基于伸缩组监控数据,随着应用运行状态,动态增加或减少弹性云服务器实例。

    • 定时伸缩:根据业务预期及运营计划等,制定定时及周期性策略,按时自动增加或减少弹性云服务器实例。

  • 灵活调整云服务器配置

    • 规格、带宽可根据业务需求灵活调整,高效匹配业务要求。
  • 灵活的计费模式

    • 支持包年/包月、按需计费、竞价计费模式购买云服务器,满足不同应用场景,根据业务波动随时购买和释放资源。

2)云数据库GaussDB For Mongo

产品介绍

  • 一款基于华为自研的计算存储分离架构,兼容MongoDB生态的云原生NoSQL数据库。在华为云高性能、高可用、高可靠、高安全、可弹性伸缩的基础上,提供了一键部署、快速备份恢复、计算存储独立扩容、监控告警等服务能力。

image.png

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

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

产品优势

image.png

  • 开源3倍性能提升,7*24小时在线数据实时写入
  • 分钟级计算节点扩容和秒级存储扩容,轻松应对业务流量变化
  • 多层安全防护体,跨多可用区部署,快速备份和数据恢复
  • 实例管理、监控报警、节点扩缩容等一键式便捷操作

游戏场景

  • 兼容MongoDB协议,游戏应用可以将一些游戏数据,如用户装备、用户积分等存储其中。游戏玩家活跃高峰期,对并发能力要求较高,可以快速灵活添加计算节点以应对高并发场景。

image.png

优势

  • 灵活
    • 游戏开服6小时内需多次扩容,GaussDB(for Mongo)计算节点增加,扩容性能倍数提升,可灵活轻松应对。
  • 数据恢复快
    • 表级时间点恢复,支持游戏快速回档。
  • 稳定扩容
    • 扩容期间性能稳定,不影响游戏体验。

3)Java

image.png

https://java.com/en/download/

语言介绍

  • Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还拆弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

  • Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

类&对象

  • 类与对象是整个面向对象中最基础的组成单元,一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。

    • :是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法);
    • 对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。

基本数据类型

image.png

运算符

  • 计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。

image.png

循环结构

使用循环结构,可以使同样的操作执行多次。Java中有三种主要的循环结构:

image.png

继承

  • 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

  • 通过extends关键字可以申明一个类是从另外一个类继承而来的,一般形式如下:

image.png

  • 多态是同一个行为具有多个不同表现形式或形态的能力。
  • 多态就是同一个接口,使用不同的实例而执行不同操作。
  • 多态存在的三个必要条件:
    • 继承
    • 重写
    • 父类引用指向子类对象: Parent p = new Child

实验

关键流程

image.png

【版权声明】本文为华为云社区用户翻译文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容, 举报邮箱:cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。