SlideShare a Scribd company logo
NoSqlFuture begins hereAuthor: Marjan NikolovskiDate: 2011-02-03
ContentNoSql as movementPros and ConsCategoriesMongo DB showcaseDiscussion
NoSql as movement“NoSQL is a term used to designate databases that differ from classic relational databases in some way”SchemalessNo “joins”
NoSql as movementSchemaless – means everything can be stored without order, type, structureNo “joins” – means normalization is not used to relate and retrieve the dataNoSql as movementInvented to cover what RDBMS could notFast write/read under heavy usage of a systemHighly distribution of dataBetter architecture of distributed systemsFun 
Cap TheoremCAP Theorem !!!“It is impossible for a distributed computer system to simultaneously provide all three of the following guarantees:	-	Consistency (all nodes see the same data at the same time)	-	Availability (node failures do not prevent survivors from continuing to operate)	-	Partition Tolerance (the system continues to operate despite arbitrary message loss)According to the theorem, a distributed system can satisfy any two of these guarantees at the same time, but not all three”
Cap Theorem - 2
Pros and Cons - 2PROSComplex objectsHigh-Volume Low-Value dataReal-time analysisOnline games (MMRPG)Search enginesScalable horizontally(sharding)RedundancyFlexibilityFaster developmentGeospatialCONSTransactions and distributedtransactions
Business IntelligencePros and ConsWhat are we architecting ???What are our options ???Result …
CategoriesUnder NoSql four main categories exists:Key / ValueBigTableDocumentGraph
Categories – Key / ValueWe can see on this type as distributed hash tableUsed for caching layersQuerying is done by key onlyHighly distributiveProducts:MemcachedProject VoldemortAmazon Dynamo
Categories - BigTableBigTable are step forward from Key/Value storesThere is some order in these stores and querying can be done by more paramsMore like the RDBMS that we now with excluded foreign key concept and with support each row to have different columnsProducts:Apache CassandraApache HBase
Categories – DocumentDocuments stores are json/xml based stores for objectsHighly queryableProductsMongoDBRavenDBApache CouchDB
Categories – GraphGraph stores store data in vortex connected with zero or more vortexes.Data is held in hashtable in each nodeRich objects are not supportedProductsNeo4jAllegroGraphInfoGrid
Categories – size/complexity*Complexity = Sophistication of data modeling
Mongo DB showcase - 1What isDocument storeFast, scalable and availableJSon – used for data hydratationDynamicStores data structured as documents instead of row as seen in RDBMSUses Query, Insert, Update and Remove for data manipulationUsed for adding data at high rates without “choking” the system
Mongo DB showcase - 2Internals of CoreMap files in memory (virtual)	Memory is allocated by namespaces Free space comes at the end of the structureEach document contains a header for traversal and position, body (document data) and paddingReplicationMaster/Slave and Replication sets architectureBoth require Master but Replication set vote for new master if the one dedicated for the job is unavailableCursorsResults can be of type cursor which can be iterated until cursor have 0 elements left
Mongo DB showcase - 3Documents inEach document can be of size max to 4mbEach document you insert into MongoDB will be assigned an id consisted of: This is a 12-byte value consisting of 4 parts: timestamp (4 bytes)machine identifier (3 bytes)process id (2 bytes)increment (3 bytes)in MongoDB, each document will contain not only the values, but the key names (~"column names" in relational db-speak) too. So if you have keys: “Username" and “Password", then those alone will add 16 bytes to each document.MongoDB automatically adds some padding to the documents to allow for documents to grow in size to try and reduce the need for documents to be moved around if they do grow
Mongo DB showcase - 4Map reduce andMap/Reduce is done via javascript
Mongo DB showcase - 5Simple usageOn win32 start mongod.exeStart mongo.exe test client for testing	db.Workers.insert({	_workerId: “936DA01F-9ABD-4d9d-80C7-02AF85C822A8”,	name: “XyZ”,  department: “services”,subdepartment: “.NET”});db.Workers.find({ name: “XyZ” });
Mongo DB showcase - 6Performance analyses
Mongo DB showcase - 7So how can we use it in .NET ???
Mongo DB showcase - 8Get Mongodb-csharp driverhttp://github.com/samus/mongodb-csharp/commits/master/Let’s start
SuggestionsCheck: The high scalability blogApache CassandraRanvenDB, .Net implementation of document storemysql performance blogCAP theorem
Discussion
Sponsored by
No sql - { If and Else }

More Related Content

What's hot (20)

PPTX
Mongo db
Raghu nath
 
PPTX
Introduction to mongodb
Mohammed Ragab
 
PPTX
MongoDB
Tharun Srinivasa
 
PDF
10 mongo db
Ahmed Elbassel
 
PPTX
Mongo db workshop # 01
FarhatParveen10
 
KEY
Mongodb intro
christkv
 
DOCX
MongoDB DOC v1.5
Tharun Srinivasa
 
PPTX
MongoDB-SESSION02
Jainul Musani
 
PPTX
MongoDB : Scaling, Security & Performance
Sasidhar Gogulapati
 
PPTX
Mongo db intro.pptx
JWORKS powered by Ordina
 
PDF
Mongodb
Thiago Veiga
 
PPTX
MongoDB-SESION01
Jainul Musani
 
PPTX
Introduction to MongoDB and CRUD operations
Anand Kumar
 
PDF
An introduction to MongoDB
César Trigo
 
PPTX
Mongodb basics and architecture
Bishal Khanal
 
PPTX
Introduction to MongoDB
NodeXperts
 
DOCX
Mongo db report
Hyphen Call
 
PPT
Intro to mongo db
Chi Lee
 
PPT
MongoDB Pros and Cons
johnrjenson
 
PPTX
MongoDB presentation
Hyphen Call
 
Mongo db
Raghu nath
 
Introduction to mongodb
Mohammed Ragab
 
10 mongo db
Ahmed Elbassel
 
Mongo db workshop # 01
FarhatParveen10
 
Mongodb intro
christkv
 
MongoDB DOC v1.5
Tharun Srinivasa
 
MongoDB-SESSION02
Jainul Musani
 
MongoDB : Scaling, Security & Performance
Sasidhar Gogulapati
 
Mongo db intro.pptx
JWORKS powered by Ordina
 
Mongodb
Thiago Veiga
 
MongoDB-SESION01
Jainul Musani
 
Introduction to MongoDB and CRUD operations
Anand Kumar
 
An introduction to MongoDB
César Trigo
 
Mongodb basics and architecture
Bishal Khanal
 
Introduction to MongoDB
NodeXperts
 
Mongo db report
Hyphen Call
 
Intro to mongo db
Chi Lee
 
MongoDB Pros and Cons
johnrjenson
 
MongoDB presentation
Hyphen Call
 

Viewers also liked (14)

PPTX
Skyrocketing to the cloud with Windows Azure
Marjan Nikolovski
 
PDF
country houses
Roberto Cappa
 
PPTX
Italy(power point)
Yukas2
 
PPTX
The attractions of italy
Tiffany Griffith
 
PPT
Veneer Plaster
DUDE MAN
 
PPTX
Band of brothers, building scalable social web apps on windows azure with asp...
Marjan Nikolovski
 
PPTX
High Performance Computing
Marjan Nikolovski
 
PDF
AUM - Are U Millennially-Minded IMCA
April Rudin
 
PDF
трц гатчина
realunique
 
KEY
Fringe Dance Tech
Sydney Skybetter
 
PPTX
Entity Framework 4
Marjan Nikolovski
 
PPTX
Down the rabbit hole - Error handling examined
Marjan Nikolovski
 
PPT
Jck
realunique
 
PDF
PROGETTI
Mohamed El-Zimeti
 
Skyrocketing to the cloud with Windows Azure
Marjan Nikolovski
 
country houses
Roberto Cappa
 
Italy(power point)
Yukas2
 
The attractions of italy
Tiffany Griffith
 
Veneer Plaster
DUDE MAN
 
Band of brothers, building scalable social web apps on windows azure with asp...
Marjan Nikolovski
 
High Performance Computing
Marjan Nikolovski
 
AUM - Are U Millennially-Minded IMCA
April Rudin
 
трц гатчина
realunique
 
Fringe Dance Tech
Sydney Skybetter
 
Entity Framework 4
Marjan Nikolovski
 
Down the rabbit hole - Error handling examined
Marjan Nikolovski
 
Ad

Similar to No sql - { If and Else } (20)

PPTX
Mongo db
Gyanendra Yadav
 
PDF
No sq lv1_0
Tuan Luong
 
PDF
MongoDB NoSQL database a deep dive -MyWhitePaper
Rajesh Kumar
 
PDF
Mongo db transcript
foliba
 
PPTX
MongoDB
Bembeng Arifin
 
PPTX
NOSQL and MongoDB Database
Tariqul islam
 
PDF
NOSQL in big data is the not only structure langua.pdf
ajajkhan16
 
PDF
Comparison between mongo db and cassandra using ycsb
sonalighai
 
PPTX
NoSQL and MongoDB
Rajesh Menon
 
PDF
MongoDB Interview Questions PDF By ScholarHat
Scholarhat
 
PPTX
MongoDB 2.4 and spring data
Jimmy Ray
 
PPT
Mongo Bb - NoSQL tutorial
Mohan Rathour
 
PDF
Beginner's guide to Mongodb and NoSQL
Maulin Shah
 
PDF
MongoDB - An Introduction
sethfloydjr
 
PDF
Mongo db dhruba
Dhrubaji Mandal ♛
 
PDF
Hands on Big Data Analysis with MongoDB - Cloud Expo Bootcamp NYC
Laura Ventura
 
PDF
NoSQL BIg Data Analytics Mongo DB and Cassandra .pdf
Sharmila Chidaravalli
 
PPTX
Kalp Corporate MongoDB Tutorials
Kalp Corporate
 
PDF
Mongo presentation conf
Shridhar Joshi
 
PPTX
MongoDB
fsbrooke
 
Mongo db
Gyanendra Yadav
 
No sq lv1_0
Tuan Luong
 
MongoDB NoSQL database a deep dive -MyWhitePaper
Rajesh Kumar
 
Mongo db transcript
foliba
 
NOSQL and MongoDB Database
Tariqul islam
 
NOSQL in big data is the not only structure langua.pdf
ajajkhan16
 
Comparison between mongo db and cassandra using ycsb
sonalighai
 
NoSQL and MongoDB
Rajesh Menon
 
MongoDB Interview Questions PDF By ScholarHat
Scholarhat
 
MongoDB 2.4 and spring data
Jimmy Ray
 
Mongo Bb - NoSQL tutorial
Mohan Rathour
 
Beginner's guide to Mongodb and NoSQL
Maulin Shah
 
MongoDB - An Introduction
sethfloydjr
 
Mongo db dhruba
Dhrubaji Mandal ♛
 
Hands on Big Data Analysis with MongoDB - Cloud Expo Bootcamp NYC
Laura Ventura
 
NoSQL BIg Data Analytics Mongo DB and Cassandra .pdf
Sharmila Chidaravalli
 
Kalp Corporate MongoDB Tutorials
Kalp Corporate
 
Mongo presentation conf
Shridhar Joshi
 
MongoDB
fsbrooke
 
Ad

Recently uploaded (20)

PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
July Patch Tuesday
Ivanti
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Biography of Daniel Podor.pdf
Daniel Podor
 
July Patch Tuesday
Ivanti
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 

No sql - { If and Else }

  • 1. NoSqlFuture begins hereAuthor: Marjan NikolovskiDate: 2011-02-03
  • 2. ContentNoSql as movementPros and ConsCategoriesMongo DB showcaseDiscussion
  • 3. NoSql as movement“NoSQL is a term used to designate databases that differ from classic relational databases in some way”SchemalessNo “joins”
  • 4. NoSql as movementSchemaless – means everything can be stored without order, type, structureNo “joins” – means normalization is not used to relate and retrieve the dataNoSql as movementInvented to cover what RDBMS could notFast write/read under heavy usage of a systemHighly distribution of dataBetter architecture of distributed systemsFun 
  • 5. Cap TheoremCAP Theorem !!!“It is impossible for a distributed computer system to simultaneously provide all three of the following guarantees: - Consistency (all nodes see the same data at the same time) - Availability (node failures do not prevent survivors from continuing to operate) - Partition Tolerance (the system continues to operate despite arbitrary message loss)According to the theorem, a distributed system can satisfy any two of these guarantees at the same time, but not all three”
  • 7. Pros and Cons - 2PROSComplex objectsHigh-Volume Low-Value dataReal-time analysisOnline games (MMRPG)Search enginesScalable horizontally(sharding)RedundancyFlexibilityFaster developmentGeospatialCONSTransactions and distributedtransactions
  • 8. Business IntelligencePros and ConsWhat are we architecting ???What are our options ???Result …
  • 9. CategoriesUnder NoSql four main categories exists:Key / ValueBigTableDocumentGraph
  • 10. Categories – Key / ValueWe can see on this type as distributed hash tableUsed for caching layersQuerying is done by key onlyHighly distributiveProducts:MemcachedProject VoldemortAmazon Dynamo
  • 11. Categories - BigTableBigTable are step forward from Key/Value storesThere is some order in these stores and querying can be done by more paramsMore like the RDBMS that we now with excluded foreign key concept and with support each row to have different columnsProducts:Apache CassandraApache HBase
  • 12. Categories – DocumentDocuments stores are json/xml based stores for objectsHighly queryableProductsMongoDBRavenDBApache CouchDB
  • 13. Categories – GraphGraph stores store data in vortex connected with zero or more vortexes.Data is held in hashtable in each nodeRich objects are not supportedProductsNeo4jAllegroGraphInfoGrid
  • 14. Categories – size/complexity*Complexity = Sophistication of data modeling
  • 15. Mongo DB showcase - 1What isDocument storeFast, scalable and availableJSon – used for data hydratationDynamicStores data structured as documents instead of row as seen in RDBMSUses Query, Insert, Update and Remove for data manipulationUsed for adding data at high rates without “choking” the system
  • 16. Mongo DB showcase - 2Internals of CoreMap files in memory (virtual) Memory is allocated by namespaces Free space comes at the end of the structureEach document contains a header for traversal and position, body (document data) and paddingReplicationMaster/Slave and Replication sets architectureBoth require Master but Replication set vote for new master if the one dedicated for the job is unavailableCursorsResults can be of type cursor which can be iterated until cursor have 0 elements left
  • 17. Mongo DB showcase - 3Documents inEach document can be of size max to 4mbEach document you insert into MongoDB will be assigned an id consisted of: This is a 12-byte value consisting of 4 parts: timestamp (4 bytes)machine identifier (3 bytes)process id (2 bytes)increment (3 bytes)in MongoDB, each document will contain not only the values, but the key names (~"column names" in relational db-speak) too. So if you have keys: “Username" and “Password", then those alone will add 16 bytes to each document.MongoDB automatically adds some padding to the documents to allow for documents to grow in size to try and reduce the need for documents to be moved around if they do grow
  • 18. Mongo DB showcase - 4Map reduce andMap/Reduce is done via javascript
  • 19. Mongo DB showcase - 5Simple usageOn win32 start mongod.exeStart mongo.exe test client for testing db.Workers.insert({ _workerId: “936DA01F-9ABD-4d9d-80C7-02AF85C822A8”, name: “XyZ”, department: “services”,subdepartment: “.NET”});db.Workers.find({ name: “XyZ” });
  • 20. Mongo DB showcase - 6Performance analyses
  • 21. Mongo DB showcase - 7So how can we use it in .NET ???
  • 22. Mongo DB showcase - 8Get Mongodb-csharp driverhttp://github.com/samus/mongodb-csharp/commits/master/Let’s start
  • 23. SuggestionsCheck: The high scalability blogApache CassandraRanvenDB, .Net implementation of document storemysql performance blogCAP theorem

Editor's Notes

  • #9: Transaction avalable only for one row. No batching transactions avaliable.Needs middleware to handle transactions for multiple rows