MongoDB 简介88bifa必发娱乐

简介

MongoDB\[1\] 
是2个基于分布式文件存储的数据库。由C++言语编写。意在为WEB应用提供可扩展的高质量数据存款和储蓄消除方案。

88bifa必发娱乐 1mongoDB

MongoDB\[2\] 
是三个在于关周到据库和非关周到据库之间的出品,是非关周到据库个中成效最充足,最像关周密据库的。他支持的数据结构卓殊松懈,是类似jsonbson格式,因此得以储存相比较复杂的数据类型。Mongo最大的特色是她帮忙的询问语言分外强劲,其语法有点类似于面向对象的查询语言,差不多可以完毕类似关全面据库单表查询的三头职能,而且还支持对数码建立索引\[3\] 

mongodb特点

它的特色是高品质、易铺排、易使用,存款和储蓄数据很是便于。主要功用特色有:

*面向集合存储,易积存对象类型的数目。

88bifa必发娱乐 2mongodb集群参考

*形式自由。

*支持动态查询

*援助完全索引,包括在那之中对象。

*帮忙查询。

*援救复制和故障复苏。

*使用高效的二进制数据存款和储蓄,包蕴大型对象(如录制等)。

*活动处理碎片,以援助云计算层次的增添性。

*支持RUBYPYTHONJAVAC++PHPC#等多样语言。

*文件存款和储蓄格式为BSON(一种JSON的壮大)。

*可通过网络访问。

mongodb使用原理

所谓“面向集合”(Collection-Oriented),意思是数据被分组存款和储蓄在数量集中,被号称贰个集合(Collection)。每一种集合在数据库中都有多少个唯一的标识名,并且能够包涵无限数目标文书档案。集合的概念类似关系型数据库(KugaDBMS)里的表(table),差异的是它不需求定义任何方式(schema)。Nytro
MegaRAID技术中的闪存高速缓存算法,能够相当慢识别数据库内大数据汇总的热数据,提供平等的特性革新。

情势自由(schema-free),意味着对于仓库储存在mongodb数据库中的文件,大家不须要精晓它的此外组织定义。要是要求的话,你一点一滴能够把不一样结构的文件存款和储蓄在同1个数据Curry。

储存在集结中的文书档案,被贮存为键-值对的样式。键用于唯一标识贰个文书档案,为字符串类型,而值则能够是种种复杂的文件类型。我们称那种存款和储蓄格局为BSON(Binary
Serialized Document Format)。\[3\] 

\[4\]  MongoDB已经在三个站点布局,其主要场景如下:

1)网站实时数据处理。它分外适合实时的插入、更新与查询,并装有网站实时数据存款和储蓄所需的复制及中度伸缩性。

2)缓存。由于质量很高,它符合当作新闻基础设备的缓存层。在系统重启之后,由它搭建的持久化缓存层可避防止下层的数据源过载。

3)高伸缩性的场合。万分适合由数十或数百台服务器组成的数据库,它的路径图中一度包蕴对MapReduce引擎的放到辅助。

不适用的境况如下:1)需要中度事务性的系统。

2)古板的商业智能应用。

3)复杂的跨文书档案(表)级联合检查询。\[4\] 

mongodb系统介绍

分布式文件系统(Distributed
File
System)是指文件系统一管理理的物理存款和储蓄能源不自然一贯连接在地点节点上,而是经过电脑互连网与节点相连。分布式文件系统的布置性基于客户机/服务器形式。1个八斗之才的互联网恐怕包涵三个供多用户访问的服务器。其它,对等特征允许一部分系统扮演客户机和服务器的再度剧中人物。

HBase是3个分布式的、面向列的开源数据库,该技术来自
Fay Chang
所撰写的谷歌杂文“Bigtable:3个结构化数据的分布式存款和储蓄系统

Yonghong Data
Mart是基于自有技术研究开发的一款数码存款和储蓄、数据处理的软件。Yonghong Data
Mart的分布式文件存款和储蓄系统 (ZDFS)是在Hadoop
HDFS基础上实行的改造和扩大,将服务器集群内装有节点上囤积的文本统管和仓库储存。

mongodb实际运用

MongoDB服务端可运营在LinuxWindows或mac
os
x平台,援助三二十一人和63位应用,暗中同意端口为27017。推荐运行在6三位平台,因为MongoDB在30位格局运作时补助的最大文件尺寸为2GB。\[3\] 

mongodb版本宣布

2012年05月23日,MongoDB2.1
开发分支发表了! 该版本选取全新架构,包蕴众多增加。\[5\] 

2013年0一月0二十五日,MongoDB 2.0.6 公布,分布式文书档案数据库。\[6\] 

贰零壹壹年01月2一日,MongoDB 2.4.3
发布,此版本包含了有些品质优化,功效增强以及bug修复。

2013年08月20日,MongoDB 2.4.6 发布。

二〇一二年1月0二116日,MongoDB 2.4.8 发表,是当下风靡的稳定版。

mongodb数据开发

mongodb服务端

下载地址

在分裂的系统上会有两样的本子。

mongodb驱动

下载地址

用差异的语言开发会有区别的驱动提供。

mongodb设计特性

MongoDB
的设计指标是高品质、可扩展、易计划、易使用,存款和储蓄数据丰富有利于。其首要成效特色如下。

(1)面向集合存款和储蓄,简单囤积对象类型的多寡。在MongoDB
中数量被分组存款和储蓄在聚集中,集合类似福睿斯DBMS
中的表,三个聚众中得以储存无限多的文书档案。

(2)方式自由,选用无情势结构存储。在MongoDB
中聚集中储存的数据是无格局的文书档案,选择无格局存款和储蓄数据是汇集不同于普拉多DBMS
中的表的二个首要特点。

(3)扶助完全索引,能够在任意属性上建立目录,包罗个中对象。MongoDB的目录和QX56DBMS
的目录基本一样,能够在内定属性、内部对象上创制索引以增强查询的快慢。除此之外,MongoDB
还提供创制基于地理空间的目录的力量。

(4)匡协助调查询。MongoDB 协助添加的询问操作,MongoDB
大约扶助SQL中的半数以上查询。

(5)强大的联谊工具。MongoDB
除了提供充分的询问功能外,还提供强有力的聚众工具,如count、group
等,援助使用MapReduce 完结复杂的集纳任务。

(6)帮衬复制和数据苏醒。MongoDB
补助主从复制机制,能够实现数据备份、故障复苏、读扩展等效果。而典故副本集的复制机制提供了电动故障恢复的效能,确定保证了集群数据不会丢掉。

(7)使用便捷的二进制数据存款和储蓄,包含大型对象(如录制)。使用二进制格式存款和储蓄,能够保存任何项指标数码对象。

(8)自动处理分片,以支撑云计算层次的扩充。MongoDB
匡助集群自动切分数据,对数据开始展览分片能够使集群存款和储蓄越多的数码,达成更大的载荷,也能保证仓库储存的载重均衡。

(9)支持Perl、PHP、Java、C#、JavaScript、Ruby、C
和C++语言的驱动程序,MongoDB
提供了当前具备主流开发语言的数据库驱动包,开发人士使用别的一种主流开发语言都得以轻松编制程序,完结访问MongoDB
数据库。

(10)文件存款和储蓄格式为BSON(JSON 的一种扩展)。BSON 是对二进制格式的JSON
的简称,BSON 帮助文书档案和数组的嵌套。

(11)能够因而互连网访问。能够通过网络远程访问MongoDB 数据库。

mongodb基本概念

(1)文档

文书档案是 MongoDB
中数据的主干单位,类似于关全面据库中的行(不过比行复杂)。两个键及其涉及的值不变地坐落一起就构成了文书档案。不一样的编制程序语言对文档的表示方法不一致,在JavaScript
中文书档案表示为:

{“greeting”:“hello,world”}

以此文书档案唯有多个键“greeting”,对应的值为“hello,world”。多数意况下,文书档案比那些更复杂,它涵盖八个键/值对。例如:

{“greeting”:“hello,world”,“foo”: 3}

文书档案中的键/值对是铁板钉钉的,上边包车型地铁文书档案与地点的文书档案是一点一滴分化的三个文档。

{“foo”: 3 ,“greeting”:“hello,world”}

文书档案中的值不仅能够是双引号中的字符串,也能够是其它的数据类型,例如,整型、布尔型等,也得以是其它三个文书档案,即文书档案能够嵌套。文书档案中的键类型只好是字符串。

(2)集合

聚拢正是一组文书档案,类似于关周详据库中的表。集合是无方式的,集合中的文书档案能够是不足为奇的。例如,{“hello,word”:“迈克”}和{“foo”:
3},它们的键差别,值的类型也不比,可是它们能够存放在同一个晤面中,也正是例外形式的文书档案都足以放在同三个集聚中。既然集合中能够存放弃何项目标文书档案,那么为何还索要利用三个汇聚?那是因为具有文书档案都坐落同二个集结中,无论对于开发者依然管理员,都很难对聚集进行管制,而且那种景况下,对聚集的询问等操作作用都不高。所以在其实使用中,往往将文书档案分类存放在差别的汇聚中,例如,对于网站的日志记录,能够依照日志的级别进行仓库储存,Info级别日志存放在Info
集合中,Debug 级别日志存放在Debug
集合中,那样既有利了保管,也提供了询问品质。然则急需留意的是,那种对文档进行私分来分别存储并不是MongoDB
的威迫供给,用户能够灵活选拔。

能够运用“.”依照命名空间将集纳划分为子集合。例如,对于3个博客系统,恐怕包含blog.user
和blog.article 八个子集合,那样划分只是让集体结构更好有的,blog
集合和blog.user、blog.article
没有别的涉及。固然子集合没有其它异样的地方,可是使用子集合协会数据结构清晰,那也是MongoDB
推荐的点子。

(3)数据库

MongoDB 中四个文书档案组成集合,八个聚众组成数据库。二个MongoDB
实例能够承接八个数据库。它们中间能够作为相互独立,每种数据库都有独立的权柄控制。在磁盘上,不一样的数据仓库储存放在差别的文件中。MongoDB
中存在以下系统数据库。

● Admin 数据库:二个权力数据库,假设创立用户的时候将该用户拉长到admin
数据库中,那么该用户就自行一连了装有数据库的权限。

● Local
数据库:那一个数据库永远不会被负责,能够用来存款和储蓄本地单台服务器的随意集合。

● Config 数据库:当MongoDB 使用分片情势时,config
数据库在中间使用,用于保存分片的新闻。

mongodb数据模型

二个MongoDB 实例可以包括一组数据库,一个DataBase
能够分包一组Collection(集合),七个汇聚能够涵盖一组Document(文书档案)。一个Document包涵一组田野同志(字段),每二个字段都是1个key/value
pair。

key: 必须为字符串类型。

value:能够涵盖如下类型。

● 基本项目,例如,string,int,float,timestamp,binary 等品种。

● 一个document。

● 数组类型。

mongodb适用场景

MongoDB
的第1目标是在键/值存款和储蓄格局(提供了高质量和可观伸缩性)和古板的大切诺基DBMS
系统(具有足够的机能)之间架起一座桥梁,它集两者的优势于一身。依照官方网站的叙说,Mongo
适用于以下场景。

● 网站数据:Mongo
非常适合实时的插入,更新与查询,并有所网站实时数据存储所需的复制及中度伸缩性。

● 缓存:由于质量很高,Mongo
也契同盟为音信基础设备的缓存层。在系统重启之后,由Mongo
搭建的持久化缓存层能够制止下层的数据源过载。


大尺寸、低价值的多寡:使用守旧的关系型数据仓库储存款和储蓄一些数据时或然会相比较值钱,之前,很多时候程序员往往会挑选古板的文件实行仓库储存。

● 高伸缩性的光景:Mongo 至极适合由数十或数百台服务器组成的数据库,Mongo
的门径图中早已包蕴对MapReduce 引擎的放置辅助。

● 用于对象及JSON 数据的囤积:Mongo 的BSON
数据格式相当适合文书档案化格式的仓储及查询。

MongoDB 的利用也会有部分范围,例如,它不切合于以下几个地点。


中度事务性的种类:例如,银行或会计系统。守旧的关系型数据库近年来依然更适用于须求大批量原子性复杂工作的应用程序。

● 守旧的商业智能应用:针对一定难题的BI
数据库会产生高度优化的查询方式。对于此类应用,数据仓库或者是更适于的挑选。

● 需要SQL 的问题。

mongodb应用案例

88bifa必发娱乐,下边罗列部分铺面MongoDB的实际利用:\[7\] 

  • Craiglist上选用MongoDB的存档数十亿条记下。

  • FourSquare,基于地点的张罗网站,在亚马逊(Amazon)EC2的服务器上选择MongoDB分享数据。

  • Shutterfly,以网络为根基的社会和民用出版服务,使用MongoDB的各样持久性数据存款和储蓄的渴求。

  • bit.ly, 2个根据Web的网址收缩劳动,使用MongoDB的存款和储蓄本身的多寡。

  • spike.com,三个MTV网络的联合经营同盟社, spike.com使用MongoDB的。

  • Intuit集团,三个为小企和私家的软件和服务提供商,为小型公司使用MongoDB的跟踪用户的多寡。

  • sourceforge.net,能源网站寻觅,成立和揭露开源软件免费,使用MongoDB的后端存款和储蓄。

  • etsy.com ,1个购得和贩卖手工业制作物品网站,使用MongoDB。

  • London时报,超过的在线新闻门户网站之一,使用MongoDB。

  • CETucsonN,盛名的粒子物理商讨所,欧洲核子琢磨中央大型强子对撞机的多寡应用MongoDB。

附录:

mongodb   教程    http://www.runoob.com/mongodb/mongodb-tutorial.html

 

相关文章