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

PDF
NOSQL- Presentation on NoSQL
PPTX
Klevis Mino: MongoDB
PPTX
No SQL - MongoDB
PPT
MongoDb - Details on the POC
PPTX
CSCi226PPT1
PDF
Open source Technology
KEY
MongoDB NYC Python
NOSQL- Presentation on NoSQL
Klevis Mino: MongoDB
No SQL - MongoDB
MongoDb - Details on the POC
CSCi226PPT1
Open source Technology
MongoDB NYC Python

What's hot (20)

PPTX
Mongo db
PPTX
Introduction to mongodb
PPTX
PDF
10 mongo db
PPTX
Mongo db workshop # 01
KEY
Mongodb intro
DOCX
MongoDB DOC v1.5
PPTX
MongoDB-SESSION02
PPTX
MongoDB : Scaling, Security & Performance
PPTX
Mongo db intro.pptx
PDF
Mongodb
PPTX
MongoDB-SESION01
PPTX
Introduction to MongoDB and CRUD operations
PDF
An introduction to MongoDB
PPTX
Mongodb basics and architecture
PPTX
Introduction to MongoDB
DOCX
Mongo db report
PPT
Intro to mongo db
PPT
MongoDB Pros and Cons
PPTX
MongoDB presentation
Mongo db
Introduction to mongodb
10 mongo db
Mongo db workshop # 01
Mongodb intro
MongoDB DOC v1.5
MongoDB-SESSION02
MongoDB : Scaling, Security & Performance
Mongo db intro.pptx
Mongodb
MongoDB-SESION01
Introduction to MongoDB and CRUD operations
An introduction to MongoDB
Mongodb basics and architecture
Introduction to MongoDB
Mongo db report
Intro to mongo db
MongoDB Pros and Cons
MongoDB presentation
Ad

Viewers also liked (14)

PPTX
Skyrocketing to the cloud with Windows Azure
PDF
country houses
PPTX
Italy(power point)
PPTX
The attractions of italy
PPT
Veneer Plaster
PPTX
Band of brothers, building scalable social web apps on windows azure with asp...
PPTX
High Performance Computing
PDF
AUM - Are U Millennially-Minded IMCA
PDF
трц гатчина
KEY
Fringe Dance Tech
PPTX
Entity Framework 4
PPTX
Down the rabbit hole - Error handling examined
PPT
PDF
Skyrocketing to the cloud with Windows Azure
country houses
Italy(power point)
The attractions of italy
Veneer Plaster
Band of brothers, building scalable social web apps on windows azure with asp...
High Performance Computing
AUM - Are U Millennially-Minded IMCA
трц гатчина
Fringe Dance Tech
Entity Framework 4
Down the rabbit hole - Error handling examined
Ad

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

PDF
Nosql part1 8th December
PPTX
NoSQL and MongoDB
PPTX
Silicon Valley Code Camp: 2011 Introduction to MongoDB
PPTX
NoSQL Basics and MongDB
PDF
Baisc introduction of mongodb for beginn
PDF
20-NoSQLMongoDbiig data analytics hB.pdf
PPTX
Master.pptx
PDF
NoSql and it's introduction features-Unit-1.pdf
PPTX
Introduction to Data Science NoSQL.pptx
PPTX
Chapter24.pptx big data systems power point ppt
PPTX
UNIT I Introduction to NoSQL.pptx
PPTX
UNIT I Introduction to NoSQL.pptx
PDF
Introduction to MongoDB Basics from SQL to NoSQL
PDF
Streaming Analytics Unit 5 notes for engineers
PPTX
MongoDB Notes for BSC Students for all n
PPTX
Einführung in MongoDB
PPTX
MongoDB 2.4 and spring data
PPTX
Introduction to MongoDB
PPTX
Back to Basics Webinar 1: Introduction to NoSQL
PPTX
Back to Basics Webinar 1 - Introduction to NoSQL
Nosql part1 8th December
NoSQL and MongoDB
Silicon Valley Code Camp: 2011 Introduction to MongoDB
NoSQL Basics and MongDB
Baisc introduction of mongodb for beginn
20-NoSQLMongoDbiig data analytics hB.pdf
Master.pptx
NoSql and it's introduction features-Unit-1.pdf
Introduction to Data Science NoSQL.pptx
Chapter24.pptx big data systems power point ppt
UNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptx
Introduction to MongoDB Basics from SQL to NoSQL
Streaming Analytics Unit 5 notes for engineers
MongoDB Notes for BSC Students for all n
Einführung in MongoDB
MongoDB 2.4 and spring data
Introduction to MongoDB
Back to Basics Webinar 1: Introduction to NoSQL
Back to Basics Webinar 1 - Introduction to NoSQL

Recently uploaded (20)

PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
KodekX | Application Modernization Development
PPTX
Spectroscopy.pptx food analysis technology
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Big Data Technologies - Introduction.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
cuic standard and advanced reporting.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Empathic Computing: Creating Shared Understanding
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Electronic commerce courselecture one. Pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
KodekX | Application Modernization Development
Spectroscopy.pptx food analysis technology
Network Security Unit 5.pdf for BCA BBA.
Big Data Technologies - Introduction.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Understanding_Digital_Forensics_Presentation.pptx
cuic standard and advanced reporting.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Machine learning based COVID-19 study performance prediction
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
“AI and Expert System Decision Support & Business Intelligence Systems”
Empathic Computing: Creating Shared Understanding
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Programs and apps: productivity, graphics, security and other tools
NewMind AI Weekly Chronicles - August'25 Week I
Unlocking AI with Model Context Protocol (MCP)
Diabetes mellitus diagnosis method based random forest with bat algorithm
Electronic commerce courselecture one. Pdf

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