词汇表
最后更新于
最后更新于
$cmd
一个特殊的虚拟,它公开MongoDB的。要使用数据库命令,请参见。
_id
每个MongoDB中都需要的字段。字段必须有一个唯一的值。您可以将 _id 字段看作文档的。如果您创建一个没有_id
字段的新文档,MongoDB将自动创建该字段并分配一个唯一的BSON 。
accumulator
中的一种,用于维护聚合中文档之间的状态 。有关accumulator操作的列表,请参见 。
action
用户可以对资源执行的操作。Actions和组合创建。看。
admin database
一个数据库特权。用户必须能够访问 admin 数据库才能运行某些管理命令。有关管理命令的列表,请参见。
aggregation
减少和汇总大量数据的各种操作中的任何一种。MongoDB 和 方法是聚合操作的两个示例。有关更多信息,请参见 。
aggregation framework
一组MongoDB操作符,让您不必使用就可以计算聚合值。有关操作符的列表,请参见。
arbiter
一个的成员,该成员仅存在于中投票。仲裁器不复制数据。查看。
Atlas
是云托管的数据库即服务。
authentication
验证用户身份。请看。
authorization
提供对数据库和操作的访问。参见。
B-tree
数据库管理系统通常用于存储索引的数据结构。MongoDB使用B-trees为其索引。
balancer
一个内部的MongoDB进程,运行在一个的上下文中,并管理的迁移。管理员必须为分片集群上的所有维护操作禁用平衡器。参见。
BSON
一种用于在MongoDB中存储和进行远程过程调用的序列化格式。“BSON”是“二进制”和“JSON”的合成词。可以将BSON视为JSON(JavaScript对象表示法)文档的二进制表示形式。请参阅 和 。
BSON types
序列化格式支持的类型集。有关BSON类型的列表,请参见。
CAP Theorem
给定计算系统的三个属性,一致性,可用性和分区容限,分布式计算系统可以提供这些功能中的任何两个,但不能提供全部三个。
capped collection
一个固定大小的,当其达到最大大小时会自动覆盖其最早的条目。在中使用的MongoDB 是一个有上限的集合。。请参阅。
cardinality
对一组值中元素数量的度量。例如,集合 A ={2,4,6} 包含3个元素,基数为3。参见。
checksum
用于确保数据完整性的计算值。有时使用算法作为checksum。
chunk
一个连续范围的的特定内的值。块范围包括下边界,不包括上边界。当MongoDB超出配置的块大小(默认为64兆字节)时,MongoDB将对其进行拆分。当一个分片相对于其他分片包含一个集合的太多分块时,MongoDB会迁移这些分块。请参见 和分。
client
使用数据库进行数据持久性和存储的应用层。提供了应用程序层和数据库服务器之间的接口级别。客户端也可以引用单个线程或进程。
cluster
请看 .
collection
MongoDB 的分组。集合等效于表。集合存在于单个中。集合不强制执行架构。集合中的文档可以具有不同的字段。通常,集合中的所有文档都具有相似或相关的目的。请参阅。
collection scan
集合扫描是一种查询执行策略,MongoDB必须检查集合中的每个文档,以确定它是否符合查询条件。这些查询效率非常低,并且不使用索引。有关查询执行策略的详细信息,请参阅。
compound index
由两个或多个键组成的。请看。
concurrency control
并发控制可确保数据库操作可以并发执行而不会影响正确性。悲观并发控制,例如在带的系统中使用的,将阻止任何可能发生冲突的操作,即使它们可能最终并未真正冲突。乐观并发控制,即WiredTiger使用的方法将延迟检查,直到可能发生冲突之后,终止并重试任何出现 的操作。
config database
一个内部数据库,保存与相关联的元数据。应用程序和管理员不应该在正常操作过程中修改config数据库。请看。
config server
一个实例,存储与相关联的所有元数据。看到。
container
打包在一起的一组软件及其从属库可以简化在计算环境之间的传输。容器在您的操作系统上作为分隔的进程运行,并且可以赋予它们自己的资源限制。常见的容器技术是Docker和Kubernetes。
CRUD
数据库基本操作的缩写:创建、读取、更新和删除。查看。
CSV
一种基于文本的数据格式,由逗号分隔的值组成。由于该格式非常适合表格数据,因此通常用于在关系数据库之间交换数据。您可以使用导入CSV文件。
cursor
一个指向结果集的指针。客户端可以遍历游标来检索结果。默认情况下,游标在不活动10分钟后超时。参见。
daemon
后台、非交互进程的传统名称。
data directory
存储数据文件的文件系统位置。选项指定数据目录。
data partition
将数据划分为范围的分布式系统体系结构。 使用分区。请参见 。
data-center awareness
一种属性,允许客户端根据其位置来寻址系统中的成员。 使用实现数据中心感知。请参阅 。
database
的物理容器。每个数据库在文件系统上有自己的一组文件。一个MongoDB服务器通常有多个数据库。
database command
MongoDB操作,而不是插入、更新、删除或查询。有关数据库命令的列表,请参见。要使用数据库命令,请参见。
database profiler
一种工具,当它被启用时,它在数据库的“系统”中保存所有长时间运行的操作的记录。概要文件的集合。分析器最常用来诊断慢速查询。请看。
dbpath
MongoDB的数据文件存储位置。请看。
delayed member
一个成员,该成员不能成为主成员并在指定的延迟下应用操作。延迟对于保护数据不受人为错误(即无意中删除的数据库)或对生产数据库有不可预见影响的更新的影响非常有用。参见。
document
MongoDB中的一条记录和MongoDB中的基本数据单元。文档类似于对象,但是以一种更丰富类型的格式存在于数据库中,称为。请看。
dot notation
MongoDB使用点表示法来访问数组的元素和访问嵌入文档的字段。看到。
draining
从一个到另一个分片的移除或“shedding”的过程。管理员必须在将分片从集群中删除之前将其排干。参见。
driver
用特定语言与MongoDB交互的客户端库。见 .
durable
当一个或多个服务器进程关闭(或崩溃)和重新启动时,写操作是持久的。对于单个服务器,当写入服务器的文件时,写操作被认为是持久的。对于,一旦写入操作在大多数投票节点上是持久的,那么写入操作就被认为是持久的;即写给大多数投票节点的日志。
election
在启动和失败时,的成员选择一个的进程。查看。
eventual consistency
分布式系统的一种属性,允许对系统的更改逐渐传播。在数据库系统中,这意味着可读成员不需要随时反映最新的写操作。
expression
在的上下文中,表达式是对通过的数据进行操作的无状态转换。请看。
failover
在发生故障时允许的成员成为成员 的过程。请参阅。
field
A name-value pair in a . A document has zero or more fields. Fields are analogous to columns in relational databases. See .
中的名称-值对。一个文档有零个或多个字段。字段类似于关系数据库中的列。请看。
field path
文档中某个字段的路径。要指定字段路径,请使用一个字符串在字段名前加上美元符号(' $ ')。
firewall
一种基于IP地址限制访问的系统级网络过滤器。防火墙是有效网络安全策略的一部分。请看.
fsync
将内存中所有脏页面刷新到磁盘的系统调用。MongoDB至少每60秒对其数据库文件调用 fsync() 。请看。
geohash
geohash值是坐标网格中位置的二进制表示。参见。
GeoJSON
基于JavaScript对象符号的数据交换格式()。GeoJSON用于。有关受支持的GeoJSON对象,请参见。有关GeoJSON格式规范,请参见
geospatial
与地理位置有关的。看到。
GridFS
在MongoDB数据库中存储大文件的约定。所有官方的MongoDB驱动程序都支持这个约定,就像程序一样。参见。
hashed shard key
一种特殊类型的,使用一个hash值的分片键字段成员之间分发文件的。请看。
haystack index
一个索引,该索引通过创建根据第二个标准分组的对象的“buckets”来增强搜索。看到。
hidden member
一个成员,不能成为并且对客户端应用程序不可见。参见。
high availability
高可用性指的是为持久性、冗余和自动故障转移而设计的系统,这样系统所支持的应用程序就可以连续运行,而不会在很长一段时间内停机。MongoDB复制支持高可用性部署时根据我们的记录 。有关复制集部署架构的指导,请参阅。
idempotent
在相同的输入下产生相同结果的操作的质量,无论运行一次还是多次。
index
优化查询的数据结构。请看。
init script
Linux平台的使用的一个简单的shell脚本,用于启动、重启或停止一个进程。如果您通过包管理器安装了MongoDB,那么作为安装的一部分,会为您的系统提供一个init脚本。请参阅相应的来了解您的操作系统。
init system
init系统是内核启动后在Linux平台上启动的第一个进程,它管理系统上的所有其他进程。init系统使用一个开始,重新启动,或停止一个过程,如或。Linux的最新版本倾向于使用systemd init系统,它使用systemctl
命令,而旧版本倾向于使用system V init系统,它使用service
命令。请参阅相应的来了解您的操作系统。
initial sync
操作,该操作将数据从现有的复制集成员复制到新的复制集成员。请看。
intent lock
资源,表明锁的持有人将读(intent shared)或写(intent exclusive)资源使用 比资源更细粒度的概念与意图锁。意图锁允许并发读取和写入资源。查看。
interrupt point
操作生命周期中可以安全中止的点。MongoDB只在指定的中断点终止操作。参见。
IPv6
对IP(Internet协议)标准的修订,提供更大的地址空间,以更有效地支持当代Internet上的主机数量。
ISODate
使用的国际日期格式来显示日期。格式是:YYYY-MM-DD HH:MM.SS.millis
。
JavaScript
一种最初为web浏览器设计的流行脚本语言。MongoDB shell和某些服务器端函数使用JavaScript解释器。更多信息请参见。
journal
一种顺序的二进制事务日志,用于在发生硬关闭时使数据库进入有效状态。日志记录首先将数据写入日志,然后写入核心数据文件。MongoDB 2.0及更新版本的64位版本默认允许日志记录。日志文件是预先分配的,并作为文件存在于中。请看。
JSON
JavaScript对象表示法。一种人类可读的纯文本格式,用于表示结构化数据,支持多种编程语言。更多信息,请参见。某些MongoDB工具以JSON格式呈现MongoDB 文档的近似值。参见。
JSON document
一个文档是结构化格式的字段和值的集合。对于示例JSON文档,请参见
JSONP
填充。引用一种将JSON注入应用程序的方法。表示潜在的安全问题。
least privilege
一种授权策略,只向用户提供对该用户的工作至关重要的访问权限,而不提供其他权限。
legacy coordinate pairs
该格式用于MongoDB 2.4版本之前的数据。这种格式将地理空间数据存储为平面坐标系统上的点(例如。[x, y]
)。参见。
LineString
LineString是由两个或多个位置组成的数组定义的。具有四个或更多位置的封闭LineString称为线性环,如GeoJSON LineString规范所述: Objects](
lock
MongoDB使用锁来确保不会影响正确性。MongoDB使用、和。更多信息,请参见。
LVM
逻辑卷管理器。LVM是一个从物理设备提取磁盘映像的程序,它提供了许多对系统管理有用的原始磁盘操作和快照功能。有关LVM和MongoDB的信息,请参见。
map-reduce
数据处理和聚合范例由选择数据的“映射”阶段和转换数据的“减少”阶段组成。在MongoDB中,您可以使用map-reduce在数据上运行任意的聚合。对于map-reduce实现,请参见。对于所有的聚合方法,请参见。
mapping type
一种将键与值相关联的编程语言结构,其中键可以嵌套其他键和值对(例如字典、hash表、映射和关联数组)。这些结构的属性取决于语言规范和实现。通常,映射类型中的键的顺序是任意的,不能保证。
md5
一种hashing算法,用于有效地提供可重现的惟一字符串来识别和数据。MongoDB使用md5为识别数据块。参见。
MIB
管理信息基础。MongoDB在MongoDB企业版中使用MIB文件定义SNMP跟踪的数据类型。
MIME
多用途因特网邮件扩展。一组标准的类型和编码定义,用于在多个数据存储、传输和电子邮件上下文中声明数据的编码和类型。工具提供了一个选项来指定MIME类型来描述插入到存储中的文件。
mongo
MongoDB shell。流程启动MongoDB shell连接到一个或实例。shell有一个JavaScript接口。参见和。
mongod
MongoDB数据库服务器。进程启动MongoDB服务器作为一个。MongoDB服务器管理数据请求和格式,并管理后台操作。参见。
mongos
MongoDB分片集群查询路由器。进程启动MongoDB路由器作为一个。MongoDB路由器充当应用程序和MongoDB 之间的接口,并在集群中处理所有路由和负载平衡。参见。
namespace
MongoDB中集合或索引的规范名称。命名空间是数据库名称和集合或索引名称的组合,如[database-name].[collection-or-index]
。所有文档都属于一个名称空间。参见。
natural order
数据库引用磁盘上文档的顺序。这是默认的排序顺序。查看和。
network partition
一种网络故障,它将分布式系统分割为多个分区,使得一个分区中的节点无法与另一个分区中的节点通信。有时,分区是部分的或不对称的。部分分区的一个例子将是一个网络的节点分成三组,第一组内的成员不能与第二组的成员,反之亦然,但所有节点可以与第三组的成员交流。在一个不对称的分区,沟通可能只有当它源自某些节点。例如,分区一端的节点只有在它们启动通信通道时才能与另一端通信。
ObjectId
一个特殊的12字节类型,它保证了中的唯一性。ObjectId是基于时间戳、机器ID、进程ID和进程本地增量计数器生成的。MongoDB使用ObjectId值作为字段的默认值。
operator
以$
开头的关键字,用于表示更新、复杂查询或数据转换。例如,$gt
是查询语言的" greater than "操作符。有关可用的操作符,请参见。
oplog
一个,它将逻辑写入的有序历史存储到MongoDB数据库中。oplog是在MongoDB中启用的基本机制。参见。
optime
_以下描述了MongoDB 3.2:_中引入的使用的optime格式。对复制中位置的引用。optime值是一个文档,其中包含:ts
、操作的。t
, ,该操作最初在主服务器上生成。
ordered query plan
一个查询计划,它以与顺序一致的顺序返回结果。。
orphaned document
在分片集群中,孤立文档是指某个分片上的文档,由于迁移失败或由于异常关机而导致迁移清理不完整,这些文档也存在于其他分片上的块中。从MongoDB 4.4开始,在块迁移完成后,孤立的文档会被自动清理。删除孤立文档不再需要运行。
passive member
一个的成员不能成为主元素,因为它的是0
。参见。
PID
一个进程标识符。类unix系统为每个正在运行的进程分配一个唯一的整数PID。可以使用PID检查正在运行的进程并向其发送信号。参见。
pipe
类unix系统中的一种通信通道,允许独立进程发送和接收数据。在UNIX shell中,管道操作允许用户将一个命令的输出定向到另一个命令的输入。
pipeline
一个流程中的一系列操作。看到。
Point
GeoJSON点规范中描述的单个坐标对: Objects](
Polygon
一个坐标数组,正如在GeoJSON多边形规范中描述的: # geospatial-indexes-store-geojson)。
powerOf2Sizes
每个集合设置改变和规范MongoDB为每个分配空间的方式,以最大化存储重用和减少碎片。这是的默认值。查看和usepowerof2size
。
pre-splitting
在插入数据之前执行的一种操作,它将可能的切分键值范围划分为块,以方便插入和高写吞吐量。在某些情况下预加速文件的初始分布通过手动划分集而不是等待MongoDB。参见。
prefix compression
通过在每一页内存中只存储一次相同的索引键前缀,减少内存和磁盘消耗。参见:了解更多关于WiredTiger的压缩行为。
primary
在中,主元素是接收所有写操作的成员。参见。
primary key
记录的唯一不可变标识符。在中,主键通常是存储在每行' id '字段中的整数。在MongoDB中,字段持有文档的主键,通常是BSON 。
primary shard
,它包含所有未分片的集合。参见。
priority
一个可配置的值,帮助确定中的哪些成员最有可能成为。参见 .
privilege
资源上允许的指定的和的组合。参见。
projection
一个给的文档,它指定MongoDB在结果集中返回哪些字段。有关投影操作符的列表,请参见。
query
读请求。MongoDB使用类似的查询语言,包括各种各样的,名称以“$”字符开头。shell,你可以发出查询使用和方法。参见。
query optimizer
生成查询计划的流程。对于每个查询,优化器都会生成一个计划,将查询与尽可能高效地返回结果的索引相匹配。优化器在每次运行查询时重用查询计划。如果一个集合发生重大变化,优化器将创建一个新的查询计划。参见。
query shape
查询谓词、排序和投影的组合。对于查询谓词,只有谓词的结构(包括字段名)是重要的;查询谓词中的值不重要。因此,查询谓词{type: 'food'}
等价于查询形状的查询谓词{type: 'utensil'}
。来帮助识别相同的慢速查询,开始在MongoDB 4.2中,每个是与。queryHash
是一个十六进制字符串,表示查询形状的散列,并且只依赖于查询形状。对于任何散列函数,两个不同的查询形状可能会导致相同的散列值。但是,不同查询形状之间不太可能出现哈希冲突。
RDBMS
关系数据库管理系统。基于关系模型的数据库管理系统,通常使用作为查询语言。
read concern
指定读操作的隔离级别。例如,您可以使用read concern来只读已经传播到中的大多数节点的数据。参见。
read lock
资源上的一个共享,该资源(比如集合或数据库)在持有时允许并发读取但不允许写入。查看。
read preference
决定客户端如何直接读取操作的设置。读取首选项影响所有副本集,包括分片副本集。默认情况下,MongoDB将读取定向到。但是,您也可以为读取直接将读取指向二级。参见。
recovering
成员状态,表示成员还没有准备好开始辅助或主成员的正常活动。正在恢复的成员不可用于读取。
replica pairs
MongoDB的前身.自1.6版本以来已被弃用.
replica set
实现复制和自动故障转移的MongoDB服务器集群。MongoDB推荐的复制策略。参见。
replication
允许多个数据库服务器共享相同数据的特性,从而确保冗余和促进负载平衡。参见。
replication lag
最后一个操作之间的时间长度 和最后一个操作应用于一个特定的。通常,您希望将复制延迟保持得尽可能小。参见。
resident memory
当前存储在物理RAM中的应用程序内存的子集。常驻内存是的一个子集,其中包括映射到物理RAM和磁盘的内存。
resource
数据库、集合、集合集或集群。一个允许在指定的资源上执行。参见。
role
在指定的上允许的一组特权。分配给用户的角色决定了用户对资源和操作的访问。参见。
rollback
恢复写操作以确保所有复制集成员的一致性的进程。参见。
secondary
复制主数据库内容的成员。辅助成员可以处理读请求,但是只有成员可以处理写操作。参见。
secondary index
一个数据库,通过最小化查询引擎执行查询时必须执行的工作来提高查询性能。参见。
set name
任意的名字给一个复制集。复制集的所有成员必须具有相同的名称指定的设置或选项。
shard
一个实例或存储的一部分数据集。在生产中,所有分片都应该复制集。参见。
shard key
MongoDB用于在的成员之间分发文档的字段。参见。
sharded cluster
包含 MongoDB部署的节点集。分片集群由配置服务器、分片和一个或多个路由进程组成。参见。
sharding
按键范围划分数据并将数据分布在两个或多个数据库实例之间的数据库体系结构。切分允许水平伸缩。参见。
shell helper
mongo
shell中的一个方法,它为提供了更简洁的语法。Shell helper改善了一般的交互体验。参见。
single-master replication
一个 topology ,其中只有一个数据库实例接受写操作。单主复制确保了一致性,是MongoDB使用的复制topology 。参见。
snappy
一个压缩/解压缩库,设计来平衡有效的计算需求与合理的压缩率。Snappy是MongoDB使用的默认压缩库。更多信息,请参见和。
split
中的的划分。参见。
SQL
结构化查询语言(Structured Query Language, SQL)是一种通用的特殊用途编程语言,用于与关系数据库进行交互,包括访问控制、插入、更新、查询和删除。不同数据库供应商支持的基本SQL语法中有一些类似的元素,但是大多数实现都有自己的方言、数据类型和对提议的SQL标准的解释。复杂的SQL通常不能在主要的产品之间直接移植。“SQL”经常被用作关系数据库的转喻。
SSD
固态磁盘。一种高性能的磁盘驱动器,使用固态电子器件来保持性能,与传统机械硬盘驱动器所使用的旋转磁盘和可移动读写磁头不同。
standalone
一个的实例,它作为一个单独的服务器运行,而不是作为的一部分。要将独立转换为复制集,请参见。
storage engine
数据库中负责管理如何在内存和磁盘中存储和访问数据的部分。对于特定的工作负载,不同的存储引擎执行得更好。请参阅了解MongoDB中内置存储引擎的具体细节。
storage order
参见.
strict consistency
分布式系统的一种属性,要求所有成员始终反映系统的最新更改。在数据库系统中,这意味着任何能够提供数据的系统都必须始终反映最新的写操作。
sync
操作,其中成员从复制数据。同步首先发生在MongoDB创建或恢复一个成员时,该成员被称为。然后持续进行同步,以通过复制集数据的更改更新成员。查看。
syslog
在类unix系统上,为服务器和进程提供提交日志信息的统一标准的日志过程。MongoDB提供了一个将输出发送到主机的syslog系统的选项。参见。
tag
应用于复制集成员的标签,由客户端用于发出感知数据中心的操作。使用标签复制集的更多信息,参见本手册的以下部分:。
_3.4版本中改变:_在MongoDB 3.4中,分片集群 term-zone取代。
tag set
包含零个或多个的文档。
tailable cursor
对于一个,一个可tailable游标是一个在客户端在初始游标中查看完结果后保持打开的游标。当客户端向有上限的集合插入新文档时,可定制游标将继续检索文档。
term
对于一个复制集的成员,一种单调递增的数目,对应于一次选举尝试。
topology
部署的MongoDB实例的状态,包括部署的类型(即独立、复制集,或分片集群),以及服务器的可用性,和每个服务器的角色(例如,,,或)。
TSV
一种基于文本的数据格式,由制表符分隔的值组成。这种格式通常用于在关系数据库之间交换数据,因为这种格式非常适合表格数据。您可以使用导入TSV文件。
TTL
表示“生存时间”,表示给定信息在缓存或其他临时存储中保留的过期时间或期间,然后系统将其删除或老化。MongoDB有一个TTL集合特性。查看。
unique index
一种索引,强制跨单个集合的特定字段具有唯一性。参见。
unix epoch
1970年1月1日00时。通常用于表示时间,其中从这个点开始计算的秒数或毫秒数。
unordered query plan
返回的查询计划的顺序与顺序不一致。参见。
upsert
更新操作的选项;例如, 。如果设置为true,更新操作将更新指定查询匹配的文档,如果没有文档匹配,则插入一个新文档。新文档将在操作中指示字段。参见。
virtual memory
应用程序的工作内存,通常驻留在磁盘和物理RAM中。
WGS84
默认的参考系统和大地基准,MongoDB使用它来计算类似地球的球体上的几何图形,用于在对象上的地理空间查询。请参阅“EPSG:4326: WGS 84”规范:
working set
MongoDB最常用的数据。
write concern
指定写操作是否成功。Write concern允许您的应用程序检测插入错误或不可用实例。对于,您可以配置write concern来确认复制到指定数量的成员。请看。
write conflict
在这种情况下,两个并发操作(其中至少一个是写操作)试图以违反使用乐观的存储引擎施加的约束的方式使用资源。MongoDB将透明地中止并重试其中一个冲突的操作。
write lock
资源(比如集合或数据库)上的独占。当一个进程写入一个资源时,它采用独占写锁来防止其他进程写入或读取该资源。有关锁的更多信息,请参见。
writeBacks
切分系统内的进程确保向发出的不负责相关块的写被应用到适当的切分。有关信息,请参见和。
zlib
与MongoDB使用的相比,这个数据压缩库提供了更高的压缩率,但占用了更多的CPU。您可以配置来使用zlib作为其压缩库。更多信息请参见和。
zone
_3.4版本中的新特性:_给定分片集合的基于范围值的文档分组。分片集群中的每个碎片可以与一个或多个区域关联。在一个平衡的集群中,MongoDB只将一个区域覆盖的读和写定向到该区域内的那些碎片。有关更多信息,请参阅手册页。
在MongoDB 3.2中,区域取代了所描述的功能。
zstd
4.2版中的新功能。
与相比,该数据压缩库提供更高的压缩率和更低的CPU使用率。