mongodb

Post on 18-Dec-2014

118 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

GROUP 1 | CMPE 281 | SJSU

WHAT IS MONGODB?

● HYBRID, INDEXABLE, DOCUMENT-ORIENTED

● REPLICATION, AUTO-SHARDING, MAP/REDUCE

● PARTIALLY STRUCTURED, NOT ENFORCED

● QUERY DATA, NO UNIQUE IDENTIFIER

● USES BINARY PROTOCOL

Sai

DESIGN FEATURES

● MAXIMUM AVAILABILITY

● EVENTUAL CONSISTENCY

● STAND-ALONE (SINGLE INSTANCE) VS. “SHARDED”

● MASTER-SLAVE APPROACH

● CONFIG SERVERS (MANAGERS)

● PROXIES (GATEWAY TO DATA)

Sai

STRUCTURE

• MONGOD: STORES DATA, BASIC PROCESS (STANDALONE, SHARDED)

• CONFIG-MONGOD: STORES LOCATION AND SIZE OF SHARDS

• MONGOS: PROXY ACCESSED BY USER (STATELESS)

Christoph

STRUCTURE

Christoph

WRITE CONCERNS

• 13 MODES

• NORMAL: RETURN AFTER FORWARDED

• SAFE: RETURN AFTER ONE STORED (RAM)

• FSYNC_SAFE: RETURN AFTER ONE STORED (PERSISTENT STORAGE)

• NONE: RETURN IMMEDIATELY

• (IGNORE_ERROR, REPLICA_ACKNOWLEDGED, …)

Christoph

CONSISTENCY

• CONFIG SERVERS

o TWO-PHASE COMMIT

o SYNCHRONOUS REPLICATION

o READ-ONLY MODE IN EVENT OF FAILURE

• SHARDS

o REPLICATED NODES

o SELF AUTO LOAD BALANCING

Chi

SCALING

● ADDING SHARDING SERVERS

● ADDING CONFIG SERVERS

● ADDING PROXIES

● TUNING CONSISTENCY

Chi

TRADE OFFS

• AVAILABILITY AT THE PRICE OF CONSISTENCY

• MULTIPLE NODES WITH EVENTUAL CONSISTENCY

• PRE-ALLOCATION VS. FILE SYSTEM FRAGMENTATION

Chi

TRADE OFFS

Sai

DEMO

starting the service

starting the prompt

getting info

about current

database

showing other

available

databases

switching to

database

(created if not

existent)

defining

documents

inserting

documents

performing

query without

criteria

performing query with simple criteria

using $in command

performing query with nested command using $in and

$or

updating entry matching specific criteria (adding field

“age”)

removing entry matching criteria from database

top related