MariaDB和MongoDB区别介绍

MariaDB和MongoDB区别介绍
MariaDB和MongoDB区别介绍

MongoDB与MariaDB介绍MongoDB:

1.MongoDB

1.1 MongoDB 简介

MongoDB是一个基于分布式文件存储的数据库,介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。MongoDB支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。

MongoDB是高性能开源文档数据库,也是目前最受关注的NoSQL技术之一,以敏捷、可扩展和对企业应用友好(支持事务,一致性和数据完整性保证,有大企业应用案例)而著称。使用MongoDB的公司包括Foursquare, Craiglist, 迪士尼,SAP,Intuit,EA等,国内淘宝、大众点评、视觉中国等公司有应用。

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。MongoDB 有一个强大、灵活和可扩展数据存储区。它结合了能力扩展与关系数据库的许多最有用的功能,如次索引范围查询和排序。MongoDB 也具备十分强大的分片功能,如内装的支持处理样式聚集和空间的索引。但MongoDB在机制上仍属于NoSQL,由于NoSQL 的使用经验缺乏、CPU 占有率过大等缺点也制约了MongoDB 的发展。

1.2MongoDB特点

●面向集合的存储:适合存储对象及JSON形式的数据。

●动态查询:Mongo支持丰富的查询表达式。查询指令使用JSON形式的

标记,可轻易查询文档中内嵌的对象及数组。

●完整的索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分

析查询表达式,并生成一个高效的查询计划。

●查询监视:Mongo包含一个监视工具用于分析数据库操作的性能。

●复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持

主-从模式及服务器之间的相互复制。复制的主要目标是提供冗余及自动

故障转移。

●高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)。

●自动分片以支持云级别的伸缩性(处于早期alpha阶段):自动分片功

能支持水平的数据库集群,可动态添加额外的机器。

1.3MongoDB的版本发布

1)2012年05月23日,MongoDB2.1 开发分支发布了! 该版本采用全新架构,

包含诸多增强。

2)2012年06月06日,MongoDB 2.0.6 发布,分布式文档数据库。

3)2013年04月23日,MongoDB 2.4.3 发布,此版本包括了一些性能优化,功

能增强以及bug修复。

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

5)2013年11月01日,MongoDB 2.4.8 发布,是目前最新的稳定版。

2.与关系型数据库相比,MongoDB的优缺点

(1)优点:

①弱一致性(最终一致),更能保证用户的访问速度:

举例来说,在传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的精确值。这在某些情况下,例如通过ATM查看账户信息的时候很重要,但对于Wordnik来说,数据是不断更新和增长的,这种“精确”的保证几乎没有任何意义,反而会产生很大的延迟。他们需要的是一个“大约”的数字以及更快的处理速度。但某些情况下MongoDB会锁住数据库。如果此时正有数百个请求,则它们会堆积起来,造成许多问题。我们使用了下面的优化方式来避免锁定:每次更新前,我们会先查询记录。查询操作会将对象放入内存,于是更新则会尽可能的迅速。在主/从部署方案中,从节点可以使用“-pretouch”参数运行,这也可以得到相同的效果。使用多个mongod进程。我们根据访问模式将数据库拆分成多个进程。

②文档结构的存储方式,能够更便捷的获取数据。

对于一个层级式的数据结构来说,如果要将这样的数据使用扁平式的,表状的结构来保存数据,这无论是在查询还是获取数据时都十分困难。

举例1:就拿一个“字典项”来说,虽然并不十分复杂,但还是会关系到“定义”、“词性”、“发音”或是“引用”等内容。大部分工程师会将这种模型使用关系型数据库中的主键和外键表现出来,但把它看作一个“文档”而不是“一系列有关系的表”岂不更好?使用“dictionary.definition.partOfSpeech='noun'”来查询也比表之间一系列复杂(往往代价也很高)的连接查询方便且快速。

举例2:在一个关系型数据库中,一篇博客(包含文章内容、评论、评论的投票)会被打散在多张数据表中。在MongoDB中,能用一个文档来表示一篇博客,评论与投票作为文档数组,放在正文主文档中。这样数据更易于管理,消除了传统关系型数据库中影响性能和水平扩展性的“JOIN”操作。

CODE

> db.blogposts.save({ title : "My First Post", author: {name : "Jane", id :1}, comments : [{ by: "Abe", text: "First" },

{ by : "Ada", text : "Good post" }]

})

> db.blogposts.find( { "https://www.360docs.net/doc/bc5598910.html," : "Jane" } )

> db.blogposts.findOne({ title : "My First Post", "https://www.360docs.net/doc/bc5598910.html,": "Jane",

comments : [{ by: "Abe", text: "First" },

{ by : "Ada", text : "Good post" } ]

})

> db.blogposts.find( { "comments.by" : "Ada" } )

> db.blogposts.ensureIndex( { "comments.by" : 1 } );

举例3:MongoDB是一个面向文档的数据库,目前由10gen开发并维护,它的功能丰富,齐全,完全可以替代MySQL。在使用MongoDB做产品原型的过程中,我们总结了MonogDB的一些亮点:使用JSON风格语法,易于掌握和理解:MongoDB使用JSON的变种BSON作为内部存储的格式和语法。针对MongoDB的操作都使用JSON风格语法,客户端提交或接收的数据都使用JSON 形式来展现。相对于SQL来说,更加直观,容易理解和掌握。

Schema-less,支持嵌入子文档:MongoDB是一个Schema-free(无表结构)的文档数据库。一个数据库可以有多个Collection,每个Collection是Documents 的集合。Collection和Document和传统数据库的Table和Row并不对等。无需事先定义Collection,随时可以创建。Collection中可以包含具有不同schema的文档记录。这意味着,你上一条记录中的文档有3个属性,而下一条记录的文档可以有10个属性,属性的类型既可以是基本的数据类型(如数字、字符串、日期等),也可以是数组或者散列,甚至还可以是一个子文档(embed document)。这样,可以实现逆规范化(denormalizing)的数据模型,提高查询的速度。

③内置GridFS,支持大容量的存储。

GridFS是一个出色的分布式文件系统,可以支持海量的数据存储。内置了GridFS 了MongoDB,能够满足对大数据集的快速范围查询。

④内置Sharding。

提供基于Range的Auto Sharding机制:一个collection可按照记录的范围,分成若干个段,切分到不同的Shard上。

Shards可以和复制结合,配合Replica sets能够实现Sharding+fail-over,不同的Shard之间可以负载均衡。查询是对客户端是透明的。客户端执行查询,统计,MapReduce等操作,这些会被MongoDB自动路由到后端的数据节点。这让我们关注于自己的业务,适当的时候可以无痛的升级。MongoDB的Sharding设计能力最大可支持约20 petabytes,足以支撑一般应用。这可以保证MongoDB运行在便宜的PC服务器集群上。PC集群扩充起来非常方便并且成本很低,避免了“sharding”操作的复杂性和成本。

⑤第三方支持丰富。(这是与其他的NoSQL相比,MongoDB也具有的优势)

现在网络上的很多NoSQL开源数据库完全属于社区型的,没有官方支持,给使用者带来了很大的风险。而开源文档数据库MongoDB背后有商业公司10gen 为其提供供商业培训和支持。而且MongoDB社区非常活跃,很多开发框架都迅速提供对MongDB的支持。不少知名大公司和网站也在生产环境中使用MongoDB,越来越多的创新型企业转而使用MongoDB作为和Django,RoR来搭配的技术方案。

⑥性能优越:

在使用场合下,千万级别的文档对象,近10G的数据,对有索引的ID的查询不会比mysql慢,而对非索引字段的查询,则是全面胜出。mysql实际无法胜任大数据量下任意字段的查询,而mongodb的查询性能实在让我惊讶。写入性能同样很令人满意,同样写入百万级别的数据,mongodb比我以前试用过的couchdb要快得多,基本10分钟以下可以解决。补上一句,观察过程中mongodb 都远算不上是CPU杀手。

(2)缺点:

①mongodb不支持事务操作。

所以事务要求严格的系统(如果银行系统)肯定不能用它。(这点和优点①是对应的)

②mongodb占用空间过大。

关于其原因,在官方的FAQ中,提到有如下几个方面:

●空间的预分配:为避免形成过多的硬盘碎片,mongodb每次空间不足时都会

申请生成一大块的硬盘空间,而且申请的量从64M、128M、256M那样的指数递增,直到2G为单个文件的最大体积。随着数据量的增加,你可以在其数据目录里看到这些整块生成容量不断递增的文件。

●字段名所占用的空间:为了保持每个记录内的结构信息用于查询,mongodb

需要把每个字段的key-value都以BSON的形式存储,如果value域相对于key域并不大,比如存放数值型的数据,则数据的overhead是最大的。一种减少空间占用的方法是把字段名尽量取短一些,这样占用空间就小了,但这就要求在易读性与空间占用上作为权衡了。我曾建议作者把字段名作个index,每个字段名用一个字节表示,这样就不用担心字段名取多长了。但作者的担忧也不无道理,这种索引方式需要每次查询得到结果后把索引值跟原值作一个替换,再发送到客户端,这个替换也是挺耗费时间的。现在的实现算是拿空间来换取时间吧。

●删除记录不释放空间:这很容易理解,为避免记录删除后的数据的大规模挪

动,原记录空间不删除,只标记“已删除”即可,以后还可以重复利用。

●可以定期运行db.repairDatabase()来整理记录,但这个过程会比较缓慢

③MongoDB没有如MySQL那样成熟的维护工具,这对于开发和IT运营都是个值得注意的地方

3.MongoDB应用场景

MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS系统(丰富的功能)架起一座桥梁,集两者的优势于一身。MongoDB适用于以下场景:

a.网站数据:mongo非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。

b.缓存:由于性能很高,mongo也适合作为信息基础设施的缓存层。在系统重启之后,由mongo搭建的持久化缓存可以避免下层的数据源过载。

c.大尺寸、低价值的数据:使用传统的关系数据库存储一些数据时可能会比较贵,在此之前,很多程序员往往会选择传统的文件进行存储。

d.高伸缩性的场景:mongo非常适合由数十或者数百台服务器组成的数据库。

e.用于对象及JSON数据的存储:mongo的BSON数据格式非常适合文档格式化的存储及查询。

MongoDB不适合的场景:

a.高度事物性的系统:例如银行或会计系统。传统的关系型数据库目前还是更适用于需要大量原子性复杂事务的应用程序。

b.传统的商业智能应用:针对特定问题的BI数据库会对产生高度优化的查询方式。对于此类应用,数据仓库可能是更合适的选择。

c.需要SQL的问题。

4.MongoDB的局限

使用MongoDB,你得记住以下几点:

●MongoDB 假设你有大磁盘空间

●MongoDB 假设你的内存也足够大于放下你的热数据

●MongoDB 假设你是部署在64位系统上的(32位有2G的限制,试用还可以)●MongoDB 假设你的系统是little-endian的

●MongoDB 假设你有多台机器(并不专注于单机可靠性)

●MongoDB 假设你希望用安全换性能,同时允许你用性能换安全MongoDB在下面领域不太擅长:

●不太稳定,特别是auto-sharding目前还有很多问题

●不支持SQL,这意味着你很多通过SQL接口的工具不再适用

●持久化,MongoDB单机可靠性不太好,宕机可能丢失一段时间的数据

●相关文档比较少,新功能都有这个问题

●相关人才比较难找,这也是新功能的问题之一

MariaDB

1.MariaDB

1.1MariaDB 简介

MySQL之父Widenius先生离开了Sun之后,觉得依靠Sun/Oracle来发展MySQL,实在很不靠谱,于是决定另开分支,这个分支的名字叫做MariaDB。MariaDB跟MySQL在绝大多数方面是兼容的,对于开发者来说,几乎感觉不到任何不同。目前MariaDB是发展最快的MySQL分支版本,新版本发布速度已经超过了Oracle官方的MySQL版本。MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的XtraDB,InnoDB的变体,分支的开发者希望提供访问即将到来的MySQL 5.4 InnoDB性能。

1.2MariaDB 特点

相对于MySQL最新的版本5.6来说,在性能、功能、管理、NoSQL扩展方面,MariaDB包含了更丰富的特性

与MySQL的相比MariaDB的特点有:

(1) 支持更多的存储引擎

(2) MyISAM-->Aria (改进版)不支持事务

(3) InnoDB --> XtraDB(改进版) 支持事务

(4) 诸多扩展和新特性

(5) 提供了较多的测试组件

(6) 完全的开源软件

MariaDB虽然被视为MySQL数据库的替代品,但它在扩展功能、存储引擎以及一些新的功能改进方面都强过MySQL。而且从MySQL迁移到MariaDB也是非常简单的:

1)数据和表定义文件(.frm)是二进制兼容的

2)所有客户端API、协议和结构都是完全一致的

3)所有文件名、二进制、路径、端口等都是一致的

4)所有的MySQL连接器,比如PHP、Perl、Python、Java、.NET、MyODBC、

Ruby以及MySQL C connector等在MariaDB中都保持不变

5)mysql-client包在MariaDB服务器中也能够正常运行

6)共享的客户端库与MySQL也是二进制兼容的也就是说,在大多数情况

下,你完全可以卸载MySQL然后安装MariaDB,然后就可以像之前一

样正常的运行。

1.3目前版本

●当前稳定版本是MariaDB 5.5

●开发版本是MariaDB 10.0

●前一稳定版本是MariaDB 5.3

●MariaDB加入了google,facebook,淘宝的一些补丁,发布和更新周期也会

比MySQL快,所以从版本10开始以后就自己单独做版本递进了。

1.4第三方工具

MariaDB 的API和协议兼容MySQL,另外又添加了一些功能,以支持本地的非阻塞操作和进度报告。这意味着,所有使用MySQL的连接器、库和应用程序也将会在MariaDB下工作。在此基础上,由于担心甲骨文MySQL的一个更加封闭的软件项目,Fedora的计划在Fedora 19中的以MariaDB取代MySQL,维基媒体基金会的服务器同样也使用MariaDB取代了MySQL。

如下是支持MariaDB的客户端工具:

●DBEdit 一个免费的MariaDB数据库和其他数据库管理应用程序。

●Navicat 一系列Windows、Mac OS X、Linux下专有数据库管理应用程

序。

●HeidiSQL 一个Windows上自由和开放源码的MySQL客户端。它支持

MariaDB的5.2.7版本和以后的版本。

●phpMyAdmin 一个基于网络的MySQL数据库管理应用程序2.MariaDB与Mysql的区别

(1)MariaDB不仅仅是Mysql的一个替代品,它的主要目的是创新和提高Mysql

的技术。

(2)MariaDB 是一个采用Aria存储引擎的MySQL分支版本,是由原来MySQL 的作者Michael Widenius创办的公司所开发的免费开源的数据库服务器。这个项目的更多的代码都改编于MySQL 6.0,例如“pool of threads”功能提供解决多数据连接问题。MariaDB 5.1.41 RC可以到这里下载,32位和64位已编译Linux 版本,还包括源代码包。MariaDB基于GPL 2.0发布。所以对于大部分的MySQL 用户来说,从现在主流的MySQL转到MariaDB应该是没有什么难度的

(3)LAMP架构盛极一时,这离不开MySQL的免费与易用,但是在Oracle收购了Sun之后,很多公司开始担忧MySQL的开源前景,而最近Oracle进一步闭源的举措更是让人难以安心,众多互联网公司纷纷开始寻求MySQL的替代方案。不得不提的是Apple的远见,在Oracle收购Sun之初就宣布迁移到PostgreSQL。但PostgreSQL的设计初衷就不同于MySQL,并不是使用MySQL的大部分互联网公司合适的解决方案。除了Apple,Google、Facebook、Twitter也大量使用了MySQL,纷纷发布了自己的MySQL分支/补丁集,并为不少公司所采用。同时,MariaDB、Percona等MySQL分支也渐渐步入大众的视野。

根据Wikipedia介绍,MariaDB是一个社区驱动的、采用XtraDb存储引擎的MySQL分支版本,由MySQL创始人Michael Widenius带领开发,遵循GPL v2.0协议开源。因为MySQL创始人的介入,MariaDB备受关注,Drupal、MediaWiki、phpMyAdmin、WordPress 等众多应用都宣布支持MariaDB。

mongodb操作

撰写报告 实验名称:课程名称:实验学期: 班级名称:学生姓名:学生学号: 上课地点:实验时间:截止时间: 实验目的:实验指导书: 实验内容: 一、数据库操作 1.显示当前选择的数据库 > db test 2.创建或切换数据库MyDB > use MyDB switched to db MyDB > db MyDB 3.查看所有数据库 > show dbs local 0.078GB 4.向MyDB插入一个文件 > db.movie.insert({"name":"tutorials yiibai"}) WriteResult({ "nInserted" : 1 }) 5.查看所有数据库 > show dbs MyDB 0.078GB local 0.078GB 6.删除数据库MyDB > db.dropDatabase() { "dropped" : "MyDB", "ok" : 1 } > show dbs local 0.078GB 二、集合操作 1.显式和隐式创建集合movie 显示集合创建 > db.createCollection("movie") { "ok" : 1 } > show collections movie system.indexes

隐身集合创建 > db.movie.insert({"name":"tutorials yiibai"}) WriteResult({ "nInserted" : 1 }) > show collections movie system.indexes 2.查询所有集合 > show collections movie system.indexes 3.查看集合总数据量 > db.movie.count() 1 4.查看movie集合所在数据库 > db.movie.getDB() MyDB 5.查看当前集合movie状态 > db.movie.stats() { "ns" : "MyDB.movie", "count" : 1, "size" : 112, "avgObjSize" : 112, "numExtents" : 1, "storageSize" : 8192, "lastExtentSize" : 8192, "paddingFactor" : 1, "paddingFactorNote" : "paddingFactor is unused and unmaintained in 3.0. It remains hard coded to 1.0 for compatibility only.", "userFlags" : 1, "capped" : false, "nindexes" : 1, "totalIndexSize" : 8176, "indexSizes" : { "_id_" : 8176 }, "ok" : 1 } 6.集合movie重命名 > db.movie.renameCollection("movies") { "ok" : 1 } > show collections movies system.indexes

MongoDB update数据语法

MongoDB update数据语法 本文是参考官方文档来介绍的,之所以有官方文档还要在这介绍,一方面是就当翻译,毕竟每次要用时去看英文文档比较累,第二是官方文档讲解比较简单,有时光看官方文档不好理解,我在实际操作的情况下可以做些补充。 好了,不多说了,下面正式开始: mongodb更新有两个命令: 1).update()命令 db.collection.update( criteria, objNew, upsert, multi ) criteria : update的查询条件,类似sql update查询内where后面的 objNew : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的 upsert : 这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。 multi : mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。 例: db.test0.update( { "count" : { $gt : 1 } } , { $set : { "test2" : "OK"} } ); 只更新了第一条记录 db.test0.update( { "count" : { $gt : 3 } } , { $set : { "test2" : "OK"} },false,true ); 全更新了 db.test0.update( { "count" : { $gt : 4 } } , { $set : { "test5" : "OK"} },true,false ); 只加进去了第一条 db.test0.update( { "count" : { $gt : 5 } } , { $set : { "test5" : "OK"} },true,true ); 全加进去了 db.test0.update( { "count" : { $gt : 15 } } , { $inc : { "count" : 1} },false,true );全更新了 db.test0.update( { "count" : { $gt : 10 } } , { $inc : { "count" : 1} },false,false );只更新了第一条 2).save()命令 db.collection.save( x ) x就是要更新的对象,只能是单条记录。 如果在collection内已经存在一个和x对象相同的"_id"的记录。mongodb就会把x对象替换collection内已经存在的记录,否则将会插入x对象,如果x内没有_id,系统会自动生成一个再插入。相当于上面update 语句的upsert=true,multi=false的情况。 例: db.test0.save({count:40,test1:"OK"}); #_id系统会生成

MongoDB 使用手册-中文版

MongoDB 使用手册-中文版

目录 第1章MONGODB简介 (4) 1.1功能特点 (4) 1.2适用范围 (4) 第2章MONGODB下载及安装 (5) 2.1下载地址 (5) 2.2安装方法 (5) 第3章MONGODB语法 (6) 3.1基本命令 (6) 3.1.1.启动mongodb (6) 3.1.2.停止mongodb (6) 3.2SQL语法 (7) 3.2.1.基本操作 (7) 3.2.2.数据集操作 (8) 第4章JAVA操作MONGODB (10) 4.1正在整理中 (10) 第5章其它 (10) 5.1正在整理中 (10)

第1章MongoDB简介 1.1功能特点 官方网址:https://www.360docs.net/doc/bc5598910.html,/ MongoDB是一个基于分布式文件存储的数据库开源项目。由C++语言编写,旨在为WEB应用提供可护展的高性能数据存储解决方案。 它的特点是可扩展,高性能,易使用,模式自由,存储数据非常方便等,主要功能特性有: ◆面向文档存储:(类JSON数据模式简单而强大)。 ◆高效的传统存储方式:支持二进制数据及大型对象(如照片和视频)。 ◆复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从 模式及服务器之间的相互复制。 ◆Auto-Sharding自动分片支持云级扩展性(处于早期alpha阶段):自动分片功 能支持水平的数据库集群,可动态添加额外的机器。 ◆动态查询:它支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻 易查询文档中内嵌的对象及数组。 ◆全索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达 式,并生成一个高效的查询计划。 ◆支持RUBY,PYTHON,JA V A,C++,PHP等多种语言。 1.2适用范围 适用场景: ◆适合实时的插入,更新与查询,并具备应用程序实时数据存储所需的复制及高 度伸缩性。 ◆适合作为信息基础设施的持久化缓存层。 ◆适合由数十或数百台服务器组成的数据库。因为Mongo已经包含对 MapReduce引擎的内置支持。 ◆Mongo的BSON数据格式非常适合文档化格式的存储及查询。 不适用场景: ◆高度事务性的系统。 ◆传统的商业智能应用。 ◆级为复杂的SQL查询。

MongoDB入门经典

第一讲MongDB数据库的基本安装文件 https://www.360docs.net/doc/bc5598910.html,/display/DOCS/Home MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo 使用C++开发。Mongo的官方网站地址是:https://www.360docs.net/doc/bc5598910.html,/ 首先下载数据库的基本软件安装包,下载地址:https://www.360docs.net/doc/bc5598910.html,/download 第二,新建目录“D:\MongoDB”,解压下载到的安装包,找到bin目录下面全部.exe文件,拷贝到刚创建的目录下。 第三,在“D:\MongoDB”目录下新建“data”文件夹,它将会作为数据存放的根文件夹。 配置Mongo服务端: https://www.360docs.net/doc/bc5598910.html,/scotthernandez/mongo-seattle-java-development 打开CMD窗口,按照如下方式输入命令: > d: > cd D:\MongoDB > mongod --dbpath D:\MongoDB\data

就基本成功了 然后在浏览器中输入http://localhost:27017/ 显示以下网页You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number 然后就OK啦 第二讲关于在java平台下的mongodb的使用的操作 首先下载mongodb在java中的驱动库文件,下载地址分别为 https://https://www.360docs.net/doc/bc5598910.html,/KentBeck/junit/downloads https://https://www.360docs.net/doc/bc5598910.html,/mongodb/mongo-java-driver/downloads 第二部新建java工程添加库文件如图所示

mongodb安装及简单操作附截图

MongoDB安装及简单操作 1.下载mongodb 链接:https://www.360docs.net/doc/bc5598910.html,/s/1gdKtrUz 密码:9af8这是我网盘的链接,下载解压到D 盘 2.配置文件 第一步,解压之后将文件夹放在D盘; 第二步,将mongodb-win32-x86_64-2.0.6文件夹重命名为mongodb; 第三步,在D:\mongodb\下创建data文件夹,路径D:\mongodb\下包含下面文件; 第四步,在data文件夹下创建db文件夹和log文件夹如下图; 第五步,在log文件夹下创建日志文件MongoDB.log如下图

3.连接数据库 打开命令提示符(管理员权限) D: cd d:\mongodb\bin mongod -dbpath "d:\mongodb\data\db" 正常情况下会看到下面的界面 这时候,已经成功打开mongodb的服务了,27017是默认端口。在浏览器中检验一下是否真的成功的启动了mongodb的服务,在浏览器输入http://localhost:27017/

只要看到上面的界面就证明连接成功了。 这时候,再打开一个命令提示符窗口,可以不是管理员权限,去进行数据库的操作。 输入mongo 输入show dbs 插入一条数据https://www.360docs.net/doc/bc5598910.html,er.insert({name:”laowang”}) 也可以是https://www.360docs.net/doc/bc5598910.html,er.save({name:”laowang”}) 或者,一次添加姓名和年龄数据,二维数据https://www.360docs.net/doc/bc5598910.html,er.save({name:”laowang”,age:”25”}) 查看数据 https://www.360docs.net/doc/bc5598910.html,er.find() 相当于sql的select * from user 其他的mongodb常用操作命令,我在网上找了一些,直接给你粘贴上来。 1、Help查看命令提示 help db.help(); db.yourColl.help();

MongoDB应用

MongoDB数据库 一、MongoDB简介 MongoDB是一个面向文档的数据库系统。使用C++编写,不支持SQL,但有自己功能强大的查询语法。 MongoDB使用BSON作为数据存储和传输的格式。BSON是一种类似JSON的二进制序列化文档,支持嵌套对象和数组。 MongoDB很像MySQL,document对应MySQL的row,collection对应MySQL的table。 二、Wind ows下MongoDB操作 MongoDB在Windows上的安装运行很方便。直接下载、解压,然后运行bin/mongod 即可启动服务器,运行bin/mongo 即可运行命令行客户端。 2-1、下载与解压 官方网站:https://www.360docs.net/doc/bc5598910.html,/downloads。 下载对于版本,解压并抽取相关的bin目录到C:\MongoDB下(这个任意选择)。 在启动MongoDB之前,我们必须新建一个存放mongoDB数据和日志的目录。数据库目录:C:\MongoDB\data\db\,日志目录:C:\MongoDB\data\。 2-2、运行服务端 打开CMD窗口,进入到C:\MongoDB\bin目录下,运行服务端mongod.exe。 C:\>cd C:\MongoDB\bin C:\MongoDB\bin>mongod.exe --dbpath=C:\MongoDB\data\db --directoryperdb --logpath

=C:\MongoDB\data\logs --logappend 注: 日志文件为C:\MongoDB\data\logs,以及添加方式记录(追加)。 数据目录为C:\MongoDB\data\db,并且每个数据库将储存在一个单独的目录(--directoryperdb)。 服务端要一直运行。Ctrl+C可中断。 2-3、运行客户端 再打开一个CMD窗口,进入到C:\MongoDB\bin目录下,运行客户端mongo.exe来登录MongoDB。(要保持服务端mongod.exe的窗口不关闭) 2-4、测试操作 MongoDB使用GridFS来储存大文件。每个BSON对象大小不能超过4MB。 字段名限制:不能以“$”开头;不能包含“.”;“_id”是系统保留的字段,但用户可以自己储存唯一性的数据在字段中。 MongoDB为每个数据库分配一系列文件。每个数据文件都会被预分配一个大小,第一个文件名字为“.0”,大小为64MB,第二个文件“.1”为128MB,依此类推,文件大小上限为2GB。 MongoDB没有新建数据库或者collection的命令,只要进行insert或其它操作,MongoDB 就会自动帮你建立数据库和collection。当查询一个不存在的collection时也不会出错,Mongo会认为那是一个空的collection。 一个对象被插入到数据库中时,如果它没有ID,会自动生成一个“_id”字段,为24位16进制数。 MongoDB命令行客户端的脚本语法有些类似MySQL的: > show dbs // 列出所有数据库 > use memo // 使用数据库memo。即使这个数据库不存在也可以执行,但该数据库不会立刻被新建,要等到执行了insert等的操作时,才会建立这个数据库。

MongoDB学习

MongoDB学习 笔记 学习笔记 一、环境搭建 1.安装 解压出来就OK。mongoDB缺省使用磁盘根目录的data文件夹和data\db文件夹 这两个文件夹需要手工建立,如果想使用其他路径,那么启动mongoDB的时候需要指明路径 2.运行 运行CMD打开控制台窗口,导航至mongodb的bin目录,运行mongod.exe,服务器就启动起来了,按ctrl-c结束程序。 链接到服务::导航至mongodb的bin目录,运行mongo.exe来启动shell,,缺省连接到链接到服务 test数据库。 二、简单介绍 1.基本概念 document :mongoDB里边数据的基本单位,相当于关系数据库里的行 collection: 相当于关系数据库的表,不过是没有数据结构定义的每个mongoDB的实例可以运行多个database,每个database有自己的collection和权限控制 mongoDB拥有一个强大的javascript shell,用于管理数据库和操作数据每个document 都有一个特殊的key:"_id",这个值在collection内是唯一的。 Document: document是一组有序的key/value对,使用json风格的数据。 {"foo": 3, "greeting": "Hello, world!"} key是个UTF-8字符串,value 可以是很多类型,甚至是一个嵌入的document。Collection: collection是一组document,它是无结构定义的,所以你可以把任何document存入一个collection里。

Mongodb3.0基本教程

非关系数据库—Mongodb 姓名:聂杰 学号:2123212 日期:2015-6-15

数据库新技术大作业 1. 内容简介 1. 版本 DB:Mongodb version:3.0.4 CS:Linux version:3.13.0 2. 应用背景 2010年,随着互联网Web2.0网站的兴起,NoSQL(非关系型数据库)在国内掀起一阵热潮。NoSQL 数据库与传统的关系型数据库相比它具有操作简单、完全免费、源码公开、随时下载等特点,并可 以用于各种商业目的。这使NoSQL产品广泛应用于各种大型门户网站和专业网站,大大降低了运营 成本。而Mongo DB则是其中最流行的一个。 3. 特点 1. 操作简单 2. 完全免费 3. 源码公开 4. 模式自由 5. 开箱即用 6. 水平扩展机制 2. 结构组成 1. 系统架构 2. 数据存储

3. 数据处理 3. 安装过程 1. 系统硬件 一台装有linux的计算机 2. 描述 1. 进入官网(https://www.360docs.net/doc/bc5598910.html,/downloads )下载对应系统的Mongodb版本tgz文 件到/home/username/Download,解压并重命名为mongodb 2. mkdir /home/username/mongodb 3. mv /home/username/Download/mongodb /home/username/mongodb 4. cd /home/username/mongodb 5. mkdir data/db

6. touch logs/mongodb.log 7. touch mongodb.conf 8. vim mongodb.conf 9. ./bin/mongod --config mongodb.conf 10. ./bin/mongo 11. 在浏览器打开:http://localhost:28017

Spring-data-mongodb使用手册

Spring-data-mongodb使用手册

文档信息(Document Info) 标题(Title) Spring-data-mongodb使用手册 文档编号(No) 2012-09-19 作者(Author) 张瑜 最后发布时间(Last Update) 2012-09-20 概述(Summarize) 安装mongodb以及掌握spring-data-mongodb的使用方法,一些最佳实践

修订信息(Revise Info) 修订日期(Date)修订人(Reviser) 修订内容(Revises)

附件信息(Attachment Info)

目录 文档信息(Document Info) (2) 修订信息(Revise Info) (3) 附件信息(Attachment Info) (4) 1.概述 (5) 1.1.目的 (5) 1.2.范围 (6) 2.准备 (6) 2.1.环境配置 (6) 2.2.Windows7安装mongodb (6) 2.2.1.配置环境变量 (6) 2.2.2.启动配置mongodb (7) 3.Spring-data-mongodb (8) 3.1.背景 (8) 3.1.1.高级API (9) 3.1.2.低级API (9) 3.2.MongoDbFactory (9) 3.3.MongoTemplate (9) 3.4.Operations (10) 3.4.1.常用Api的方法: (10) 3.5.项目中如何配置实用mongodb (11) 3.6.Callback .................................................................................. 错误!未定义书签。 3.7.Topic和Messaging/PubSub (14) 3.8.Cache (14) 4.NoSQL数据库设计 (14) 4.1.案例1 (14) 5.最佳实践 (14) 5.1.项目案例1(Tinybee项目) (14) 1.概述 1.1. 目的 让团队成员比较快的上手mongodb的相关功能,思考如何结合自己的项目使用。

MongoDB开发使用手册

MongoDB开发使用手册 一.基础部分 MongDB简介 1.NOSQL历史和产生原因 原因: 互联网用户数的增长和用户参与互联网习惯的改变 1.初始的静态内容网站,提供中心化的内容服务, 特点: 中心化,用户阅读内容 系统:Apache 2.动态网页内容,电子商务和论坛网站出现。 特点: 用户访问动态内容,并提供少量内容 系统:Apache+Mysql+Php, IIS+ASP+SQLSERVER, IIS+https://www.360docs.net/doc/bc5598910.html,+SQLSERVER, TOMCAT+JSP+ORACLE 3. 博客出现: 去中心化网站出现。 特点:Web2.0网站的雏形用户阅读内容,并开始更多地参与网站的交互 系统: 高并发访问,数据库压力增大Memcached 缓存的出现,并出现数据库集群的概念 4.微博,淘宝等网站出现,以及云计算平台出现,如google,百度广告,等大规模系统 特点: 用户重复参与网站交互,和内容提供,而系统需要对用户行为进行分析 系统:支持高并发,及时响应,并能够实现分布式计算 NOSQL:Memcached, Redis, Hbase, 等NOSQL数据库,不仅仅是简单缓存,并能够提供分布式要求,包括复制,分片,水平分区,并提供复杂格式的数据存储 总结: 1.高并发读写操作 普通关系型数据库,很难满足高并发读写的要求,上万次读写的需求 2.海量数据存储 上亿用户产生大量数据,包括用户数据,访问日志,用户提供内容,用户状态记录等,这种海量数据的存储,关系型数据库已经很难满足,尤其是从海量数据中提取和汇总数据成为瓶颈 3.高可用性和高扩展性 关系型数据库也能支持,同步复制,水平分区扩展,但维护工作相当繁杂,并很难做到热扩展 4.内存操作(快速), 并发量高(非阻塞进程), 硬盘回写(数据完整和高效的平衡),备份和恢复 复制(高可用性,和连续服务), 分片(热扩展,海量数据) 操作简单(JSON),负载均衡,分布式部署(局域网,和物理部分), 事务支持

MongoDB使用手册

MongoDB使用说明手册

目录 第1章MONGODB简介 (4) 1.1功能特点 (4) 1.2适用范围 (4) 第2章MONGODB下载及安装 (5) 2.1下载地址 (5) 2.2安装方法 (5) 第3章MONGODB语法 (6) 3.1基本命令 (6) 3.1.1.启动mongodb (6) 3.1.2.停止mongodb (6) 3.2SQL语法 (7) 3.2.1.基本操作 (7) 3.2.2.数据集操作 (8) 第4章JAVA操作MONGODB (10) 4.1正在整理中 (10) 第5章其它 (10) 5.1正在整理中 (10)

第1章MongoDB简介 1.1功能特点 官方网址:https://www.360docs.net/doc/bc5598910.html,/ MongoDB是一个基于分布式文件存储的数据库开源项目。由C++语言编写,旨在为WEB应用提供可护展的高性能数据存储解决方案。 它的特点是可扩展,高性能,易使用,模式自由,存储数据非常方便等,主要功能特性有: ◆面向文档存储:(类JSON数据模式简单而强大)。 ◆高效的传统存储方式:支持二进制数据及大型对象(如照片和视频)。 ◆复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从 模式及服务器之间的相互复制。 ◆Auto-Sharding自动分片支持云级扩展性(处于早期alpha阶段):自动分片功 能支持水平的数据库集群,可动态添加额外的机器。 ◆动态查询:它支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻 易查询文档中内嵌的对象及数组。 ◆全索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达 式,并生成一个高效的查询计划。 ◆支持RUBY,PYTHON,JA V A,C++,PHP等多种语言。 1.2适用范围 适用场景: ◆适合实时的插入,更新与查询,并具备应用程序实时数据存储所需的复制及高 度伸缩性。 ◆适合作为信息基础设施的持久化缓存层。 ◆适合由数十或数百台服务器组成的数据库。因为Mongo已经包含对 MapReduce引擎的内置支持。 ◆Mongo的BSON数据格式非常适合文档化格式的存储及查询。 不适用场景: ◆高度事务性的系统。 ◆传统的商业智能应用。 ◆级为复杂的SQL查询。

MongoDB基础教程

MongoDB基础教程 第一部分 翻译原因 网上的相关说明别说中文了连英文都很少,而且有的基本上就是一些简单的配置,加上最近时间比较多,有点想做,所以就做了。 致谢 先感谢国家,谢谢国家对我的培养,再感谢组织,感谢我的公司给我了研究MongoDB 的机会,让我有时间去研究了MongoDB,最后感谢父母的养育之恩。 温馨提示 我以下所有示例都是建立在Java语言的基础上,只作java语言的介绍,其他语言类似。 概述 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可护展的高性能数据存储解决方案。 它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有: *面向集合存储,易存储对象类型的数据。 *模式自由。 *支持动态查询。 *支持完全索引,包含内部对象。 *支持查询。 *支持复制和故障恢复。 *使用高效的二进制数据存储,包括大型对象(如视频等)。 *自动处理碎片,以支持云计算层次的扩展性 *支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。 *文件存储格式为BSON(一种JSON的扩展)

*可通过网络访问 所谓“面向集合”(Collenction-Orented),意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定义任何模式(schema)。 模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。 存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各中复杂的文件类型。我们称这种存储形式为BSON(Binary Serialized dOcument Format)。 MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。 注意:以上概述部分摘自百度百科https://www.360docs.net/doc/bc5598910.html,/view/3385614.htm 第二部分 基础知识(重点) 快速入门 快速入门Unix系统 安装MongoDB 先根据自己的系统下载自己需要的版本,然后解压即可 32位Linux $ curl https://www.360docs.net/doc/bc5598910.html,/linux/mongodb-linux-i686-1.4.3.tgz > mongo.tgz $ tar xzf mongo.tgz 64位Linux $ curl https://www.360docs.net/doc/bc5598910.html,/linux/mongodb-linux-x86_64-1.4.3.tgz > mongo.tgz $ tar xzf mongo.tgz 其他版本去下载页面https://www.360docs.net/doc/bc5598910.html,/display/DOCS/Downloads找与之对应的版本安装即可。

Morphia 操作 MongoDB

Morphia操作 MongoDB 上两篇文章:https://www.360docs.net/doc/bc5598910.html,/hoojo/archive/2011/06/01/2066426.html https://www.360docs.net/doc/bc5598910.html,/hoojo/archive/2011/06/02/2068665.html 介绍到了在MongoDB的控制台完成MongoDB的数据操作、以及通过Java MongoDB 的驱动完成在Java中对MongoDB的操作,通过前两篇文章我们对MongoDB有了全面、深刻的认识和理解。现在我们就看看利用Morphia库来操作MongoDB。 开发环境: System:Windows IDE:eclipse、MyEclipse 8 Database:mongoDB 开发依赖库: JavaEE5、mongo-2.5.3.jar、junit-4.8.2.jar Email:hoojo_@https://www.360docs.net/doc/bc5598910.html, Blog:https://www.360docs.net/doc/bc5598910.html,/IBM_hoojo https://www.360docs.net/doc/bc5598910.html,/ 一、准备工作 1、首先,下载mongoDB对Java支持的驱动包 驱动包下载地址:https://https://www.360docs.net/doc/bc5598910.html,/mongodb/mongo-java-driver/downloads mongoDB对Java的相关支持、技术:https://www.360docs.net/doc/bc5598910.html,/display/DOCS/Java+Language+Center 驱动源码下载:https://https://www.360docs.net/doc/bc5598910.html,/mongodb-mongo-java-driver-r2.6.1-7-g6037357.zip 在线查看源码:https://https://www.360docs.net/doc/bc5598910.html,/mongodb/mongo-java-driver Morphia jar包下载:https://www.360docs.net/doc/bc5598910.html,/p/morphia/downloads/list 2、下面建立一个JavaProject工程,导入下载下来的驱动包。即可在Java中使用 Morphia,目录如下:

MongoDB数据库教程

MongoDB数据库简单介绍(一) Mongo是一个高性能,开源,无模式的文档型数据库,它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo使用C++开发, 提供了以下功能: 1.面向集合的存储:适合存储对象及JSON形式的数据。 2.动态查询:Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易 查询文档中内嵌的对象及数组。 3.完整的索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达 式,并生成一个高效的查询计划。 4.查询监视:Mongo包含一个监视工具用于分析数据库操作的性能。 5.复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从模式及 服务器之间的相互复制。复制的主要目标是提供冗余及自 动故障转移。 6.高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)。 7.自动分片以支持云级别的伸缩性(处于早期alpha阶段):自动分片功能支持水平 的数据库集群,可动态添加额外的机器。 MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS 系统(丰富的功能)架起一座桥梁,集两者的优势于一 身。根据官方网站的描述,Mongo 适合用于以下场景: 1.网站数据:Mongo非常适合实时的插入,更新与查询,并具备网站实时数据存储所 需的复制及高度伸缩性。 2.缓存:由于性能很高,Mongo也适合作为信息基础设施的缓存层。在系统重启之后, 由Mongo搭建的持久化缓存层可以避免下层的数据源 过载。 3.大尺寸,低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵, 在此之前,很多时候程序员往往会选择传统的文件进行存储。 4.高伸缩性的场景:Mongo非常适合由数十或数百台服务器组成的数据库。Mongo的路 线图中已经包含对MapReduce引擎的内置支 持。 5.用于对象及JSON数据的存储:Mongo的BSON数据格式非常适合文档化格式的存储 及查询。 自然,MongoDB的使用也会有一些限制,例如它不适合: 1.高度事务性的系统:例如银行或会计系统。传统的关系型数据库目前还是更适用于 需要大量原子性复杂事务的应用程序。 2.传统的商业智能应用:针对特定问题的BI数据库会对产生高度优化的查询方式。对 于此类应用,数据仓库可能是更合适的选择。 3.需要SQL的问题 MongoDB支持OS X、Linux及Windows等操作系统,并提供了Python,PHP,Ruby,Java,C,C#,Javascript,Perl及C++语言的驱动程序,社区中也提供了对Erlang 及.NET等平台的驱动程序

mongoDb使用教程

MongoDB Java API 该文档是翻译自文档[mongodb-docs-2010-10-24.pdf]的[Java Language Center]章节,根据自己的理解整理而成。 希望能给像我这样开始接触的朋友一点帮助,同时也做个备忘,因为是刚刚学习,其中的很多功能目前都用不上,以后万一有什么功能不太清楚,也可以直接查阅该文档了。首先安装可视化工具mongoDBvue可去百度搜索 MongoDB Java Driver 简单操作 一、Java驱动一致性 MongoDB的Java驱动是线程安全的,对于一般的应用,只要一个Mongo实例即可,Mongo有个内置的连接池(池大小默认为10个)。 对于有大量写和读的环境中,为了确保在一个Session中使用同一个DB时,我们可以用以下方式保证一致性: DB mdb = mongo.getDB('dbname'); mdb.requestStart(); // // 业务代码 // mdb.requestDone(); DB和DBCollection是绝对线程安全的,它们被缓存起来了,所以在应用中取到的可能是同一个对象。 二、保存/查找对象(DBObject) Java驱动提供了DBObject接口,方便我们保存对象到数据库中。 定义需要保存的对象: public class Tweet implements DBObject { /** ...... */ } 然后我们可以使用该对象: Tweet tweet = new Tweet(); tweet.put("user", userId); tweet.put("message", message); tweet.put("date", new Date()); collection.insert(tweet); 当从数据库中查询时,结果会自动的转换成DBObject对象,我们可以转换成我们自己的类型: collection.setObjectClass(Tweet); Tweet myTweet = (Tweet)collection.findOne(); 三、创建连接 Mongo m = new Mongo(); Mongo m = new Mongo("localhost"); Mongo m = new Mongo("localhost", 27017); DB db = m.getDB("mydb); 注意:事实上,Mongo实例代表了一个数据库连接池,即使在多线程的环境中,一个Mongo实例对我们来说已经足够了。

MongoDB使用手册

MongoDB使用手册 一、安装包下载地址 https://www.360docs.net/doc/bc5598910.html,/downloads 二、服务器端使用 LINUX版本: ①用tar -zxvf mongodb-linux-x86_64-1.2.4.tgz解压开安装包 ②mkdir -p /data/db 创建目录 ③cd /data/db 进入db目录下然后创建mkdir m_data m_log ④进入mongodb解压目录的bin目录下,用 ./mongod -fork --dbpath=./data/db/m_data/ --logpath=./m_log.log --logappend --port=27017 & 启动服务器。 WINDOW版本: 执行如下命令启动服务器: mongod --bind_ip 127.0.0.1 --logpath d:\data\logs --logappend --dbpath d:\data\db --directoryperdb –install 【注:将mongodb安装成服务,装该服务绑定到IP127.0.0.1,日志文件为d:\data\logs,以及添加方式记录。数据目录为d:\data\db。并且每个数据库将储存在一个单独的目录(--directoryperdb)】 三、客户端使用: LINUX版本: 进入MongoDB的bin目录下,使用./mongo进入命令行行下然后即可进行增删改查等日常操作。 WINDOW版本: 进入mongodb的bin目录下,使用mongo.exe --host IP --port 端口连接到MongoDB服务器上 四、MongDB停止 LINUX版本: 如果在shell窗口下可以直接按“CTRL+C”,如果是作为后台服务使用时,可以先使用ps -ef |grep mongod查询出服务器的pid,然后使用kill -9 pid 此处的Pid为查询出的pid。 WINDOW版本: 如果在命令窗口下直接按“CTRL+C”,如果是作为系统服务来使用的话,需要到服务管理中停止服务或者在window管理器中终止进程。 五、web版本的统计服务状态 使用http://IP(服务器IP):端口即可 六、语法 1、基本操作 db.AddUser(username,password) 添加用户 db.auth(usrename,password) 设置数据库连接验证 db.cloneDataBase(fromhost) 从目标服务器克隆一个数据库 https://www.360docs.net/doc/bc5598910.html,mandHelp(name) returns the help for the command db.copyDatabase(fromdb,todb,fromhost) 复制数据库fromdb---源数据库名称,todb---目标数据库名称,fromhost---源数据库服务器地址

MongoDB常用操作命令大全

MongoDB常用操作命令大全 成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本操作命令,只是MongoDB没有创建数据库的命令,但有类似的命令 如:如果你想创建一个“myTest”的数据库,先运行use myTest命令,之后就做一些操作(如:db.createCollection('user')),这样就可以创建一个名叫“myTest”的数据库。 一、数据库常用命令 1、Help查看命令提示 复制代码代码如下: help db.help(); db.yourColl.help(); db.youColl.find().help(); rs.help(); 2、切换/创建数据库 复制代码代码如下: use yourDB; 当创建一个集合(table)的时候会自动创建当前数据库 3、查询所有数据库 复制代码代码如下: show dbs; 4、删除当前使用数据库 复制代码代码如下: db.dropDatabase(); 5、从指定主机上克隆数据库 复制代码代码如下: db.cloneDatabase(“127.0.0.1”); 将指定机器上的数据库的数据克隆到当前数据库 6、从指定的机器上复制指定数据库数据到某个数据库 复制代码代码如下:

db.copyDatabase("mydb", "temp", "127.0.0.1");将本机的mydb的数据复制到temp数据库中 7、修复当前数据库 复制代码代码如下: db.repairDatabase(); 8、查看当前使用的数据库 复制代码代码如下: db.getName(); db; db和getName方法是一样的效果,都可以查询当前使用的数据库 9、显示当前db状态 复制代码代码如下: db.stats(); 10、当前db版本 复制代码代码如下: db.version(); 11、查看当前db的链接机器地址 复制代码代码如下: db.getMongo(); 二、Collection聚集集合 1、创建一个聚集集合(table) 复制代码代码如下: db.createCollection(“collName”, {size: 20, capped: 5, max: 100});//创建成功会显示{“o k”:1} //判断集合是否为定容量db.collName.isCapped(); 2、得到指定名称的聚集集合(table) 复制代码代码如下: db.getCollection("account"); 3、得到当前db的所有聚集集合 复制代码代码如下:

MariaDB和MongoDB区别介绍

MongoDB与MariaDB介绍MongoDB: 1.MongoDB 1.1 MongoDB 简介 MongoDB是一个基于分布式文件存储的数据库,介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。MongoDB支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。 MongoDB是高性能开源文档数据库,也是目前最受关注的NoSQL技术之一,以敏捷、可扩展和对企业应用友好(支持事务,一致性和数据完整性保证,有大企业应用案例)而著称。使用MongoDB的公司包括Foursquare, Craiglist, 迪士尼,SAP,Intuit,EA等,国内淘宝、大众点评、视觉中国等公司有应用。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。MongoDB 有一个强大、灵活和可扩展数据存储区。它结合了能力扩展与关系数据库的许多最有用的功能,如次索引范围查询和排序。MongoDB 也具备十分强大的分片功能,如内装的支持处理样式聚集和空间的索引。但MongoDB在机制上仍属于NoSQL,由于NoSQL 的使用经验缺乏、CPU 占有率过大等缺点也制约了MongoDB 的发展。 1.2MongoDB特点 ●面向集合的存储:适合存储对象及JSON形式的数据。 ●动态查询:Mongo支持丰富的查询表达式。查询指令使用JSON形式的 标记,可轻易查询文档中内嵌的对象及数组。 ●完整的索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分 析查询表达式,并生成一个高效的查询计划。 ●查询监视:Mongo包含一个监视工具用于分析数据库操作的性能。 ●复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持 主-从模式及服务器之间的相互复制。复制的主要目标是提供冗余及自动 故障转移。 ●高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)。 ●自动分片以支持云级别的伸缩性(处于早期alpha阶段):自动分片功 能支持水平的数据库集群,可动态添加额外的机器。 1.3MongoDB的版本发布

相关文档
最新文档