MongoDB概述与存储结构_第1页
MongoDB概述与存储结构_第2页
MongoDB概述与存储结构_第3页
MongoDB概述与存储结构_第4页
MongoDB概述与存储结构_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大数据处理系统

——存储管理mongoDB1大数据的存储平台大多采用NoSQ数据库系统,它能充分利用分布式计算机平台的特点,具有更好的存储和访问效率。NoSQL的崛起2023/5/192NoSQL全称是NotOnlySql,指的是非关系型的数据库。NoSQL数据库主要应用于web2.0的大规模系统,具有模式灵活、最终一致性、面向海量数据、分布式、开源、水平可扩展、配置简单、非关系型等特点。存储类型NoSQL产品特性列式存储Hbase、CassandraHypertable按列存储数据,最大的特点是方便存储结构和半结构化数据,方便做数据压缩,针对某一列或者某几列的查询有非常大的I/O优势键值存储Redis、TokyoCabinetTokyoTyrant、Flare可以通过键快速查询到值。一般来说,存储不管值的格式,照单全收文档式存储MongoDB、CouchDB文档存储一般用类似JSON格式存储,存储的内容是文档类型的,这样也就有机会对某些字段建立索引,实现关系型数据库的某些功能对象式存储db4oVersant通过类似面向对象语言的语法操作数据库,通过对象的方式存取数据mongoDB简介3MongoDB是一个介于关系数据库和非关系数据库之间的产品MongoDB是一个开源的、模式自由的、面向文档存储的、分布式的数据库MongoDB是由C++语言编写的开源数据库系统MongoDB服务端可运行在Linux、Windows或OS

X平台,支持32位和64位应用数据模型4MongoDB数据库是一个面向集合且模式自由的文档类型数据库。1.面向集合面向集合是指数据被分组存在在数据集中,被称为一个集合(Collencton==table)。集合类似于关系型数据库的表(table),不同于表的是,集合不需要定义任何模式,集合在存储文档,一个文档类似于关系型数据库的一条记录。在MongoDB中,要操作一个表并不需要创建它,可以直接往集合中插入数据,如果集合不存在,它会自动创建这个集合。2.模式自由模式自由就是对存储在MongoDB数据库中的数据,我们不需要知道它是什么结构(可以是任何的文档)。3.文档型文档型存储的数据是键值对的集合,键是字符串,值可以是数据类型集合中的任意类型,包括数组和文档。我们把这个数据格式称为BSON(BinarySerializedDocumentNotation)功能性51.完整的索引支持:可以对文档创建索引,甚至还可以对内嵌文档以及数组创建索引。MongoDB的查询优化器会自动分析查询语句,然后生成一个高效的查询集合。2.动态查询:MongoDB的查询指令使用JSON形式,使查询表达式变得非常丰富,还可以非常容易地查询文档中的内嵌对象和数组。3.查询监视:MongoDB提供了很多性能监视工具,用于分析数据库操作的性能。

功能性64.复制及自动故障转移:MongoDB数据库支持服务器之间的复制,从节点可以复制主节点的数据,主节点的所有对数据的操作都会同步到从节点。从节点的数据跟主节点的数据是完全一样的,以作备份。主节点发生故障之后,从节点可以升级为主节点,也可以通过从节点对故障主节点进行数据恢复。5.高效地传统存储方式:支持二进制数据及大型对象(如视频),可以将图片文件甚至视频转换成二进制的数据存储到数据库中。6.自动分片以支持云级别的伸缩性:可以水平扩展数据库集群,动态添加片(服务器)。其他特征71.拓展功能强大2.便于管理3.适用于多种场合MongoDB的适用场景MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS系统(丰富的功能)架起一座桥梁,集两者的优势于一身。(1)网站数据:MongoDB非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。(2)缓存:由于性能很高,MongoDB也适合作为信息基础设施的缓存层。在系统重启之后,由MongoDB搭建的持久化缓存层可以避免下层的数据源过载。(3)大尺寸,低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储。8MongoDB的适用场景(4)高伸缩性的场景:MongoDB非常适合由数十或数百台服务器组成的数据库。MongoDB的路线图中已经包含对MapReduce

引擎的内置支持。(5)用于对象及JSON数据的存储:MongoDB的Bson数据格式非常适合文档化格式的存储及查询。9MongoDB与MSSQLServer的语句对照——选择查询MySQL:

SELECT*FROMuserMongo:

db.user.find()MySQL:

SELECT*FROMuserWHEREname='foobar'Mongo:

db.user.find({'name':'foobar'})2023/5/1910MySQL:

INSERTINTOuser(`name`,`age`)values('foobar',25)Mongo:

db.user.insert({'name':'foobar','age':25})ifyouwantaddacolumn`email`onMySQL,youmust:

ALTERTABLEuser….ButinMongo,youcanjust:

db.user.insert({'name':'foobar','age':25,'email':'foo@'})MongoDB与MSSQLServer的语句对照——插入11

12MongoDB在执行插入时,首先,会将插入的数据转换成BSON格式;然后,MongoDB数据库会对BSON进行解析,并且检查是否存在“_id”键(_id键在插入数据库时MongoDB会自动生成)。MongoDB还对文档的大小做了限制。1.8之前的版本,文档不能超过4MB;1.8之后的版本支持16MB。除了这些之外,没有别的数据校验,就是简单的将文档原样存入数据库中。这样做的坏处是允许插入无限数据;好处就是不会受到注入式攻击,让数据库更加安全。MongoDB在记录长度变化后,发现当前记录所在空间后面没有空余的空间可供其变长。那么这条记录就会被删除然后移动到数据集的最后。MySQL:

DELETE*FROMuserMongo:

db.user.remove({})MySQL:

DELETEFROMuserWHEREage<30Mongo:

db.user.remove({'age':{$lt:30}})$gt:>;$gte:>=;$lt:<;$lte:<=;$ne:!=MongoDB与MSSQLServer的语句对照——删除13删除原理14位置通过DiskLoc数据结构进行存储,存储了数据文件编号和块在文件中的位置,删除的块或者域都会在DletedList中标记,并不是直接抹掉。MySQL:

UPDATEuserSET`age`=36WHERE`name`='foobar'Mongo:

db.user.update({'name':'foobar'},{$set:{'age':36}})MySQL:UPDATEuserSET`age`=`age`+3WHERE`name`='foobar'Mongo:db.user.update({'name':'foobar'},{$inc:{'age':3}})MongoDB与MSSQLServer的语句对照——更新15大数沃据处渴理系怨统——分析Hi巡寿ve基于俊分布恢式计伞算平嘉台上静的数密据分敢析工馒具包膜括Ap捡ac蚀he证P距ig、Hi帝ve、Ap猴ac敏he扔K嫩yl顾in、Rh杏ad鸦oo蓄p等。16Hi旋ve定义Hi敏ve是建咏立在Ha辩do鸽op上的握数据丑仓库叹基础于构架捡。它蜡提供容了一当系列录的工榜具,知可以坛用来奔进行鄙数据南提取沸转化蓬加载届(ET阔L),腊这是壮一种埋可以湖存储炮、查秧询和岸分析球存储迫在Ha驶do伟op中的戚大规与模数冬据的挠机制治。Hi珍ve定义后了简差单的斜类SQ笛L查询见语言启,称积为HQ咬L,它担允许绵熟悉SQ组L的用驶户查谅询数赔据。茧同时丽,这扔个语亏言也娘允许冤熟悉Ma汪pR行ed干uc血e开发乔者的求开发窝自定酷义的ma悠pp罚er和re侵du皱ce盯r来处仿理内私建的ma骗pp纯er和re程du蛙ce诞r无法讽完成盐的复葬杂的树分析教工作幅。Hi骗ve没有嫁专门型的数端据格稳式。Hi舞ve可以畏很好窜的工坊作在Th附ri财ft之上卷,控侧制分坊隔符按,也倘允许芒用户笔指定汪数据旧格式笑。17Hi魄ve的适阵用场僚景Hi夺ve构建躲在基射于静境态批耻处理幕的Ha汪do拖op之上磨,Ha悄do否op通常未都有早较高的的延犯迟并锯且在荡作业堂提交摩和调叉度的扣时候惨需要疮大量真的开饺销。晴因此些,Hi圈ve并不录能够润在大业规模衔数据惹集上侵实现婚低延优迟快柔速的闪查询宿,例驶如,Hi布ve在几棕百MB的数苗据集年上执态行查黎询一触般有个分钟姥级的道时间杯延迟璃。因坡此,Hi族ve并不揭适合浊那些脸需要旱低延埋迟的夹应用舱,例抖如,盒联机暗事务壳处理闷(OL记TP)。Hi脆ve查询饥操作想过程屯严格再遵守Ha锐do侄op笋M点ap钱Re够du袭ce的作涨业执渠行模笨型,Hi盖ve将用遥户的Hi便ve盼QL语句掀通过帅解释丛器转服换为Ma间pR魄ed镰uc迷e作业链提交吩到Ha困do鼓op集群冈上,Ha需do胁op监控贫作业六执行遇过程萝,然枝后返鸟回作鸭业执齿行结破果给掩用户邪。Hi景ve并非规为联茶机事惧务处果理而腥设计端,Hi炭ve并不绩提供咽实时折的查喝询和碎基于喂行级半的数打据更菊新操俗作。Hi珍ve的最帝佳使佛用场烈合是泽大数偶据集星的批已处理最作业矿,例医如,搬网络帮日志提分析梅。18Hi萄ve的设旋计特蛛点支持筒索引袜,加继快数月据查镰询。不同生的存青储类罩型,际例如液,纯莲文本挽文件牙、HB碎as蚊e中的碗文件旨。将元骨数据腔保存榜在关聚系数课据库自中,注大大水减少次了在垮查询钥过程胞中执投行语崇义检湖查的支时间备。可以毫直接敞使用欲存储珍在Ha厌do逐op文件计系统尽中的丽数据致。内置饿大量拦用户第函数UD协F来操浇作时她间、拒字符缸串和剧其他栗的数粱据挖庆掘工西具,邮支持陵用户杂扩展UD红F函数年来完虫成内涉置函过数无徐法实认现的任操作圆。类SQ个L的查东询方植式,堪将SQ姻L查询传转换庄为Ma璃pR玻ed核uc产e的jo侄b在Ha世do贸op集群喝上执腥行。19hi洲ve的技绣术架牌构20ha犁do马op和ma妄pr仆ed倦uc沉e是hi蜓ve架构的根撞基。Hi析ve架构括包括仓如下缠组件:CL浑I(co浆mm浮an踏d薯li衣ne粥i盗nt纺er码fa纽奉ce)、JD题BC白/O巨DB私C、Th洒ri宵ft息S坟er馅ve四r、WE法BGU随I、me咬ta蛛st今or扶e和Dr撇iv征er厉(C泳om批pl含ie摆r、Op第ti寨mi蓄ze队r和Ex企ec绳ut特or昏),这西些组件件我可以裕分为径两大作类:羡服务浑端组素件和浸客户端薄组件明。服务切端组纽奉件:Dr著iv荡er组件:该浩组件呆包括Co浩mp险li杂er、Op以ti滋mi索ze渐r和Ex勤ec逆ut挑or,它锤的作属用是消将我别们写绸的Hi豆ve茫QL(类SQ墙L)语模句进悼行解牺析、号编译凡优化耗,生曾成执大行计交划,冠然后兰调用匠底层皆的ma似pr角ed墨uc坦e计算鼻框架凑。Me跪ta满st潜or践e组件:元肆数据垂服务担组件赔,这巷个组筒件存搞储hi唱ve的元做数据律,hi胳ve的元明数据泥存储抓在关和系数煮据库酷里,hi莲ve支持仍的关扒系数本据库萝有de臭rb处y、my雾sq认l。元缎数据备对于hi芒ve十分键重要避,因灭此hi交ve支持撤把me泪ta亲st篇or粮e服务骑独立夸出来硬,安娘装到帜远程际的服糕务器宝集群松里,院从而单解耦hi竿ve服务脂和me传ta可st毅or给e服务劣,保劫证hi机ve运行宵的健饲壮性报,这皮个方头面的网知识鸦,我芳会在且后面给的me川ta你st蜜or炼e小节悟里做臂详细蛋的讲崇解。Th载ri推ft服务:th羞ri伙ft是fa拒ce送bo诞ok开发胀的一蓬个软污件框树架,赔它用侍来进娱行可章扩展衰且跨治语言保的服昼务的穗开发役,hi芒ve集成担了该西服务迈,能物让不银同的赠编程细语言顷调用hi设ve的接蝴口。21客户在端组茎件:CL捕I:co同mm缘瑞an括d傅li摧ne谎i痛nt愿er汇fa猎ce,命墓令行凡接口远。Th津ri指ft客户王端:上悦面的仆架构炸图里六没有渠写上Th延ri冤ft客户调端,品但是hi踏ve架构哗的许才多客萌户端堤接口划是建梨立在th念ri贪ft客户兰端之柔上,鸡包括JD雾BC和OD良BC接口泰。WE红BG复UI:hi坟ve客户先端提穿供了岁一种擦通过才网页越的方卖式访小问hi土ve所提拍供的捐服务拍。这娘个接孙口对领应hi雄ve的hw坡i组件迹(hi蹦ve蓄w注eb品i谋nt芬er吼fa动ce),营使用愉前要严启动hw底i服务蜡。22Hi羞ve常用行优化休方法jo悼in连接抵时的幅优化勿:当龙三个哲或多佩个以塞上的锦表进扣行jo织in操作都时,另如果论每个on使用沾相同往的字炼段连荒接时镜只会徐产生异一个ma妻pr驼ed浊uc口e。jo别in连接凯时的下优化逐:当估多个弓表进败行查粱询时暖,从例左到祥右表短的大春小顺鲜序应咽该是库从小崖到大雨。原陈因:hi化ve在对融每行调记录乎操作蓄时会致把其识他表汇先缓迷存起寇来,虫直到弄扫描希最后嫌的表假进行得计算在wh晒er秤e字句事中增弃加分贤区过贝滤器盈。当可穴以使啦用le作ft雕s扭em织i清jo惨in语法斗时不茅要使卡用in衡ne座r林jo倘in,前匆者效涌率更暂高。刻原因望:对铅于左则表中州指定凭的一跃条记益录,啊一旦商在右俭表中废找到满立即死停止曲扫描拉。如果眨所有大表中管有一津张表顶足够剩小,里则可振置于纱内存垮中,难这样句在和躺其他叼表进爆行连谁接的寺时候合就能象完成棵匹配短,省巾略掉re踪蝶du峡ce过程丘。设盘置属诊性即阿可实倚现,se臭t违hi草ve舒.a姓ut于o.蒜co义ve确rt圆.j翻oi聋n=烂tr竖ue丑;用户无可以航配置竞希望乳被优抹化的杆小表唱的大胜小se症t灭hi律ve印.m对ap对jo值in笛.s页ma水ll忙ta凳bl踩e.题si闸ze棕=2陆50挽00纠00浆;如果俗需要神使用摸这两版个配读置可勉置入$H昆OM特E/撞.h肠iv正er肺c文件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论