其他系统
第七章 其他系统
7.1 概述
随着大数据时代的到来,越来越多的应用迫切需要不同的数据库管理系统,其中文档数据库
便是一种。与传统的关系数据库不同,文档数据库用来管理文档。在传统的数据库中,信息
被分割成离散的数据段,而在文档数据库中,文档是处理信息的基本单位。存储在集合中的
文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是
各中复杂的文件类型。一文档可以很长、很复杂、可以无结构,与字处理文档类似。一个文
档相当于关系数据库中的一条记录。此外,为了满足高性能数据管理需求,基于内存数据库
重新设计了体系结构,抛弃了磁盘数据管理的传统方式,并且在数据缓存、快速算法、并行
操作方面也进行了相应的改进,数据处理速度比传统数据库的数据处理速度要快很多。下面
介绍几个具有代表性的文档和内存数据库管理系统。
7.2 MongoDB
7.2.1 基本介绍
MongoDB 是一个基于分布式的高性能文档型数据库,作为开源项目,MongoDB 是目前
NoSQL 数据库产品应用比较广泛的数据库系统之一[3]。MongoDB 采用 C++语言编写,主要
为Web 应用提供可扩展的高性能数据存储解决方案。MongoDB 的设计架构个介于关系数据
库和非关系数据库之间,是最具关系型数据库的非关系数据库。MongoDB 的应用场景主要
包括以下几个方面:
(1)网站数据管理:MongoDB 非常适合实时的插入,更新与查询,并具备网站实时数据
存储所需的复制及高度伸缩性
(2 )用做缓存层: MongoDB 的高性能使得它适合作为数据管理底层设施的缓存层。与传
统的文件存储不同,由MongoDB 搭建的持久化缓存层可以在系统重启后过滤掉大尺寸,低
价值的数据,使系统快速过的高的性能。
(3 )扩展性应用要求高应用场景:MongoDB 具有非常好的可扩展性,含有对 MapReduce
引擎的内置支持 。
(4 )适用于对象及JSON 数据的存储:MongoDB 的BSON 数据格式非常适合文档化格式的
存储及查询。
7.2.2 体系结构
MongoDB 是一个可移植的数据库,具备跨平台特性。由一系列物理文件(数据文件,日志
文件等)的集合以及相应的逻辑结构(集合,文档等)组合而成。支持的数据结构非常松散,
数据存储采用基于json 的bjson 格式,可以存储比较复杂的数据类型。MongoDB 最大的特
点支持功能强大的查询语言,可以实现类似关系数据库单表查询的绝大部分功能。此外,
MongoDB 支持对数据建立索引。
数据逻辑结构:MongoDB 采用层次化的逻辑结构。主要由:文档(document) 、集合
(collection)、数据库(database)这三部分组成的。逻辑结构是面向用户的,使用 MongoDB 开
发应用程序使用的是逻辑结构。
1) 文档:MongoDB 的文档相当于关系数据库中的一行记录。
2) 集合:多个文档组成一个集合,它相当于关系数据库的表。其优点包括:集合有助于提
升查询特定类型文档的速度;把同种类型的文档放在一个集合里,数据会更加集中;当创建
74
索引的时候,文档会有附加的结构(特别是唯一索引)。索引是按照集合来定义的。把同种
类型的文档放入同一个集合里面,可以使索引更加有效。
3) 数据库:多个集合逻辑上构成一个数据库。一个MongoDB 实例支持多个数据库。
物理存储:MongoDB 每个数据库都有自己的独立文件,每个库由一个名字空间文件和
多个数据文件组成,名字空间文件以.ns 结尾,数据文件每新分配一次,它的大小都会是上
一个数据文件大小的2 倍,每个数据文件最大 2G,第一个数据文件为64M,翻倍增长直至
2G 。MongoDB 内部有预分配空间的机制,每个预分配的文件都用 0 进行填充, MongoDB
始终保持额外的空间和空余的数据文件,从而有效避免了由于数据暴增而带来的磁盘压力过
大的问题。这样的机制有利于防止较小的
您可能关注的文档
最近下载
- 海域卫星遥感动态监测技术规程.docx VIP
- 《海域使用卫星遥感动态监视监测技术规程(暂行)》.pdf VIP
- 海域使用疑点疑区监测核查工作规范.pdf VIP
- 建设项目海域使用动态监视监测工作规范(试行) - 国家海洋局.docx VIP
- 区域用海规划实施情况监视监测工作规范-国家海洋局.doc VIP
- 生物工程概述.ppt VIP
- 《生物化学工程基础》全套教学课件.pptx
- 2026国网山东省电力公司招聘高校毕业生1300人历年参考试题(第一批)及答案解析(夺冠系列).docx VIP
- 西师大版版数学五年级下册全册教学课件(2025年4月修订).ppt
- 甘肃省白银市平川区升荣山煤矿采矿权评估价值计算表.PDF VIP
原创力文档

文档评论(0)