asp.net web api 2 for mvc developers pdf : Batch merge pdf application software utility azure windows winforms visual studio mongodb_%20the%20definitive%20guide%20-%20kristina%20chodorow_14011-part1753

The Balancer                                                                                                                   253
15. Choosing a Shard Key. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  257
Taking Stock of Your Usage                                                                                          257
Picturing Distributions                                                                                                 258
Ascending Shard Keys                                                                                               258
Randomly Distributed Shard Keys                                                                          261
Location-Based Shard Keys                                                                                      263
Shard Key Strategies                                                                                                      264
Hashed Shard Key                                                                                                      264
Hashed Shard Keys for GridFS                                                                                 266
The Firehose Strategy                                                                                                267
Multi-Hotspot                                                                                                             268
Shard Key Rules and Guidelines                                                                                  271
Shard Key Limitations                                                                                               271
Shard Key Cardinality                                                                                               271
Controlling Data Distribution                                                                                     271
Using a Cluster for Multiple Databases and Collections                                      272
Manual Sharding                                                                                                        273
16. Sharding Administration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  275
Seeing the Current State                                                                                                275
Getting a Summary with sh.status                                                                           275
Seeing Configuration Information                                                                          277
Tracking Network Connections                                                                                   283
Getting Connection Statistics                                                                                   283
Limiting the Number of Connections                                                                     284
Server Administration                                                                                                   285
Adding Servers                                                                                                           285
Changing Servers in a Shard                                                                                    285
Removing a Shard                                                                                                      286
Changing Config Servers                                                                                          288
Balancing Data                                                                                                               289
The Balancer                                                                                                               289
Changing Chunk Size                                                                                                290
Moving Chunks                                                                                                          291
Jumbo Chunks                                                                                                            292
Refreshing Configurations                                                                                        295
Part V. Application Administration
Table of Contents | ix
Batch merge pdf - Merge, append PDF files in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Provide C# Demo Codes for Merging and Appending PDF Document
combine pdf files; adding pdf pages together
Batch merge pdf - VB.NET PDF File Merge Library: Merge, append PDF files in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
VB.NET Guide and Sample Codes to Merge PDF Documents in .NET Project
merge pdf files; pdf combine
17. Seeing What Your Application Is Doing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  299
Seeing the Current Operations                                                                                    299
Finding Problematic Operations                                                                             301
Killing Operations                                                                                                      301
False Positives                                                                                                             302
Preventing Phantom Operations                                                                             302
Using the System Profiler                                                                                             302
Calculating Sizes                                                                                                            305
Documents                                                                                                                  305
Collections                                                                                                                   305
Databases                                                                                                                     306
Using mongotop and mongostat                                                                                 307
18. Data Administration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  311
Setting Up Authentication                                                                                            311
Authentication Basics                                                                                                312
Setting Up Authentication                                                                                        314
How Authentication Works                                                                                      314
Creating and Deleting Indexes                                                                                    315
Creating an Index on a Standalone Server                                                             315
Creating an Index on a Replica Set                                                                          315
Creating an Index on a Sharded Cluster                                                                 316
Removing Indexes                                                                                                      316
Beware of the OOM Killer                                                                                        317
Preheating Data                                                                                                              317
Moving Databases into RAM                                                                                   317
Moving Collections into RAM                                                                                 318
Custom-Preheating                                                                                                    318
Compacting Data                                                                                                           320
Moving Collections                                                                                                       321
Preallocating Data Files                                                                                                 322
19. Durabilit 323
What Journaling Does                                                                                                   323
Planning Commit Batches                                                                                        324
Setting Commit Intervals                                                                                          325
Turning Off Journaling                                                                                                 325
Replacing Data Files                                                                                                   325
Repairing Data Files                                                                                                   325
The mongod.lock File                                                                                                326
Sneaky Unclean Shutdowns                                                                                      327
What MongoDB Does Not Guarantee                                                                        327
x | Table of Contents
VB.NET Image: PDF to Image Converter, Convert Batch PDF Pages to
VB.NET Imaging - Convert PDF to Image Using VB. VB.NET Code for Converting PDF to Image within .NET Imaging Converting SDK. Visual
pdf combine files online; pdf mail merge
Convert Images, Batch Conversion in .NET Winfroms| Online
VB.NET File: Merge PDF; VB.NET File: Split PDF Generator. PDF Reader. Twain Scanning. DICOM Reading. speed; Include single image conversion; Support batch conversion
pdf merger; c# merge pdf files
Checking for Corruption                                                                                              327
Durability with Replication                                                                                          329
Part VI. Server Administration
20. Starting and Stopping MongoDB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  333
Starting from the Command Line                                                                               333
File-Based Configuration                                                                                          336
Stopping MongoDB                                                                                                       336
337
Data Encryption                                                                                                         338
SSL Connections                                                                                                        338
338
21. Monitoring MongoDB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  341
Monitoring Memory Usage                                                                                          341
Introduction to Computer Memory                                                                        341
Tracking Memory Usage                                                                                           342
Tracking Page Faults                                                                                                  343
Minimizing Btree Misses                                                                                          345
IO Wait                                                                                                                        346
Tracking Background Flush Averages                                                                     346
Calculating the Working Set                                                                                         348
Some Working Set Examples                                                                                    350
Tracking Performance                                                                                                   350
Tracking Free Space                                                                                                   352
Monitoring Replication                                                                                                 353
22. Making Backups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  357
Backing Up a Server                                                                                                      357
Filesystem Snapshot                                                                                                   357
Copying Data Files                                                                                                     358
Using mongodump                                                                                                    359
Backing Up a Replica Set                                                                                              361
Backing Up a Sharded Cluster                                                                                     362
Backing Up and Restoring an Entire Cluster                                                         362
Backing Up and Restoring a Single Shard                                                              362
Creating Incremental Backups with mongooplog                                                    363
23. Deploying MongoDB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  365
Designing the System                                                                                                    365
Table of Contents | xi
Convert Image & Documents Formats in Web Viewer| Online Tutorials
VB.NET File: Merge PDF; VB.NET File: Split PDF Generator. PDF Reader. Twain Scanning. DICOM Reading. Support for single conversion; Include batch conversion; Convert
reader combine pdf; add pdf files together
C# PDF: Use C# APIs to Control Fully on PDF Rendering Process
toolkit, users are able to control rendered image resolution, region size of PDF page or rendered picture, as well as batch or individual PDF to image
best pdf combiner; all jpg to one pdf converter
Choosing a Storage Medium                                                                                    365
Recommended RAID Configurations                                                                     369
370
Choosing an Operating System                                                                                370
Swap Space                                                                                                                  371
Filesystem                                                                                                                    371
Virtualization                                                                                                                  372
Turn Off Memory Overcommitting                                                                        372
Mystery Memory                                                                                                        372
Handling Network Disk IO Issues                                                                           373
Using Non-Networked Disks                                                                                   374
Configuring System Settings                                                                                        374
Turning Off NUMA                                                                                                   374
Setting a Sane Readahead                                                                                          377
Disabling Hugepages                                                                                                 378
Choosing a Disk Scheduling Algorithm                                                                 379
Don’t Track Access Time                                                                                           380
Modifying Limits                                                                                                        380
Configuring Your Network                                                                                          382
System Housekeeping                                                                                                   383
Synchronizing Clocks                                                                                                383
The OOM Killer                                                                                                         383
Turn Off Periodic Tasks                                                                                             384
A.  385
B.MongoDB Internals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  389
Inde 393
xii | Table of Contents
VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to
NET convert PDF to Jpeg, VB.NET compress PDF, VB.NET print PDF, VB.NET merge PDF files, VB Professional .NET PDF converter control for batch conversion.
split pdf into multiple files; asp.net merge pdf files
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
text from PDF, VB.NET convert PDF to Jpeg, VB.NET compress PDF, VB.NET print PDF, VB.NET merge PDF files, VB.NET Professional .NET PDF batch conversion control.
append pdf; pdf mail merge plug in
Foreword
In the last 10 years, the Internet has challenged relational databases in ways nobody
could have foreseen. Having used MySQL at large and growing Internet companies
during this time, I’ve seen this happen firsthand. First you have a single server with a
small data set. Then you find yourself setting up replication so you can scale out reads
and deal with potential failures. And, before too long, you’ve added a caching layer,
tuned all the queries, and thrown even more hardware at the problem.
Eventually you arrive at the point when you need to shard the data across multiple
clusters and rebuild a ton of application logic to deal with it. And soon after that you
realize that you’re locked into the schema you modeled so many months before.
Why? Because there’s so much data in your clusters now that altering the schema will
take a long time and involve a lot of precious DBA time. It’s easier just to work around
it in code. This can keep a small team of developers busy for many months. In the end,
you’ll always find yourself wondering if there’s a better way—or why more of these
features are not built into the core database server.
Keeping with tradition, the Open Source community has created a plethora of “better
ways” in response to the ballooning data needs of modern web applications. They span
the spectrum from simple in-memory key/value stores to complicated SQL-speaking
MySQL/InnoDB derivatives. But the sheer number of choices has made finding the right
solution more difficult. I’ve looked at many of them.
I was drawn to MongoDB by its pragmatic approach. MongoDB doesn’t try to be ev‐
erything to everyone. Instead it strikes the right balance between features and com‐
plexity, with a clear bias toward making previously difficult tasks far easier. In other
words, it has the features that really matter to the vast majority of today’s web applica‐
tions: indexes, replication, sharding, a rich query syntax, and a very flexible data model.
All of this comes without sacrificing speed.
Like MongoDB itself, this book is very straightforward and approachable. New
MongoDB users can start with Chapter 1 and be up and running in no time. Experienced
xiii
C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
NET. .NET library to batch convert PDF files to jpg image files. High quality jpeg file can be exported from PDF in .NET framework.
batch merge pdf; acrobat combine pdf files
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
fonts fast. Professional .NET PDF converter component for batch conversion. Merge all Excel sheets to one PDF file in VB.NET. Change
pdf combine pages; add pdf together
users will appreciate this book’s breadth and authority. It’s a solid reference for advanced
administrative topics such as replication, backups, and sharding, as well as popular client
APIs.
Having recently started to use MongoDB in my day job, I have no doubt that this book
will be at my side for the entire journey—from the first install to production deployment
of a sharded and replicated cluster. It’s an essential reference to anyone seriously looking
at using MongoDB.
—Jeremy Zawodny
Craigslist Software Engineer
August 2010
xiv | Foreword
Preface
How This Book Is Organized
This book is split up into six sections, covering development, administration, and de‐
ployment information.
Getting Started with MongoDB
In Chapter 1 we provide background about MongoDB: why it was created, the goals it
is trying to accomplish, and why you might choose to use it for a project. We go into
more detail in Chapter 2, which provides an introduction to the core concepts and
vocabulary of MongoDB. Chapter 2 also provides a first look at working with MongoDB,
getting you started with the database and the shell. The next two chapters cover the
basic material that developers need to know to work with MongoDB. In Chapter 3, we
describe how to perform those basic write operations, including how to do them with
different levels of safety and speed. Chapter 4 explains how to find documents and create
complex queries. This chapter also covers how to iterate through results and gives op‐
tions for limiting, skipping, and sorting results.
Developing with MongoDB
Chapter 5 covers what indexing is and how to index your MongoDB collections. Chap‐
ter 6 explains how to use several special types of indexes and collections. Chapter 7
covers a number of techniques for aggregating data with MongoDB, including counting,
finding distinct values, grouping documents, the aggregation framework, and using
MapReduce. Finally, this section finishes with a chapter on designing your application:
Chapter 8 goes over tips for writing an application that works well with MongoDB.
xv
Replication
The replication section starts with Chapter 9, which gives you a quick way to set up a
replica set locally and covers many of the available configuration options. Chapter 10
then covers the various concepts related to replication. Chapter 11 shows how replica‐
tion interacts with your application and Chapter 12 covers the administrative aspects
of running a replica set.
Sharding
The sharding section starts in Chapter 13 with a quick local setup. Chapter 14 then gives
an overview of the components of the cluster and how to set them up. Chapter 15 has
advice on choosing a shard key for a variety of application. Finally, Chapter 16 covers
administering a sharded cluster.
Application Administration
The next two chapters cover many aspects of MongoDB administration from the per‐
spective of your application. Chapter 17 discusses how to introspect what MongoDB is
doing. Chapter 18 covers administrative tasks such as building indexes, and moving
and compacting data. Chapter 19 explains how MongoDB stores data durably.
Server Administration
The final section is focused on server administration. Chapter 20 covers common op‐
tions when starting and stopping MongoDB. Chapter 21 discusses what to look for and
how to read stats when monitoring. Chapter 22 describes how to take and restore back‐
ups for each type of deployment. Finally, Chapter 23 discusses a number of system
settings to keep in mind when deploying MongoDB.
Appendixes
Appendix A explains MongoDB’s versioning scheme and how to install it on Windows,
OS X, and Linux. Appendix B details ow MongoDB works internally: its storage engine,
data format, and wire protocol.
Conventions Used in This Book
The following typographical conventions are used in this book:
Italic
Indicates new terms, URLs, email addresses, collection names, database names,
filenames, and file extensions.
xvi | Preface
Constant width
Used for program listings, as well as within paragraphs to refer to program elements
such as variable or function names, command-line utilities, environment variables,
statements, and keywords.
Constant width bold
Shows commands or other text that should be typed literally by the user.
Constant width italic
Shows text that should be replaced with user-supplied values or by values deter‐
mined by context.
This icon signifies a tip, suggestion, or general note.
This icon indicates a warning or caution.
Using Code Examples
This book can help you get your job done. In general, you may use the code in this book
in your programs and documentation. You do not need to contact us for permission
unless you’re reproducing a significant portion of the code. For example, writing a pro‐
gram that uses several chunks of code from this book does not require permission.
Selling or distributing a CD-ROM of examples from O’Reilly books does require per‐
mission. Answering a question by citing this book and quoting example code does not
require permission. Incorporating a significant amount of example code from this book
into your product’s documentation does require permission.
We appreciate, but do not require, attribution. An attribution usually includes the
title, author, publisher, and ISBN. For example: “MongoDB: The Definitive Guide, Sec‐
ond Edition by Kristina Chodorow (O’Reilly). Copyright 2013 Kristina Chodorow,
978-1-449-34468-9.”
If you feel your use of code examples falls outside fair use or the permission given here,
feel free to contact us at permissions@oreilly.com.
Preface | xvii
Safari® Books Online
Safari Books Online (www.safaribooksonline.com) is an on-demand
digital library that delivers expert content in both book and video
form from the world’s leading authors in technology and business.
Technology professionals, software developers, web designers, and business and crea‐
tive professionals use Safari Books Online as their primary resource for research, prob‐
lem solving, learning, and certification training.
Safari Books Online offers a range of product mixes and pricing programs for organi‐
zationsgovernment agencies, and individuals. Subscribers have access to thousands of
books, training videos, and prepublication manuscripts in one fully searchable database
from publishers like O’Reilly Media, Prentice Hall Professional, Addison-Wesley Pro‐
fessional, Microsoft Press, Sams, Que, Peachpit Press, Focal Press, Cisco Press, John
Wiley & Sons, Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT
Press, Apress, Manning, New Riders, McGraw-Hill, Jones & Bartlett, Course Technol‐
ogy, and dozens more. For more information about Safari Books Online, please visit us
online.
How to Contact Us
Please address comments and questions concerning this book to the publisher:
O’Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
800-998-9938 (in the United States or Canada)
707-829-0515 (international or local)
707 829-0104 (fax)
We have a web page for this book, where we list errata, examples, and any additional
information. You can access this page at:
http://oreil.ly/mongodb-2e
To comment or ask technical questions about this book, send email to:
bookquestions@oreilly.com
For more information about our books, conferences, Resource Centers, and the O’Reilly
Network, see our website at:
http://www.oreilly.com
xviii | Preface
Documents you may be interested
Documents you may be interested