BSON document format, 8, 38
data storage for CMS, 101
distributed operation design, 26
document size limit, 12, 13
effective use of, 23
embedding vs. referencing in, 3
full text index, 81
index design, 44
loading character data from, 145
mapreduce output modes, 68
multidocument transactions, 10
polymorphic schemas in, 17, 19
product catalog data, 78
query optimizer, 45
RAM in, 42
schema design flexibility, 14
storage efficiency, 21
update operators, 26
updating documents in, 20
vs. relational database model for product
catalogs, 75–80
vs. relational databases, 3, 23, 150
MongoEngine, 21
MongoKit, 21
mongos, 84, 100
monthly field, 54
monthly statistics, 70
multi option, 90
multiple collections, 51
multiple databases, 52
multistatement transactions, 9
N
news feeds, 134
nodes, 101, 109, 111
non-threaded comments, 116
nonce field, 104
normal forms, 4–6
normalization, 3
normalized schema, 10
normalizing data
for flexibility, 11
for high-arity relationships, 12
num_comment_pages property, 118
O
object-document mapper (ODM),
21
object-oriented (OO) programming, 17–20
ObjectID, 39, 49, 86
one-to-many relationships, 12, 14
online advertising networks
operations for, 123, 125, 127
schema design, 122, 124, 126
sharding for, 124, 126
solution overview, 121
online gaming
operations for, 144–151
schema design, 142
sharding for, 151
solution overview, 141
online shopping carts
adding items to, 93
checking out, 96
handling errors in, 98
modifying quantities in, 94
timed-out, 97
operational architecture
CMS comment storage, 111–119
CMS content storage, 104–110
event data storage, 39–48
hierarchical aggregated reports, 67–72
online advertising networks, 123, 125, 127
online gaming, 144–151
online shopping carts, 93–99
pre-aggregated reports, 59–63
product catalogs, 80–83
product categories, 86–90
social networking, 133–138
operational intelligence (see real-time analytics)
output modes for mapreduce, 68
P
page faults, 12
paginated comments, 113, 116, 118
patterns (see operational architecture)
photos, 21, 102, 107
plain-text logfiles, 37
polymorphic inheritance modeling, 18
polymorphic schemas
in MongoDB, 17
object-oriented programming, 17–20
schema evolution, 20
semi-structured domain data, 22
polymorphism, 17
positional operation $, 90, 95
posting new comments, 113, 115, 117
posting on social networking sites, 135, 136
158 | Index