一分钟了解mongodb
mongo的由来
截取自英文俚语humongous,意为”巨大的”,是否表明mongodb在设计之初就是为大数据量处理而生呢?
mongodb是个啥
mongodb是个可扩展、高性能、开源、面向文档(document-oriented)的数据库,由c++实现。
http://www.mongodb.org/ 官网首页最显著的位置用了”agile”和”scalable”这两个词来形容它:
(1)agile:轻快的,敏捷的;
(2)scalable:可扩展;
mongodb的特点
(1)面向文档的存储:类JSON文档作为存储,不固定表模式(schema-free);
(2)全文索引支持(full index support);
(3)多副本与高可用性(replication & availability);
(4)自动分片(auto-sharding);
(5)支持多种类型的查询;
(6)快速原地更新(fast in-place updates):大部分更新操作无需申请新的空间;
(7)map/reduce支持;
(8)gridfs:各种size大小的集群文件支持;
wikipedia对mongodb的特性描述
(1)面向文档,以一种类JSON的格式管理记录,且能支持丰富的查询,支持索引;
(2)跨平台,支持windows,linux,solaris,OS X等;
(3)查询结果支持游标操作;
(4)点对点查询(Ad hoc queries):
任何字段(field)都能被查询到,支持范围查询(range queries),正则表达式查询(regular expression),
用户自定义js函数查询,内嵌字段查询(nestad field);
(5)索引支持:
支持单key索引,复合索引,唯一索引,内嵌字段索引;
查询执行时,mongodb的查询优化器会尝试多种查询计划,并挑选最优的计划执行;
(6)集函数支持(aggregation function):即使在map/reduce上,也有类似SQL的group by支持;
(7)文件存储支持,实现了一套GridFS的协议,用来存储和检索文件;
(8)主从、副本的支持:
mongodb支持主从结构,主db能执行读操作与写操作,从db从主db拷贝数据,从db只能执行读操作;
(9)sharding:
mongodb用sharding技术来支持水平扩展,它与Google的BigTable扩展方式十分类似;
一些与mysql的相似点与不同
(1)一个服务可以支持多个数据库;
(2)一个数据库可以支持多个表,在mongodb中,以集合(collection)代替了表(table)的概念;
(3)mysql是关系型的数据库,即RDBMS,而mongodb是schema-free的,它更像一个键值存储系统(kv),但与kv不同的是,它又能像mysql的模式一样,能修改文档内的数据,并对内部数据进行索引;
mongodb文档以BSON格式存储,即Binary JSON,BSON是一种二进制交换格式,类似Google Protocol Buffer;
相关推荐
本篇学习难度被评定为★★★★☆,建议读者在了解了MongoDB的基础操作之后,再进一步深入学习分片技术。 总体来看,本篇文档介绍了MongoDB分片的多个方面,包括分片的基础概念、架构组成、配置参数设置、分片键的...
首先通过`addTTLTestData()`函数向数据库添加了三个测试文档,文档的创建时间分别相隔一分钟。接下来,为`createDate`字段创建了一个TTL索引,设置为5分钟后过期。之后,通过查询可以看到文档是存在的,但当5分钟...
MongoDB是一种面向文档的数据库管理系统,在开始今天的学习之前,先来看看数据库的分类 数据库的分类: 关系型数据库 MySQL、Oracle、DB2、SQL Server 关系数据库中全都是表 非关系型数据库 MongoDB、Redis 键值对...
MongoDB是一种NoSQL数据库, permettant de stocker et de gérer des données de manière flexible et scalable。它提供了丰富的数据模型,可以满足各种应用场景的需求。 使用云数据库MongoDB版 该手册详细介绍...
在使用过程中,Python-mongomunin会定期(默认每5分钟)运行一次,获取最新数据并发送给Munin服务器。Munin服务器会根据接收到的数据生成各种图表,如折线图、饼图等,以便直观地展示MongoDB的性能状况。 为了确保...
为了解决MongoDB存储时间时差问题,可以创建一个名为`localDate`的辅助函数,用于在存储时间前将其转换为UTC时间。这个函数会获取当前时间,减去时区偏移,然后使用`toISOString()`方法将其转换为ISO格式的UTC时间。...
阿里云专有云企业版云数据库MongoDB版产品简介提供了阿里云专有云企业版云数据库MongoDB版的概述、特点、应用场景等信息,为用户提供了一个详细的产品简介。同时,本文档也提供了法律声明、通用约定等内容,以确保...
MongoDB GraphQL实验室完成时间: 45分钟这是有关如何使用和创建灵活的GraphQL API的教程。 通过本教程,您将了解如何使用MongoDB Realm上的GraphQL在前端应用程序和它们所依赖的后端API之间建立松散的耦合-具体来说...
mongodb介绍这将有助于建立一个mongodb数据库,其中包含用于遍历的数据,而mongo是class 目标将是与几个数据库平台一起使用安装链接下载并获取文档如果您使用HomeBrew进行安装,则可通过以下公式了解其安装方式。...
该项目选择MongoDB作为数据存储解决方案,MongoDB是一个NoSQL数据库,适合存储非结构化和半结构化数据。在爬虫项目中,MongoDB的优势在于其灵活性和高性能: 1. **文档型数据模型**:适合存储JSON格式的数据,与...
在2分钟内了解 Morphia,首先要安装 MongoDB 和 Morphia。确保已经安装了 MongoDB 并运行了服务器,然后添加 Morphia 的依赖到项目中,通常是通过 Maven 或 Gradle 来管理。 接着,创建一个简单的 Java 类,这个类...
一个简单的节点样板,使用express.js,借助于mongoose的mongodb,http-server,JWT(用于身份验证)等。 入门 在开始该项目之前,请遵循以下步骤。 先决条件 在安装和运行项目之前,需要了解一些知识。 如果您已经...
借助Navicat Cloud,您可以利用一天中的每一分钟来最大限度地提高生产力。了解更多> 先进的安全连接 通过SSH隧道和SSL建立安全连接,可确保每个连接都是安全,稳定和可靠的。支持不同的数据库服务器身份验证方法...
有利于保持最佳实践使用yarn在git push上对应用程序进行自动版本控制使用mocha和chai预配置的测试安装先决条件纱节点js mongodb本地服务器或远程服务器URL请按照以下步骤在几分钟之内启动您的应用并使其运行单击“ ...
标题中的“二十五分钟专注做一件事”暗示了这款工作软件可能采用了番茄工作法,这是一种时间管理技巧,通过25分钟的专注工作与短暂休息交替进行,提高工作效率。在现代快节奏的工作环境中,这样的工具可以帮助用户更...
在不到一分钟的时间内以组织者的身份创建一个活动。 我成功了吗? 让我知道! 开发设置 安装 mongodb 和 nodejs 去! $ sudo npm install -g yo bower grunt-cli $ npm install && bower install $ grunt ...
本教程是 Node.js,Express 框架和 MongoDB 的快速指南,重点介绍基本的 REST 路由和基本的数据库交互。你将构建一个简单的 API 框架模版,然后可以将其用作任何应用。 本教程适用于:你应该对 REST API 和 CRUD ...