一分钟了解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是一种面向文档的数据库管理系统,在开始今天的学习之前,先来看看数据库的分类 数据库的分类: 关系型数据库 MySQL、Oracle、DB2、SQL Server 关系数据库中全都是表 非关系型数据库 MongoDB、Redis 键值对...
MongoDB GraphQL实验室完成时间: 45分钟这是有关如何使用和创建灵活的GraphQL API的教程。 通过本教程,您将了解如何使用MongoDB Realm上的GraphQL在前端应用程序和它们所依赖的后端API之间建立松散的耦合-具体来说...
mongodb介绍这将有助于建立一个mongodb数据库,其中包含用于遍历的数据,而mongo是class 目标将是与几个数据库平台一起使用安装链接下载并获取文档如果您使用HomeBrew进行安装,则可通过以下公式了解其安装方式。...
一个简单的节点样板,使用express.js,借助于mongoose的mongodb,http-server,JWT(用于身份验证)等。 入门 在开始该项目之前,请遵循以下步骤。 先决条件 在安装和运行项目之前,需要了解一些知识。 如果您已经...
借助Navicat Cloud,您可以利用一天中的每一分钟来最大限度地提高生产力。了解更多> 先进的安全连接 通过SSH隧道和SSL建立安全连接,可确保每个连接都是安全,稳定和可靠的。支持不同的数据库服务器身份验证方法...
MongoDB虽然不是一个无服务器数据库,但是我们还是要提一下,因为它也有一个数据库即服务(Database as a Service)的产品,名字叫MongoDB Atlas。MongoDB是免费开源的,发行许可证是GNU Affero General Public ...
有利于保持最佳实践使用yarn在git push上对应用程序进行自动版本控制使用mocha和chai预配置的测试安装先决条件纱节点js mongodb本地服务器或远程服务器URL请按照以下步骤在几分钟之内启动您的应用并使其运行单击“ ...
在不到一分钟的时间内以组织者的身份创建一个活动。 我成功了吗? 让我知道! 开发设置 安装 mongodb 和 nodejs 去! $ sudo npm install -g yo bower grunt-cli $ npm install && bower install $ grunt ...
本教程是 Node.js,Express 框架和 MongoDB 的快速指南,重点介绍基本的 REST 路由和基本的数据库交互。你将构建一个简单的 API 框架模版,然后可以将其用作任何应用。 本教程适用于:你应该对 REST API 和 CRUD ...
整合PoC 介绍 示例应用程序演示了基于Java 8,MongoDB和Spring ...Java应用程序可在localhost:8080上使用,并且传递的java.security.egd设置对于某些虚拟环境(例如Digital Ocean)是强制性的,否则启动需要30分钟 要
了解有关更多信息。 医生仪表板可视化使用来自新发布的飞利浦 HealthSuite 数字平台 (HSDP) 的样本睡眠数据(分钟)、步数数据和情绪数据。 社会幸福数据是由一名虚构的收集的。 使用监视 MongoDB 中的数据更改将...
使用与该语言相同或基本的知识来完成一个简单的项目,并且基于mongoDB。 菜单 介绍 教师介绍 了解将要创建的项目 创建存储库(github) 使用Express创建基本结构 建立连接 连接到mysql 建立资料库 构建模型 快速...
BIO:我是一名软件工程师,对React,React-Native,Javascript,Python,Node js,MongoDB,HTML和CSS有所了解。 我来自客户服务和市场营销背景。 我做了很多零碎的工作,这使我能够与所有人和所有人谈论几乎所有...
Redis首先把数据保存到内存中,在满足特定条件(默认是15分钟一次以上,5分钟内10个以上,1分钟内10000个以上的key发生变更)的时候将数据写入到硬盘中。这样既确保了内存中数据的处理速度,又可以通过写入硬盘来...
在这里,我们称它为NextFeathers的后端:-)我真正喜欢的一件事是feathers-cli,通过它我可以在几分钟内创建一个API。 了解更多信息: : 什么是NextFeathers? 您可能现在知道:这就是nextJS + FeathersJS! 不仅...