Skip to Content
MongoDB权威指南(第3版)
book

MongoDB权威指南(第3版)

by Shannon Bradshaw, Eoin Brazil, Kristina Chodorow
November 2021
Intermediate to advanced
410 pages
12h 1m
Chinese
Posts & Telecom Press
Content preview from MongoDB权威指南(第3版)
264
16
分片是为了提高读写吞吐量吗?(吞吐量指集群在同一时间可以处理的请求数量。例如,
集群可以在
20
毫秒内完成
1000
次写操作,
但你需要它在
20
毫秒内完成
5000
次写操作。)
提高吞吐量通常需要增加更多的并行化,并确保请求在集群中均匀分发。
分片是为了增加系统资源吗?(例如,每
GB
数据提供给
MongoDB
更多的
RAM
。)
果是这样,你可能会希望保持工作集尽可能小。
根据这些问题的答案来评估以下对片键的描述,以决定所选择的片键是否合适。它是否提
供了所需的目标查询?它是否按所需要的方式改变了系统的吞吐量或延迟?如果需要保持
一个紧凑的工作集,它可以提供吗?
16.2
 描绘分发情况
最常见的数据拆分方式是升序片键、随机分发的片键和基于位置的片键。也可以使用其他
类型的键,但大多数场景属于这三类之一。下面几节会讨论不同类型的分发方式。
16.2.1
 升序片键
升序片键通常类似于
"date"
字段或
ObjectId
——随着时间稳步增长的字段。自增主键是升
序字段的另一个例子,尽管它在
MongoDB
中并不常见(除非从另一个数据库导入)
假设按照升序字段进行分片,比如在集合中使用了
ObjectId
类型的
"_id"
键。如果在
"_id"
上进行分片,那么数据会根据
"_id"
的范围被拆分成多个块,如图
16-1
所示。这些
块会分发在整个分片集群中,假设有
3
个分片,如图
16-2
所示。
$minKey -> ObjectId("5112fa61b4a4b396960262")
ObjectId("5112fa61b4a4b39696 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

大数据项目管理:从规划到实现

大数据项目管理:从规划到实现

Ted Malaska, Jonathan Seidman
Go程序设计语言

Go程序设计语言

艾伦A. A.多诺万, 布莱恩W. 柯尼汉
Spark快速大数据分析(第2版)

Spark快速大数据分析(第2版)

Jules S. Damji, Brooke Wenig, Tathagata Das, Denny Lee
Kafka权威指南(第2版)

Kafka权威指南(第2版)

Gwen Shapira, Todd Palino, Rajini Sivaram, Krit Petty

Publisher Resources

ISBN: 9787115576538