Muutke küpsiste eelistusi

E-raamat: MongoDB Topology Design: Scalability, Security, and Compliance on a Global Scale

Teised raamatud teemal:
  • Formaat - PDF+DRM
  • Hind: 67,91 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
Teised raamatud teemal:

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Intermediate-Advanced user level

Create a world-class MongoDB cluster that is scalable, reliable, and secure. Comply with mission-critical regulatory regimes such as the European Union’s General Data Protection Regulation (GDPR). Whether you are thinking of migrating to MongoDB or need to meet legal requirements for an existing self-managed cluster, this book has you covered. It begins with the basics of replication and sharding, and quickly scales up to cover everything you need to know to control your data and keep it safe from unexpected data loss or downtime.

This book covers best practices for stable MongoDB deployments. For example, a well-designed MongoDB cluster should have no single point of failure. The book covers common use cases when only one or two data centers are available. It goes into detail about creating geopolitical sharding configurations to cover the most stringent data protection regulation compliance. The book also covers different tools and approaches for automating and monitoring a cluster with Kubernetes, Docker, and popular cloud provider containers. 


What You Will Learn
  • Get started with the basics of MongoDB clusters
  • Protect and monitor a MongoDB deployment
  • Deepen your expertise around replication and sharding
  • Keep effective backups and plan ahead for disaster recovery
  • Recognize and avoid problems that can occur in distributed databases
  • Build optimal MongoDB deployments within hardware and data center limitations

Who This Book Is For

Solutions architects, DevOps architects and engineers, automation and cloud engineers, and database administrators who are new to MongoDB and distributed databases or who need to scale up simple deployments. This book is a complete guide to planning a deployment for optimal resilience, performance, and scaling, and covers all the details required to meet the new set of data protection regulations such as the GDPR. This book is particularly relevant for large global organizations such as financial and medical institutions, as well as government departments that need to control data in the whole stack and are prohibited from using managed cloud services.

About the Author xvii
About the Technical Reviewer xix
Acknowledgments xxi
Chapter 1 Core Concepts
1(30)
Key features of MongoDB
1(1)
Differences to "traditional databases"
2(5)
Terminology
2(1)
Storage engines
3(1)
Concurrency
4(1)
Relationships
5(2)
ACID compliance
7(3)
Atomicity
7(1)
Consistency
8(1)
Isolation
8(2)
Durability
10(1)
Scaling
10(2)
Replication
12(5)
Syncing
12(1)
Elections
13(1)
Lag/staleness
13(1)
Oplog window
14(1)
Read preference
14(1)
States
15(2)
Sharding
17(6)
Chunks
18(1)
Choice of shard key
19(1)
Balancer
20(1)
Shard distribution
20(1)
Pre-splitting
21(1)
Ascending shard keys and hot shards
22(1)
Architecture choices
23(5)
Computing resources
24(1)
Bandwidth and latency
25(2)
Private vs. cloud
27(1)
Logical databases
28(1)
Key takeaways
28(3)
Chapter 2 Fault-Tolerant Design
31(24)
Special nodes
31(5)
Arbiters
31(1)
Hidden secondary
32(1)
Delayed secondary
33(1)
Nonvoting secondary
34(2)
Avoiding failure
36(8)
Points of failure
37(1)
Reserve capacity
37(1)
Automatic failover
37(1)
Designing for flexibility
38(2)
Auto-discovery
40(1)
Planned downtime
40(1)
Multiple routers
40(2)
Rolling maintenance
42(1)
Tooling failover
43(1)
Failure scenarios
44(6)
Network partition
44(2)
Hardware failure
46(1)
Remote DC failure
46(1)
Storage volume failure
47(1)
Network degradation
48(1)
Shared VM hosts
49(1)
Shared storage area network
50(1)
Unbalanced hardware
50(2)
Key takeaways
52(3)
Chapter 3 Security
55(20)
Local access
55(1)
Network hardening
56(3)
Firewalls with iptables
56(2)
Limit interfaces with bindlp
58(1)
Customize ports
58(1)
Filesystem
59(1)
Authentication
59(5)
Passwords vs. keyfiles
59(1)
Keyfiles
60(1)
X.509 certificates
61(1)
Client authentication
61(3)
Encrypted connections
64(1)
TLS 1.2
65(1)
Encryption at rest
65(2)
Backups
66(1)
Auditing, obfuscation of logs
67(2)
Proactive security
69(1)
Server-side JavaScript
69(2)
Input validation and injection attacks
69(1)
$Where Operator
70(1)
SELinux
71(1)
Binary monitoring
72(1)
Certification
73(1)
Checklist
73(2)
Chapter 4 Compliance and GDPR
75(24)
General Data Protection Regulation
76(1)
Privacy by design
76(1)
Caveats
76(1)
Data protection
77(2)
Key concepts
77(1)
Personally identifiable information
77(1)
Definitions
78(1)
Representatives
79(1)
Data portability
79(1)
Data size
80(1)
Retention of personal data
80(3)
Automatic removal
81(1)
Custom redaction
81(1)
Right to be forgotten
82(1)
Dataflows
83(2)
Processing data
84(1)
End-to-end data encryption
85(1)
Data storage
85(4)
Data mapping
85(1)
Auditing changes
86(1)
Validation
86(1)
Pseudonymization
86(2)
Generalizing data
88(1)
Encryption at rest
88(1)
Backups
88(1)
Regulations around the world
89(3)
US healthcare
90(1)
California
90(1)
India
90(1)
Canada
91(1)
China
91(1)
Russia
91(1)
Design recommendations
92(5)
Field-level encryption
92(1)
Views
93(1)
Separate permissions
94(1)
Data leaks
95(1)
Minimize vulnerabilities
96(1)
Summary
97(2)
Chapter 5 Basic Topologies
99(26)
Introduction
99(1)
Co-locating nodes
100(1)
Communications between components
101(7)
Connections and heartbeats
101(1)
Routing
101(4)
Write concerns
105(3)
Single data center
108(1)
Two data centers
109(1)
Two data centers (plus cloud arbiter)
110(6)
Manual intervention
112(2)
Reading and latency
114(2)
Three data center scenarios
116(2)
Load and performance testing
118(2)
Overloaded connections
118(1)
Timeouts
119(1)
Application back-off logic
119(1)
Retryable writes and reads
119(1)
Degraded testing
120(3)
Network saturation
120(1)
Common causes of packet loss
121(2)
Troubleshooting tips
123(1)
Ports
123(1)
Time zones
124(1)
Key takeaways
124(1)
Chapter 6 Global Topologies
125(26)
Key concepts
125(1)
Chunks, splitting, and migration
125(1)
Shard key
126(1)
Global sharding
126(2)
Bandwidth requirements
126(2)
Low-latency requirements
128(1)
Setting up a zoned cluster
128(15)
Defining zones
128(2)
Mapping zones to shards
130(1)
Adding new zones
131(1)
Adding new shards
131(1)
Gradual balancing
132(1)
Growing zones
133(1)
Redistributing zones
133(2)
Draining shards
135(1)
Check chunk distribution
136(5)
Check existing zones
141(1)
Move a zone
142(1)
Drain a shard
142(1)
Goal state
143(1)
State-level sharding
143(4)
Postcodes
143(3)
ISO 3166-2
146(1)
Reading and scatter-gather
147(1)
MongoDB Atlas
148(1)
Summary
149(1)
Key takeaways
150(1)
Chapter 7 Deployment and Monitoring
151(22)
The DevOps Toolkit
151(11)
Goals
151(1)
Community vs. Enterprise
151(2)
Challenges
153(1)
Framework choice
154(1)
Multi-cloud topologies
155(1)
Virtual machines
156(1)
Containers
157(1)
Docker
158(1)
Cloud-based container services
159(1)
Hyperconverged infrastructure
159(1)
Production requirements
160(1)
Operation system choices
161(1)
Virtual machines
161(1)
Kubernetes
162(1)
Tools
162(4)
Configuration management
163(1)
Ansible
163(1)
Puppet
163(1)
Chef
164(1)
On-prem comparison
164(1)
Automation
165(1)
Provisioning and orchestration
166(2)
Terraform
166(1)
CloudFormation
167(1)
Kubernetes operator
168(1)
Kubernetes for MongoDB Atlas
168(1)
Monitoring
168(3)
Evaluating failure
168(1)
Performance
168(2)
Alerting
170(1)
Prometheus
170(1)
Enterprise tools
170(1)
Key takeaways
171(2)
Chapter 8 Special Use Cases and Configurations
173(28)
Scaling with secondary reads
173(3)
Read preference
174(1)
Limit staleness
175(1)
Tag sets
175(1)
Advanced LDAP with pools
176(4)
Connection management
176(1)
Multiple LDAP servers
177(2)
Load balancer
179(1)
Connection timeouts
180(2)
Limit operation time
181(1)
Timeout details
181(1)
Hybrid cloud models
182(11)
Managing sensitive data
182(1)
Considerations
183(3)
Migration steps
186(6)
Custom write concerns
192(1)
Internet of Things
193(2)
Connection management
194(1)
Short-term connections
194(1)
Scaling writes
195(1)
In-memory storage
195(1)
Mobile data-bearing nodes
196(4)
Scenario
196(1)
Solution
197(3)
Key takeaways
200(1)
Chapter 9 Backups and Restores
201(18)
Goals
201(1)
Avoiding restores
202(2)
Testing environments
202(1)
Catching application errors
203(1)
Catching configuration errors
203(1)
Non-sharded clusters
204(7)
Full copy
204(1)
Taking snapshots
205(1)
mongodump
206(2)
Replica sets
208(1)
Delayed members
208(1)
Restore performance
209(2)
Sharded clusters
211(6)
Replication lag
211(1)
Config servers
212(1)
Pending chunk migrations
212(1)
Geographic sharding
212(1)
Backup steps for snapshots
213(2)
Restore steps from snapshots
215(2)
Conclusion
217(1)
Ops/Cloud Manager
217(1)
Point-in-time restores
217(1)
Other features
217(1)
Key takeaways
218(1)
Chapter 10 Advanced Sharding
219(20)
Indications for sharding
219(1)
Shard keys
219(6)
Hot shards
220(2)
Unique values
222(1)
Shard keys and unique fields
223(1)
Time-based shard keys
224(1)
Hashed shard keys
224(1)
Refining keys
225(1)
Advanced splitting
225(5)
Split early
225(4)
Bulk loading without pre-splitting
229(1)
Split existing shards
230(1)
Initial load
230(1)
Migration windows
231(1)
Mitosis
231(1)
Managing balancing
231(5)
Primary shard
231(1)
Rebalancing collections
232(2)
Throttling balancing impact
234(1)
Weekend workloads
235(1)
Managing storage
236(1)
Maximum storage size
236(1)
Determining actual storage size
236(1)
Key takeaways
237(2)
Chapter 11 Extreme Sharding
239(20)
Review
239(2)
More shards
239(1)
Advanced chunk splitting
239(2)
Shard key scenarios
241(7)
Read performance
241(4)
Write performance
245(3)
Multi-tenant architectures
248(2)
File handles
248(1)
Virtual machines
249(1)
Mixed architectures
250(3)
Encryption
250(1)
Migrate services
250(1)
Hidden costs
250(2)
Policy restrictions
252(1)
Scaling back a sharded cluster
253(3)
Relocating data
253(2)
Remove shard
255(1)
Shut down shard
256(1)
Extremely large clusters
256(1)
Config servers
256(1)
Key takeaways
256(3)
Index 259
Nic Cottrell has used MongoDB for many software development projects since version 2.0 and before joining the company in 2017. He worked as a consulting engineer, delivering training and helping enterprise customers optimize and scale their big data projects. He transitioned to a technical services role in late 2018, helping customers triage critical problems with their MongoDB deployments. Nic gives regular talks, including at MongoDB local events and at MongoDB World in NYC. He holds dual Australian and Swedish citizenship and lives in France.