当前位置: 首页 > news >正文

2018年下半年试题四:论NoSQL数据库技术及其应用

论文库链接:系统架构设计师论文


论文题目

       随着互联网web2.0网站的兴起,传统关系数据库在应对web2.0 网站,特别是超大规模和高并发的web2.0纯动态SNS网站上已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。

       NOSQL(Not on SQL)的产生就是为了解)决大规模数据集合及多种数据类型带来的挑战,尤其是大数据应用难题。目前NOSQL数据库并没有一个统一的架构,根据其所采用的数据模型可以分为4类:键值(Key-alue)存储数据库、列存储数据库、文档型数据库和图(Graph)数据库。

       请围绕"NOSQL数据库技术及其应用”论题,依次从以下三个方面进行论述

       1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。

       2.详细论述常见的NOSQL数据库技术及其所包含的主要内容,并说明NOSQL数据库的主要适用场景。

       3.结合你具体参与管理和开发的实际项目,说明具体采用哪种NOSQL数据库技术,并说明架构设计过程及其应用效果。

论文参考

论软件系统架构评估及其应用

摘要       

       2024年1月,我作为系统架构设计师参与了某公司OA系统的设计与改良,该项目的目标是解决之前系统采用传统关系数据库在应对新型网站时暴露出了很多难以克服的问题:近段时间网站上涌现了很多不同数据类型,传统的关系数据库已经显得捉襟见肘,迫切需要从技术方面进行解决。在经过团队对技术进行严格选型后,最终确定采用NoSQL解决大规模数据集合及多种数据类型带来的挑战。本文以该项目为例,主要论述非关系型数据库NoSQL在该项目的具体应用:键值存储数据库、列存储数据库、文档型数据库和图数据库在OA系统中的应用。最终于2024年6月成功上线并获得了同事和用户的一致好评,同时也希望OA系统能够继续为公司创造价值。

正文 

        2024年1月,我作为系统架构设计师参与了某公司OA系统的设计与改良,之前系统采用传统关系数据库在应对web2.0网站时暴露出了很多难以克服的问题:近段时间网站上涌现了很多不同数据类型,传统的关系数据库已经显得捉襟见肘,迫切需要采用新技术方面对OA系统进行改良。在经过团队对技术进行严格选型后,最终确定采用非关系型数据库NoSQL解决大规模数据集合及多种数据类型带来的挑战,尤其是大数据应用难题。通过对OA系统数据库进行改良设计,使传输到系统的数据类型不再受约束,不论接收到什么类型的数据该系统都能够顺利运行,提高了系统的可用性。解决了技术难题后,经过编程工作人员的不懈努力,最终于2024年6月成功上线并获得了同事和用户的一致好评,同时也非常感谢单位领导给予我这次宝贵的机会,让我在使用非关系数据库NoSQL解决问题上更加娴熟。

         常见的NoSQL数据库技术有键值(Key-Value)存储数据库、列存储数据库、文档型数据库和图(Graph)数据库。键值(Key-Value)存储数据库指根据键值对数据进行存储的数据库,如身份证作为公民的唯一标识,可利用这一特点将关于人物的相关信息根据身份证号进行存储。列存储数据库指利用xlsx、xml等表格数据将信息进行存储,需要处理大量的表格信息。文档型数据库指运用docx、txt等文本数据将信息进行存储,需要对文本内容进行处理。图(Graph)数据库指将jpg、png等图形数据进行处理,从图形中找出物体的矢量图,根据其特征进行存储,如人脸识别系统。NoSQL数据库主要适用于需要处理超大规模数据集合、而且对并发操作要求很高的大型系统。如:双十一期间需要抢红包的购物系统、春运期间需要抢票的购票系统、需要处理各种数据并得出思考结论的大数据分析系统等。

        在我参与管理和开发的OA系统中,采用了键值(Key-Value)存储数据库、列存储数据库、文档型数据库和图(Graph)数据库等数据库技术。下文将对这几种NoSQL数据库技术的架构设计过程及其应用效果进行具体阐述。

         键值(Key-Value)存储数据库在OA系统中的应用。这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署。但是如果DBA只对部分值进行查询或更新的时候,Kevvalue就显得效率低下了。例如:Tokyo Cabinet/Tyrant, Redis, Voldemort. Oracle BDB。针对公司人员数据信息存储管理模块,我们采用了键值存储数据库进行存储,根据身份证号唯一标识的特征,先将公司所有员工的身份证号进行收集,再按照员工进入公司的先后顺序编排工号,把身份证号与工号进行唯一绑定,之后对工号进行处理即可,可以有效防止身份证号信息泄露问题,便于有效管理公司员工信息。即便公司在短时间内需要对员工信息进行完善也可以高效地开展维护,确保数据的及时性。根据身份证号对工作人员进行管理的方法有效地减轻了维护信息数据的负担。

        列存储数据库和文档型数据库在OA系统中的应用。列存储数据库这部分数据库通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。这些列是由列家族来安排的。如:Cassandra,HBase,Riak。文档型数据库的灵感是来自于Lotus Notes的办公软件,而且它同第一种键值存储相类似。该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储,比如JSON。针对公司项目资料数据存储模块,我们采用了列存储数据库和文档型数据库,先将项目资料根据项目重要性、立项时间顺序等对其进行编号,将建设内容、项目资金、设计公司、监理公司等信息进行补充完善。关于项目合同的数据存储方面,我们采用了文档性数据库进行存储,将纸质版项目合同电子化后存储在相应数据库中,同时做好备份存储,方便日后审计时能够快捷高效地查找项目资料相关信息。当公司需要存储大量的项目资料时,列存数据库和文档型数据库也可以帮助其进行存储,将可能存在关联的数据进行同类存储。当管理人员需要对其中数据进行检索时,可以根据关键字对大量数据进行查找,并快速从中找到有效信息,提高工作效率。

        图(Graph)数据库在OA系统中的应用。图形结构的数据库同其他行列以及刚性结构的SQL数据库不同,它是使用灵活的图形模型,并且能够扩展到多个服务器上。NOSQL数据库没有标准的査询语言(SQL),因此进行数据库査询需要制定数据模型。许多NOSQL数据库都有REST式的数据接口或者查询API。如:Ne04J,InfoGrid,Infinite Graph。针对公司员工上下班考勤打卡模块,我们采用了图数据库,员工在入职时就将人脸信息录入人脸识别设备,再将该设备收集到的人脸信息实时传输到OA系统中,确保信息的一致性。如果员工在上下班时发生迟到早退现象,OA系统就可以第一时间对该员工行为做出响应,及时将信息发送给本人,经确认后按照公司相关规定对该行为进行处理。当公司有大量工作人员进入公司时也可以及时地对其人脸信息进行录入,避免人工记忆混乱造成不必要地麻烦,有效地提高了工作效率。该模块可以有效地提高员工的时间观念,养成良好的按时上下班习惯,利于公司业绩地提高。

           从2024年1月立项开始,经过近半年时间的辛勤付出,于6月成功上线并得到同事的一致好评,实属不易。期间,我们利用键值(Key-Value)存储数据库、列存储数据库、文档型数据库和图(Graph)数据库等技术将传统的关系型数据库改造成了NoSQL数据库,解决了OA系统大规模数据集合及多种数据类型带来的挑战,尤其是大数据应用难题。通过这次经历,我也认识到了作为系统架构设计师,技术经验的不足将有可能直接导致系统在应对超大规模和高并发问题时发生崩溃现象,对系统的使用造成消极影响。所以我在今后也将汲取本次项目的实战经验,梳理之前项目建设存在的问题,并在以后OA系统建设过程中,要严谨细致地对技术进行选型,避免因技术选型失误造成系统问题,导致严重后果。

http://www.dtcms.com/a/457146.html

相关文章:

  • 如何检查网站死链网站建设技术咨询协议
  • 【MATLAB技巧】contour|等高线图绘制,使用示例和使用技巧
  • matlab计算算法的运行时间
  • 有人情味的网站北京大数据公司排行
  • 时间箭头 量子信息的不可逆扩散
  • iPhone 17 Pro Max 的影像升级全解:从长焦、前置聊到 ProRes RAW
  • 阿里巴巴国际站费用淘宝装修做代码的网站
  • 解决comet等待网络连接的问题
  • 【开题答辩全过程】以 爱宠宠物商店管理系统的设计与实现为例,包含答辩的问题和答案
  • Spring Boot Actuator+Micrometer:高并发下 JVM 监控体系的轻量化实践
  • 建设网站 深圳石家庄企业网站建设
  • 4分15秒!高质量超长视频生成取得颠覆突破!字节Self-Forcing++超基线50倍,效果炸裂!
  • 沈阳网站建设小志企业网站备案提供什么资料
  • 机器人再冲港交所,优艾智合能否破行业困局?
  • Chromium 138 编译指南 - Android 篇:从Linux版切换到Android版(六)
  • Hugging face Transformers(5)—— Datasets
  • 大良营销网站建设精英做外贸都有哪些网站
  • 对于SpringBoot的三层缓存的思考
  • Spring Boot 中使用 Caffeine 缓存详解与案例
  • 零基础网站建设教学服务wordpress点击图片不显示不出来
  • 大模型原理与实践:第六章-大模型训练流程实践_第1部分-模型预训练(Trainer、DeepSeed)
  • 分析DAO组织如何重构开发者协作关系
  • Kotlin:现代编程语言的革新者
  • 济南集团网站建设价格专门做汽车配件的外贸网站
  • word属性解释
  • 大连网站关键字优化电脑网页游戏平台
  • AIoT(人工智能物联网):融合范式下的技术演进、系统架构与产业变革
  • 关于旅行的网站怎样做wordpress首页文章带图
  • 2.GDI图形绘制基础
  • 公司做网站需要什么资料百度关键词搜索查询