MongoDBIntroduction to MongoDB
What is NoSQL?
A NoSQL database provides a mechanism for storage and retrieval of data that uses looser consistency models than traditional relational databases. -Wikipedia
CAP Theorem
Database Objects
● Database● Collection● Document● Index
Map it!
MongoDB SQL Server
Database Database
Collections Tables
Document Row
What is the document here?{
_id : 1,name : “Sam Walton”,age : 74,company :
[“Walmart”,”Walton Five”]
}
In MongoDB we use JSON to represent our data. Document is more like a record in Relational Databases.
{_id : 1,name : “Sam Walton”,age : 74,company :
{ name : ”walmart”}
}
Data Type
ObjectID - 12bytesNumberStringBooleanDate/Timenull
Designing
Denormalizing is ok?
Foreign keys? NOThen How?
Is it same for all NoSQL databases?
DEMO
Indexing
Can I create Secondary indexes?
Lots of indexes ? NO?
Full text search ?
Authentication
By default authentication is turned off in MongoDB. (So we have to turn it on!)
Users/Roles
SSL
Schema Injection
WriteConcern
Journaling (j)Basically log mechanism for durability
w optionYou can have -1,0,1... for this value. majority, n, tags-1 - No errors will be returned.0 - Server error will not be returned. But
Network,Socket errors would be reported.
Anything else?
SlaveOk
Sharding
Sample C# Codeusing MongoDB.Bson;using MongoDB.Driver;
String connectionString = "mongodb://localhost";MongoClient client = new MongoClient(connectionString);
MongoDatabase database = server.GetDatabase("blogging");
MongoCollection collection = database.GetCollection("blogs");
BsonDocument document = new BsonDocument();
document.Add("name", “Walton”);
document.Add("age", 74);
collection.Insert(document);
Connection String
http://docs.mongodb.org/manual/reference/connection-string/
mongodb://sysop:[email protected],example2.com,example3.com/?w=2&wtimeoutMS=2000
DEMO
Thank you!
Top Related