Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mongo db first steps with csharp

Mongo db first steps with csharp

Avatar for Serdar Büyüktemiz

Serdar Büyüktemiz

October 30, 2012

More Decks by Serdar Büyüktemiz

Other Decks in Programming

Transcript

  1. Why MongoDB? • Popular  • Easy to use nosql

    • Good for web projects • High performance (No joins and embedding makes reads and writes fast) • High availability (Replicated servers with automatic master failover) • Easy scalability (Automatic sharding)
  2. RDBMS => MongoDB RDBMS MongoDB Table, View Collection Row JSON

    Document Index Index Join Embeded Document Partition Shard Partition Key Shard Key
  3. Connecting to MongoDB • If DB does not exists driver

    will create one for you • http://www.mongodb.org/display/DOCS/CSharp+Driver+Tutorial#CSharpDriverTut orial-Connectionstrings • mongodb://[username:password@]hostname[:port][/[database][?options]]
  4. What is BSON? • MongoDB uses BSON as the data

    storage and network transfer format for "documents". • Short for Binary JSON • http://bsonspec.org/ • http://www.mongodb.org/display/DOCS/BSON
  5. Working with POCOs • Things can be really easy for

    you if you follow these rules for your pocos – Has a public no-argument constructor – Has a public get set property for each value you want to have serialized
  6. A tip for better indexing • Run mongodb with notablescan

    parameter and be sure your your queries are not making full table scans... – You get exceptions if a query needs a table scan, it gives you a chance to fix your indexes on development time.
  7. Sources • http://www.mongodb.org/display/DOCS/Introduction • http://mongly.com/Multiple-Collections-Versus-Embedded-Documents/ • http://openmymind.net/mongodb.pdf • http://www.mongodb.org/display/DOCS/Padding+Factor •

    https://github.com/mongodb/mongo • http://www.codeproject.com/Articles/273145/Using-MongoDB-with-the- Official-Csharp-Driver • http://stackoverflow.com/questions/4067197/mongodb-and-joins • http://www.mongodb.org/display/DOCS/Schema+Design#SchemaDesign- EmbeddingandLinking • http://docs.mongodb.org/manual/applications/database-references/ • http://www.10gen.com/presentations?programming_lang=46 • https://speakerdeck.com/mongodb/whats-new-in-the-net-driver • http://learnmongo.com/