MongoDB
文章平均质量分 60
xiayuanfeng
这个作者很懒,什么都没留下…
展开
-
MongoDB 介绍
简介 MongoDB并不是在实验室中的环境中设计的。我们是根据构建可伸缩,高可用,灵活系统的实际经验来构建MongoDB。我们并不是从头开始的,我们要去发现问题并去解决。因此我设想如果你要取代MySQL以及要改变关系模型,你可以选择MongoDB,并获得很多很好的特性:为了速度而优化的嵌入文档(embedded docs),可管理的,灵活schema数据库的敏捷开发,因为没有join,所以更加...原创 2011-03-29 11:37:48 · 103 阅读 · 0 评论 -
MongoDB 验证命令(Validate Command)
验证命令(Validate Command)使用这个命令来验证collection是否有效并且做多种分析。这个命令会扫描整个collection和它的索引并且数据集较大的时候,这个过程是非常缓慢的。MongoDB Shell执行:> db.foo.validate(){"ns" : "test.foo" , "result" : "v...原创 2011-04-06 15:12:47 · 839 阅读 · 0 评论 -
MongoDB 聚集 Collections
聚集CollectionsMongoDB collections就是一组document的命名。你可以把collection等同于关系型数据库中的表。细节一个MongoDB聚集是一些BSON document的集合。通常来说,这些documents结构都是相同的,但是由于MongoDB是schema-free数据库,所以这个条件也不是必须的。你可以在一个col...原创 2011-04-06 16:56:48 · 123 阅读 · 0 评论 -
MongoDB 使用大数据量的collection
使用大数据量的collection.在MongoDB存储信息用多个collection来替代一个collection。这样做每个重复的数据不必存在每个对象中,并且也不必再这个键上创建索引了。更重要的是性能,可以通过指定组来分布数据。举个例子,假使我们要存储日志。并且有N种类型,如dev,debug,ops等。我们用一个collection来存储。{ ...原创 2011-04-07 13:07:42 · 774 阅读 · 0 评论 -
MongoDB GridFS
GridFSGridFS是MongoDB存储大文件的一个规范。所有的官方支持的驱动都实现了 GridFS spec.基本原理数据库支持在BSON对象内的二进制存储。然而BSON对象在MongoDB中限制大小了(老版本是4MB,1.7+为16MB)。GridFS规范提供了一个把大文件分为一些document的机制。可以存储大的对象,主要是大的文件,如视频...原创 2011-04-07 14:34:05 · 97 阅读 · 0 评论 -
使用MongoDB GridFS的场景
使用MongoDB GridFS的场景这个页面还在更新中。。。使用GridFS的场景大量的文件。GridFS操作大量的文件(以千为单位)比很多文件系统要好。用户上传的文件。当用户上传了很多文件,并且希望把这些文件进行复制和备份。GridFS是存储这些文件的绝佳方案。你可以像管理数据那样管理文件。 你也可以按照用户,上传日期等条件来...原创 2011-04-09 14:19:13 · 351 阅读 · 0 评论 -
MongoDB 索引
索引Indexes索引常常用来大幅度的提升查询的性能。 考虑应用程序的查询种类是非常重要的事情,因此你就要定义相关的索引。决定了之后,在MongoDB中创建索引是非常简单的。基础索引就是collection中一个document指定一个字段值的数据结构。MongoDB查询优化器可以使用这个数据结构快速分类整理以及排序document。一般来说,索引...原创 2011-04-11 03:12:58 · 74 阅读 · 0 评论 -
使用 Multikeys 模拟大数量的索引
使用 Multikeys 模拟大数量的索引数据如果有非常多的属性,可以使用multikey索引的特性。举例> x = {... _id : "abc",... cost : 33,... attribs : [... { color : 'red' },... { ...原创 2011-04-11 10:26:56 · 139 阅读 · 0 评论 -
MongoDB 后台中操作索引
MongoDB 后台中操作索引从服务器或者复制集的次服务器(Slaves and Secondaries)总是在前段来做索引的操作。 即使在主服务器设置参数background:true,当在 the slave/secondary创建索引的时候,仍然不能够提供查询服务。默认请款下 ensureIndex() 操作是阻塞的, 以及在操作完成之...原创 2011-04-11 11:24:49 · 368 阅读 · 0 评论 -
MongoDB Multikeys(多个键)
Multikeys(多个键)MongoDB提供了 "multikey" 的特性可以自动索引数组每个元素。一个好的例子就是关于Tagging。假使一篇文章的tag$ dbshell> db.articles.save( { name: "Warm Weather", author: "Steve", ...原创 2011-04-11 11:57:33 · 1069 阅读 · 0 评论 -
MongoDB 关于索引的建议
MongoDB 关于索引的建议我们收到了很多关于索引的问题。这一部分解答了其中的一小部分。有几点要记住。第一,MongoDB索引和MySQL索引非常相似并且对于MySQL的索引优化有很多也适用于MongoDB。 第二,更重要的是,这些索引的建议对你的应用提高也是有限的。对于应用的最佳索引策略应该基于很多的重要因素。包含了你期望查询的类型,数...原创 2011-04-11 15:20:09 · 232 阅读 · 0 评论 -
MongoDB Inserting 插入数据
MongoDB Inserting 插入数据当我们要向MongoDB插入数据,数据格式就是document。document的数据结构和JSON基本一样。Python的dictionaries和ruby的hashes都是例子。 这个部分主要讲解MongoDB数据的插入。Document-Orientation面向文档面向文档的数据库存储docum...原创 2011-04-11 16:51:13 · 176 阅读 · 0 评论 -
MongoDB 合法的键的名称Legal Key Names
合法的键的名称Legal Key Names键的名称有下面的限制: '$' 字符不能作为首字母。不能包含'.' 字符原创 2011-04-11 17:05:27 · 274 阅读 · 0 评论 -
MongoDB Schema Design 数据库设计
介绍使用MongoDB设计数据库,就不要按照关系型数据库的思维来做,如范式化数据。因为MongoDB不支持服务端的join查询。一般来说,在对于顶端的对象都要用单独的collection进行存储。当然不需要望每个对象都要创建一个collection。可替代的策略是使用嵌入对象(embed object)。例子,在下面的图,有两个collection。分别是stud...原创 2011-04-11 19:26:31 · 626 阅读 · 0 评论 -
MongoDB 查看和终止当前操作(Viewing and Terminating Current Operation)
查看当前进程的操作> db.currentOp();> // same as: db.$cmd.sys.inprog.findOne(){ inprog: [ { "opid" : 18 , "op" : "query" , "ns" : "mydb.votes" ,"query" : "{ score : 1.原创 2011-04-06 15:00:49 · 686 阅读 · 0 评论 -
MongoDB Last Error 命令
Last Error Commands当写入数据库,MongoDB默认的情况下不会响应结果。但是MongoDB提供了命令来保证这些操作是成功的。当在safe的模式下保存和更新数据库,一些驱动就会自动调用这些命令。我们这详细讲解getlasterror是如何运行的。getlasterrorgetlasterror是验证最后一次连接数据库操作。可以通过以下几种方式...原创 2011-04-06 14:38:41 · 538 阅读 · 0 评论 -
MongoDB 索引的命令 Index-Related Commands
索引的命令创建索引ensureIndex() 是创建索引便捷方法。 它的实现其实就是创建一个索引添加到system.indexes这个collection中。> use test> db.myCollection.ensureIndex(<keypattern>);> // same a...原创 2011-04-03 13:25:02 · 87 阅读 · 0 评论 -
MongoDB的设计哲学
MongoDB的设计哲学数据库的用途越来越面向特别的需求与业务了 - 一个数据库满足所有的需求已经不适用了。减少了传统DB提供的事务,能使性能飞速提升并且水平扩展也更为简单。document的数据模型(JSON/BSON)更容易去编写, 容易去管理(schemaless),并且 把数据聚合在一起更能提升性能。一个非关系型数据库更容易进行水平扩展。...原创 2011-03-29 14:20:19 · 104 阅读 · 0 评论 -
MongoDB快速体验-windows版本
下载安装MongoDB最简单的方法就是安装提前编译好的二进制版本。32-bit二进制包Download 并且解压缩。推荐选择产品版本。64-bit二进制包Download 并且解压缩注意:如果是64bit机器和操作系统,推荐下载和使用64bit的MongoDB。Unzip解压缩压缩文件到你想要安装的目录,最好给MongoDB目录命名,推荐...原创 2011-03-29 14:45:33 · 72 阅读 · 0 评论 -
MongoDB快速指南
获取MongoDB数据库请看这篇文章快速 体验MongoDB-windows版本 http://xiayuanfeng.iteye.com/blog/978729连接数据库这部分让我们通过MongoDB shell来操作数据库. (我们也可以使用各种语言的MongoDB的驱动. shell是非常方便系统管理员操作的环境)启动MongoDB Shell环境...原创 2011-03-29 17:17:37 · 56 阅读 · 0 评论 -
MongoDB 1.2.x Release Notes
1.2.x Release Notes新特性每个collection支持多个索引提升创建索引的速度Map/Reduce存储javascript函数可配置同步时间很多小特性的添加与修复升级DB的必备条件如果版本<=1.0.x,需要进行一些更改。如果已经使用>=1.1.x,就不需要更改了。有两个方法...原创 2011-03-29 23:35:53 · 67 阅读 · 0 评论 -
MongoDB 1.4 Release Notes
1.4 Release Notes我们很兴奋的宣布MongoDB 1.4终于release了。1.4主要取代1.2。升级非常简单,只要停掉mongodb,之后再重新启动新的版本mongod。1.4版本在1.2基础之上做了如下提升核心服务器(Core Server)的增强concurrency并发的提升索引内存的提升支持后台...原创 2011-03-30 00:37:45 · 300 阅读 · 0 评论 -
MongoDB 1.6 Release Notes
1.6 Release NotesMongoDB是1.4版本一个升级. 升级很简单,只要停掉旧的mongod,启动新的mongod就可以了。* 要注意的是,你应该更新最新的MongoDB客户端驱动。所有的驱动都提供了连接replica sets的功能。数据分片(Sharding)Sharding 现在可以试用于产品环境了, 它可以使MongoDB水平扩展, 而...原创 2011-03-30 10:28:40 · 97 阅读 · 0 评论 -
MongoDB 1.8 Release Notes
1.8 Release NotesMongoDB1.8是取代1.6的升级版.升级很简单,只要停掉旧的mongod,启动新的mongod就可以了。*要注意的是,你应该更新最新的MongoDB客户端驱动1.8版本中,MapReduce命令有所改变, 对前一版本已经不兼容了。如果你使用MapReduce, 请查看如下文档Map Reduce Outpu...原创 2011-03-30 22:35:34 · 291 阅读 · 0 评论 -
关于MongoDB 版本号的规则
MongoDB 使用 奇数版本号作为开发版本。MongoDB主要有三个A,B,C版本A 是主要版本. 功能上要么不变要么就做很大的改动。B 是发行版本号. 这种版本经常更新功能,包括一些新的特性并且常常不向后兼容。偶数是稳定版本,奇数是开发版本。C 版本号是用来修改BUG和安全性。For example:1.0.0 : 第一个发行版。...原创 2011-03-31 10:04:09 · 653 阅读 · 0 评论 -
MongoDB的连接
连接ConnectionsMongoDB是数据库服务器: 它运行在前端或者后端等待用户的连接. 当你启动MongoDB,会看到如下结果:~/$ ./mongod## some logging output#Tue Mar 9 11:15:43 waiting for connections on port 27017Tue Ma...原创 2011-04-01 17:45:44 · 205 阅读 · 0 评论 -
MongoDB的命令
命令介绍MongoDB数据库有一个数据库命令的概念(database command)。数据库命令让让数据库执行特殊操作的一个方法,或者请求目前操作的状态的信息。发送到数据库的一个命令,实际上是对名称为$cmd的collection的一个查询。数据库命令的结果就是使用findOne()返回一个单独的document。语法如下:d...原创 2011-04-01 23:30:38 · 108 阅读 · 0 评论 -
MongoDB里的database
数据库每个MongoDB服务器都支持多个数据库。每个数据库都是互相独立的并且 每个数据库存储的数据也都是独立的。一个数据库由一个或者多个collection组成。document(object)保存在这些collection中, 以及我们可以对数据库进行权限控制。...原创 2011-04-01 23:34:26 · 97 阅读 · 0 评论 -
MongoDB 复制数据库 Clone Database
复制数据库Clone DatabaseMongoDB有一个命令可以在不同的服务器之间拷贝数据库。// 从一个服务器复制一个完整的数据库到以一个服务器。忽略 <from_hostname> //是在同一服务器之间进行数据库复制// 这个命令必须运行于复制目标的服务器上。db.copyDatabase(<from_dbnam...原创 2011-04-02 10:33:12 · 920 阅读 · 0 评论 -
MongoDB 同步命令 fsync Command
fsync Command注意,只支持1.3+版本fsync命令允许我们刷新所有等待写入的操作刷新到数据文件中。更重要的是,它提供了锁的选项,这样会使备份更为简单。 fsync 命令强行将数据库刷新到数据文件中:> use admin> db.runCommand({fsync:1});这个...原创 2011-04-02 13:53:26 · 628 阅读 · 0 评论 -
MongoDB 优化
优化一个简单的例子这部分主要讲解如何优化MongoDB的性能。让我们举个具体示例。假使我们的任务是现实blog的首页-我们希望现实最近发布的10条posts。ts为时间字段。语句如下articles = db.posts.find().sort({ts:-1}); // get blog posts in reverse time orderfo...原创 2011-04-12 15:44:55 · 179 阅读 · 0 评论