深度学习
MongoDB权威指南(第2版) (图灵程序设计丛书)-霍多罗夫 (Kristina Chodorow)
书名:MongoDB权威指南(第2版) (图灵程序设计丛书)
作者:霍多罗夫 (Kristina Chodorow)
格式:EPUB, PDF
书号:9787115341082
出版:人民邮电出版社
排序作者:霍多罗夫 (Kristina Chodorow)
排序书名:MongoDB权威指南(第2版) (图灵程序设计丛书)
日期:08 12月 2018
uuid:9a0c4be4-3931-474e-9cc6-f399257344a9
id:503
出版日期:1月 2014
修改日期:08 12月 2018
大小:5.28MB
语言:中文
MongoDB非常强大但很容易上手。本章会介绍一些MongoDB的基本概念。
文档是MongoDB中数据的基本单元,非常类似于关系型数据库管理系统中的行,但更具表现力。
类似地,集合(collection)可以看作是一个拥有动态模式(dynamic schema)的表。
MongoDB的一个实例可以拥有多个相互独立的数据库(database),每一个数据库都拥有自己的集合。
每一个文档都有一个特殊的键"_id", 这个键在文档所属的集合中是唯一的。
MongoDB自带了一个简单但功能强大的JavaScript shell,可用于管理MongoDB的实例或数据操作。
在MongoDB中,多个文档组成集合,而多个集合可以组成数据库。一个MongoDB实例可以承载多个数据库,每个数据库拥有0个或者多个集合。每个数据库都有独立的权限,即便是在磁盘上,不同的数据库也放置在不同的文件中。按照经验,我们将有关一个应用程序的所有数据都存储在同一个数据库中。要想在同一个MongoDB服务器上存放多个应用程序或者用户的数据,就需要使用不同的数据库。
数据库通过名称来标识,这点与集合类似。数据库名可以是满足以下条件的任意UTF-8字符串。
MongoDB是一个面向文档(document-oriented)的数据库,而不是关系型数据库。不采用关系模型主要是为了获得更好的扩展性。当然, 还有其他一些好处。
与关系型数据库相比,面向文档的数据库不再有“行”(row)的概念,取而代之的是更为灵活的“文档”(document)模型。通过在文档中嵌入文档和数组,面向文档的方法能够仅使用一条记录来表现复杂的层次关系,这与使用现代面向对象语言的开发者对数据的看法一致。
另外,不再有预定义模式(predefined schema):文档的键(key)和值(value)不再是固定的类型和大小。由于没有固定的模式,根据需要添加或删除字段变得更容易了。通常,由于开发者能够进行快速迭代,所以开发进程得以加快。而且,实验更容易进行。开发者能尝试大量的数据模型,从中选择一个最好的。
MongoDB作为一款通用型数据库,除了能够创建、读取、更新和删除数据之外,还提供一系列不断扩展的独特功能。
索引(indexing)
MongoDB支持通用二级索引,允许多种快速查询,且提供唯一索引、复合索引、地理空间索引,以及全文索引。 
聚合(aggregation)
MongoDB支持“聚合管道”(aggregation pipeline)。用户能通过简单的片段创建复杂的聚合,并通过数据库自动优化。
特殊的集合类型
MongoDB支持存在时间有限的集合,适用于那些将在某个时刻过期的数据,如会话(session)。类似地,MongoDB也支持固定大小的集合,用于保存近期数据,如日志。
文件存储(file storage)
MongoDB支持一种非常易用的协议,用于存储大文件和文件元数据。
MongoDB并不具备一些在关系型数据库中很普遍的功能,如连接(join)和复杂的多行事务(multirow transaction)。省略这些功能是出于架构上的考虑(为了得到更好的扩展性),因为在分布式系统中这两个功能难以高效地实现。
术语
这些都是比较确定的术语名称,如果其他章节与这里不一致,以这个文件中的术语为准。
Secondary Index => 二级索引
Range Query => 范围查询
Aggregation => 聚合
Geospatial Index => 地理空间索引
Document-Oriented => 面向文档的
row => 行
document => 文档
Predefined Schema => 预定义模式
Key => 键
Value => 值
Scale Up => 纵向扩展
Scale Out => 横向扩展
Aggregation Pipeline => 聚合管道
Pipeline => 管道
session => #非常通用的术语,不译
File Storage => 文件存储
Join => 联接
Multirow Transaction => 多行事务
Dynamic Padding => 动态填充
Cache => 缓存
Relational Database Management System => 关系型数据库管理系统
Dynamic Schema => 动态模式
disk seek => 磁盘寻道
query document => 查询文档
stdout => 标准输出
acknowledged wirte => 应答式写入
unacknowledged wirte => 非应答式写入
来源:我是码农,转载请保留出处和链接!
本文链接:http://www.54manong.com/?id=1130
微信号:qq444848023 QQ号:444848023
加入【我是码农】QQ群:864689844(加群验证:我是码农)
全站首页 | 数据结构 | 区块链| 大数据 | 机器学习 | 物联网和云计算 | 面试笔试
var cnzz_protocol = (("https:" == document.location.protocol) ? "https://" : "http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_1276413723'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s23.cnzz.com/z_stat.php%3Fid%3D1276413723%26show%3Dpic1' type='text/javascript'%3E%3C/script%3E"));本站资源大部分来自互联网,版权归原作者所有!
评论专区