MongoDB
简介
MongoDB
是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,语法有点类似
Javascript
面向对象的查询语言,它是一个面向集合的、模式自由的文档型数据库。
面向集合(
Collenction-Orented
)
意思是数据被分组存储在数据集中,
被称为一个集合(
Collenction)
。每个集合在数据库中
都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库
(
RDBMS
)里的表(
table
),不同的是它不需要定义任何模式(
schema)
。
模式自由(
schema-free)
意味着对于存储在
MongoDB
数据库中的文件,我们不需要知道它的任何结构定义。提了这么多次
"
无模式
"
或
"
模式自由
"
,它到是个什么概念呢?例如,下面两个记录可以存在于同一个集合里面:
{"name" : "mongo"}
{"age" : 25}
文档型
意思是我们存储的数据是键
-
值对的集合
,
键是字符串
,
值可以是数据类型集合里的任意类型
,
包括数组和文档
.
我们把这个数据格式称作“
BSON
”即“
Binary Serialized dOcumentNotation.
”每一个文档相当于关系数据库中的一条记录。
MongoDB
特征
MongoDB
的特点是高性能、易部署、易使用,存储数据非常方便,主要特征有:
面向集合存储,易于存储对象类型的数据
模式自由
支持动态查询
支持完全索引,包含内部对象
支持复制和故障恢复
使用高效的二进制数据存储,包括大型对象(如视频等)
自动处理碎片,以支持云计算层次的扩展性
支持
Python
,
PHP
,
Ruby
,
Java
,
C
,
C#
,
Javascript
,
Perl
及
C++
语言的驱动程序,社区中也提供了对
Erlang
及
.NET
等平台的驱动程序
文件存储格式为
BSON
(一种
JSON
的扩展)
MongoDB
适用场景
持久化缓存层
高效的实时性
用于对象及
JSON
数据的存储
高伸缩性的场景
大尺寸、低价值的数据存储
MongoDB
不适用场景
要求高度事务性的系统
传统的商业智能应用
复杂的表查询
本文链接:http://www.656463.com/portal.php?mod=view&aid=75
,转载请注明出处
下一节:
MongoDB
的安装与使用
分享到:
相关推荐
《Node深入浅出》视频教程是一套针对Node.js技术的高级学习资料,由经验丰富的张老师主讲,旨在帮助开发者深化对Node.js的理解并提升实战技能。2020年录制的这一系列教程,与时俱进地涵盖了Node.js的最新发展和技术...
本文深入浅出地展示了如何将 Flask 应用程序与 MongoDB 数据库相整合,进而构建一个功能完整的Web应用程序。首先,文章指出了在进行配置之前需要具备的基础知识,包括对Python编程语言的理解,以及对Flask框架和...
在本文中,我们将深入浅出地探讨数据库的基本概念、类型以及其在IT行业中的重要性。 首先,我们需要了解数据库是什么。数据库是一个结构化的数据集合,允许用户以高效且灵活的方式访问和管理这些数据。数据可以是...
Fern Halper及Marcia Kaufman深入浅出地介绍了大数据的基本概念及其在当今世界的应用。随着信息技术的飞速发展,数据量呈指数级增长,如何有效地收集、处理、存储和分析这些海量数据已成为企业和组织面临的关键挑战...
《Spring开发指南(夏昕)》是一本专为开发者准备的深入浅出的Spring框架学习资料,由知名技术专家夏昕编写。这本书旨在帮助读者理解并掌握Spring框架的核心概念、特性和最佳实践,从而在实际项目开发中游刃有余。 ...
《Python学习手册(第4版)》是一本深入浅出的Python编程教程,适用于初学者和有一定经验的程序员。本书全面覆盖了Python语言的基础知识、高级特性以及实用技巧,旨在帮助读者快速掌握Python编程,提升编程技能。以下...
"深入浅出Node.js.pdf"是一本深入理解Node.js内部机制的书籍,它可能涉及V8引擎的工作原理、Node.js的异步模型、内存管理、性能分析等高级主题。通过阅读这本书,读者可以更好地理解Node.js的运行机制,从而编写更...
这份林子雨教授的讲义深入浅出地介绍了大数据技术的基本概念、核心技术以及实际应用场景,是理解和掌握大数据技术的宝贵资源。通过学习,读者可以对大数据有更全面的认识,并能运用到实际工作中去。
《数据库系统基础教程第二版》是一本深入浅出地介绍数据库理论与实践的教材,针对初学者和进阶者提供了全面的知识覆盖。本教程通过英文版答案和课后习题解答,帮助读者巩固和深化对数据库概念、设计及管理的理解。 ...
《 Meteor Try:深入浅出JavaScript框架Meteor的使用教程》 Meteor,一个基于JavaScript的全栈Web开发框架,以其实时性、高效性和易于学习的特点,在Web应用开发领域备受瞩目。本教程将带你逐步走进Meteor的世界,...
这种可视化方式不仅方便用户快速获取信息,而且有助于用户对疫情分布有一个直观的认识。例如,通过地图上的颜色深浅可以直观地看出不同地区的疫情严重程度;通过表格可以详细列出各地的疫情统计数据,包括确诊病例、...