【译】MongoDB中的术语(三)

平安夜快乐~这一周终于把MongoDB中的术语这一个系列翻译完了。原文在MongoDB的官方文档。如果希望看到之前的翻译,可以直接跳到最后,点击相关链接。下周重新开始 [paper 阅读] 模块~

ppps: 这周完成转正流程了,还是挺感慨的。等到正式转正那一周再来写些碎碎念吧。特别特别感谢常老师和遇到的所有领导及同事们~~~接下来也要继续努力啦!

  • ObjectId:一个特殊的12位BSON类型,保证集合内的唯一性。ObjectId是基于时间戳、机器ID、进程ID以及本地进程自增长数生成的数。MongoDB使用ObjectId值作为_id字段的默认值。
  • operator:一个以$开头的关键词,用来表示更新、复杂查询或者数据转换。例如,$gt表示查询语言的大于操作符。
  • oplog:一个限制集合,存储着对MongoDB数据库的逻辑写顺序历史。操作日志是MongoDB中使用复制集的基本机制。
  • optime:从3.2版本中开始修改,下面描述了从MongoDB 3.2开始引入的协议版本1的操作时间形式。复制集操作日志中位置的应用,操作时间值是一个文档包含:
    • ts,操作的时间戳
    • t,主节点上最开始生成操作的术语,如果使用的是协议版本:0,那么t等于-1
  • ordered query plan:一个返回顺序结果的查询计划,与sort()顺序保持一致。
  • orphaned document:在一个分片集群中,孤立的文档是指哪些在一个分片上同时也存在于其它分片的块上的文档,由于失败的迁移或者由于非正常关闭导致的不完整的迁移清楚。使用cleanupOrphaned删除孤立文档以释放磁盘空间减少混淆。
  • padding:磁盘上分配给文档的额外空间以避免在update()操作时需要移动文档的情况。
  • padding factor:一个自动校正的常数,用来确定MongoDB应该为每个文档容器分配多少磁盘上的额外空间。填充因子1表示MongoDB将会只分配该文档需要的磁盘空间。填充因子2表示MongoDB将会分配文档所需空间的2倍。
  • page fault:使用MMAPv1存储引擎时,分页错误可能会在MongoDB从数据文件中读取或写入文件,而这些文件目前不在物理内存中的情况下发生。相反地,在物理内存用完,物理内存的页面被切换到磁盘中时,会发生操作系统的分页错误。
  • passive member:当复制集成员的members[n].priority被设置为0时,复制集的成员无法成为主节点。
  • pcap:一个mongoreplay可以用来生成BSON形式回放文件的报文获取形式,用来在另一个MongoDB实例中回放。
  • PID:进程标识。Unix类似的操作系统会给每一个进程分配一个唯一的整型PID。我们可以使用PID来查看一个运行中的进程和向它发送信号。
  • pipe:UNIX之类的系统中的通信通道,允许独立的进程发送和接收数据。在UNIX shell中,管道的操作允许用户将一个命令的输出作为另一个的输入。
  • pipeline:在一个聚合进程中的一系列操作。
  • Point: GeoJSON点声明中描述的单一坐标对。
  • Polygon:线性环坐标数组的数组。对于多个环组成的多边形,第一个必须是外部环而其它的必须是内部环或洞。MongoDB不允许外部环自交叉。内部环必须完全包含在外部循环中,并且不能与其它交叉或覆盖。
  • powerOf2Sizes:一个预先分配的设置会修改和归一化MongoDB为每个文档分配的空间的方式,以最大化存储重用和减少碎片。这对TTL集合是默认的。
  • pre-splitting:在插入数据之前的操作,将可能的片键值范围分割到数据块中,以方便简单插入和高的写吞吐。在一些情况下,预分割通过手动分割集合来加速分片集群中的文档初始分布,而不是等待MongoDB的均衡器来实现。
  • prefix compression:通过只存储每内存页任何单一的索引键前缀一次来降低内存和磁盘消耗。
  • primary:在复制集中,主节点成员是当前的主实例,接收所有的写操作。
  • primary key:记录的唯一不变表示。在一个关系型数据库管理系统中,主键是存储在每行的id字段中的整数。在MongoDB中,_id字段保存着文档的主键,一般是一个BSON ObjectId
  • primary shard:存储所有未分片集合的分片。
  • priority:一个可以帮助确定复制集中哪个成员最有可能成为主节点的可配置值。
  • privilege:对资源的特定资源和行为的组合。
  • projection:给定一个查询指定MongoDB在结果集中返回哪些字段的文档。
  • query:一个读请求。MongoDB使用一个JSON形式的查询语言来包含一系列的查询操作符,以$字符开头的名称。在mongo shell中,我们可以使用db.collection.find()db.collection.findOne()方法来发送查询。
  • query optimizer:生成查询计划的进程。对于每个查询,优化器生成能够匹配查询的计划来对返回结果进行索引的查询,以保证查询速度尽可能高效。优化器会在每次查询运行时重用查询计划。如果一个集合有重大变化,优化器会创建一个新的查询计划。
  • query shape:查询谓语、排序、映射声明的组合。对于查询谓语,只有谓语的结构是重要的,包含字段名称;查询谓语中的参数值是不重要的。因此,对于一个查询形状而言,一个查询谓语{type: 'food'}等价于查询谓语{type:'utensil'}
  • RDBMS:关系型数据库管理系统。一个基于关系模型的数据库管理系统,一般使用SQL作为查询语言。
  • read concern:指定读操作的隔离等级。例如,我们可以使用读关注来只从已经传播给复制集中大多数节点的数据中读取。
  • read lock:某个资源上的共享锁例如集合或者数据库,在获得读锁时,允许并发读,但是不允许写。
  • read preference:决定客户端如何连接读操作的设置。读偏好影响所有复制集,包括分片复制集。默认地,MongoDB将所有的读导到主节点。然而,为了最终的一致性读,我们也可能将读导到从节点。
  • record size:为文档分配的空间,包含填充。
  • 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:给定复制集的随意名称。复制集的所有成员必须有相同的名称,通过replSetName配置或者--replSet选项来设置。
  • shard:一个单一的mongod实例或者存储着分片集群整个数据集一些部分的复制集。在生产环境中,所有分片应该都是复制集。
  • shard key:MongoDB使用的字段来在分片集群之间分发文档。
  • sharded cluster:组成分片MongoDB部署的节点集合。一个分片集群由配置服务器、分片以及一个或多个mongos路由进程组成。
  • sharding:一个数据库架构,将数据通过键范围进行分割并且在两个或多个数据库实例上进行分发。分片提供了水平拓展的功能。
  • shell helper:mongo shell中的方法,可以提供关于数据库命令更加明确的语义。Shell 帮助提高了一般的交互式体验。
  • single-master replication:复制集拓扑,只有一个单一的数据库实例接收写。单一的主节点复制保证了一致性,是MongoDB使用的复制拓扑。
  • slave:一个在传统的主从复制中从主节点数据库中复制的只读的数据库。在MongoDB中,在大部分情况下,复制集替换了主从复制。
  • snappy:一个用来均衡计算需求和合理压缩速率的压缩/解压缩库。Snappy是MongoDB使用WiredTiger的默认压缩库。
  • split:分片集群中数据块的分割。
  • SQL:结构化查询语言(SQL)是一个通用的、特定目的的编程语言,用来于关系型数据库进行交互,包括存取控制、插入、更新、查询和删除。不同的数据库产商会支持基础的SQL语义中的一些相同元素,但是大部分实现由它们自己的语言、数据类型和使用SQL标准的编译。复杂的SQL在大多数关系型数据库管理产品中一般是不能直接交换的。SQL一般被用于关系型数据库的转喻。
  • SSD:固态硬盘。一个高性能的磁盘驱动,使用固态电子产品用于持久化,与使用创痛机械硬驱动的旋转磁盘和可变读写头相反。
  • standalone:一个mongod的实例,运行为一个单一的服务器,而不作为复制集的一个部分。
  • storage engine:数据库用于管理数据如何存储和获取的数据库部分,同时在内存和磁盘中。不同的存储引擎对特定的工作负载可以表现更好。
  • storage order:可以参考自然顺序。
  • strict consistency:分布式系统中要求所有成员总是能够向系统返回数据库最新变化的属性。在一个数据库系统中,这意味着任何提供数据的系统都必须随时得到最新的写入。
  • sync:成员从主节点中复制数据的复制集操作。当MongoDB创建或恢复成员时首先发生同步,被称为初始化并发。然后并发持续发生以保持成员得到复制集数据最近的更新。
  • syslog:在UNIX之类的系统中,一个日志进程,提供一个服务器和进程提交日志信息的统一标准。MongoDB提供了一个选项来向主机的系统日志系统发送输出。
  • tag:被应用于复制集成员的标签,客户端用来发送数据中心意识操作。从3.4版本来时,分片集群空间替代了tags
  • tag set:包含0个或多个标签的文档。
  • tailable cursor:对于限制集合,一个追踪游标在客户端使用完原始游标中的结果之后保持开放。随着客户端向限制集合中插入新的文档,可追踪游标继续检索文档。
  • term:对于复制集成员,一个与选举次数相关的自增数。
  • topology:MongoDB实例的部署状态,包括部署的类型(例如,单机、复制集或者分片集群)以及服务器的可用性,以及每个服务器的角色(例如,主节点,从节点,配置服务器或者mongos)。
  • TSV:一个基于文本的数据形式,由tab分割的值组成。这种格式一般用来在关系型数据库之间交换数据,因为这种格式非常适用于表格数据。我们可以使用mongoimport导入TSV文件。
  • TTL:表示存活时间,表示针对一个给定信息片段在系统删除或使其过期之前保存在缓存或其它临时存储的过期时间或时间段。MongoDB有一个TTL集合功能。
  • unique index:一个在单一集合上针对某一特定字段要求唯一性的索引。
  • unix epoch:1970年1月1日 0:00:00 UTC。 一般用于表示时间,距离这个时间点的秒数或毫秒数。
  • unordered query plan:一个以sort()排序结果不一致的顺序返回结果的查询计划。
  • upsert:更新操作的选项,例如,db.collection.update()db.collection.findAndModify()等。如果该选项被设置为true,那么更新操作将会进行如下操作:如果有文档匹配特定的查询那么更新该文档,如果没有则插入一个新文档。新文档将会拥有该操作中标识的字段。
  • virtual memory:应用的工作内存,一般同时位于磁盘和物理RAM中。
  • WGS84:默认的参照系统,MongoDB使用的测地学数据对像地球一样的球体针对GeoJSON对象的地理空间查询计算地理数据。
  • working set:MongoDB最经常使用的数据。一般该数据更倾向于存储在RAM、固态硬盘(SSD)或者其它快媒介中。
  • write concern:声明一个写操作是否成功。写关注允许我们的应用检测插入错误或不可用的mongod实例。对于复制集,我们可以配置写关注来确认复制到指定数目的成员。
  • write conflict:两个并发操作的情形下,至少一个操作时写入,尝试以可能会违反由使用乐观并发控制的存储引起引发的限制来使用的资源。MongoDB将会透明地泛起和重试其中的一个冲突操作。
  • write lock:资源上(集合或数据库)的排它锁。当进程向资源中写入时,会启动一个排它写入锁来组织其它进程从该资源上读取或写入。
  • writeBacks:分片系统中的进程,保证发送给分片的写入发送到合适分片上的相关数据块。
  • zlib:一个数据压缩库,在与MongoDB使用的snappy相比,消耗更多CPU的情况下提供更高的压缩率。我们可以配置WiredTiger使用zlib作为其压缩库。
  • zone:从3.4版本开始,对于一个给定分片集合,基于片键值的范围对文档进行分组。每个分片集群上的分片可以与一个或多个区域相关联。在一个均衡的集群中,MongoDB将读和写导入到这些区域中的分片。区域提到了MongoDB 3.2中提到的标签的功能。

其它

打赏

mickey

记录生活,写给几十年后的自己。