SlideShare a Scribd company logo
1 of 14
NoSQL Introduction
A demonstration in parallel with SQL data models.
Eric Ross
Date: 06/03/2012
What is JSON?
From: http://json.org
{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}
From: http://json.org/example.html
Example Test Result Record
{
"_id": "e3bc8454-6910-4c2a-b69b-dbf52046d3a0", unique record key
"customdata": { custom metadata
"deviceIP": "localhost?usesocketlog=pudStart.log",
"stopTime": "May 05,2013 13:34:45",
"logName": "durationLog-2013-05-23-13-34-45-localhost?usesocketlog=pudStart.log.txt",
"startTime": "May 05,2013 13:34:45",
"firmwareRelease": "BWP1CN1314AR",
"runTime": 0.004220008850097656,
"serialNumber": "CN2AM9J08V",
"MechMode": true,
"printerModel": ”XN1254"
},
"recs": [ 1 or more records – format is custom.
{
"filesProcessed": 1,
"fileName": "circle.ps",
"timePerFile": 7.2447731494903564,
"pagesPrinted": 1,
"totalPages": 1,
"pagesPerMinute": 8.281832814077937,
"result_id": "e3bc8454-6910-4c2a-b69b-dbf52046d3a0"
},
],
"passfail": "PASS",
"name": "performance",
"timestamp": "1368052433", standard fields
"app": "Duration",
"type": "result",
"appversion": "1.0"
}
Test Result Record
{
"_id": "e3bc8454-6910-4c2a-b69b-dbf52046d3a0", unique record key
"customdata": { custom metadata
"deviceIP": "localhost?usesocketlog=pudStart.log",
"stopTime": "May 05,2013 13:34:45",
"logName": "durationLog-2013-05-23-13-34-45-localhost?usesocketlog=pudStart.log.txt",
"startTime": "May 05,2013 13:34:45",
"firmwareRelease": "BWP1CN1314AR",
"runTime": 0.004220008850097656,
"serialNumber": "CN2AM9J08V",
"MechMode": true,
"printerModel": ”XN1254"
},
"recs": [ 1 or more records – format is custom.
{
"filesProcessed": 1,
"fileName": "circle.ps",
"timePerFile": 7.2447731494903564,
"pagesPrinted": 1,
"totalPages": 1,
"pagesPerMinute": 8.281832814077937,
"result_id": "e3bc8454-6910-4c2a-b69b-dbf52046d3a0"
},
],
"passfail": "PASS",
"name": "performance",
"timestamp": "1368052433", standard fields
"app": "Duration",
"type": "result",
"appversion": "1.0"
}
Test Result Record
{
"_id": "e3bc8454-6910-4c2a-b69b-dbf52046d3a0", unique record key
"customdata": { custom metadata
"deviceIP": "localhost?usesocketlog=pudStart.log",
"stopTime": "May 05,2013 13:34:45",
"logName": "durationLog-2013-05-23-13-34-45-localhost?usesocketlog=pudStart.log.txt",
"startTime": "May 05,2013 13:34:45",
"firmwareRelease": "BWP1CN1314AR",
"runTime": 0.004220008850097656,
"serialNumber": "CN2AM9J08V",
"MechMode": true,
"printerModel": ”XN1254"
},
"recs": [ 1 or more records – format is custom.
{
"filesProcessed": 1,
"fileName": "circle.ps",
"timePerFile": 7.2447731494903564,
"pagesPrinted": 1,
"totalPages": 1,
"pagesPerMinute": 8.281832814077937,
"result_id": "e3bc8454-6910-4c2a-b69b-dbf52046d3a0"
},
],
"passfail": "PASS",
"name": "performance",
"timestamp": "1368052433", standard fields
"app": "Duration",
"type": "result",
"appversion": "1.0"
}
Relational (SQL) model.
NoSQL Model
What? Is that all?
NoSQL/CouchDB characteristics
• Just a collection of JSON documents.
• Views are defined using JavaScript (Python possible, not fully qualified).
• A database can contain all types of documents.
• How you decide to “type” your documents is totally up to you.
• No data reformatting/schema changing required.
• REST API. Available to any tool that can do http requests (including your
browser using Javascript/AJAX).
• Libraries available for all major scripting languages.
Why couchDB?
• Replication allows deployment where needed. Very simple and easy to deploy
• REST/HTTP is accessible through all HP internal firewalls and can be exposed
to external entities on a case by case basis.
• REST/HTTP is accessible by ALL programming languages including command
line utils like cUrl.
• Fully open source(Apache License).
• Simpler features mean simpler admin tasks.
• Binaries available for Mac and Windows for development purposes and local
data caching.
• MAJOR FEATURE: You can attach ANY document to a couchdb JSON
document. This allows the attachment of things such as serial logs and core
dump files.
Popular NoSQL document stores
• MongoDB: Very popular commercial database. Proprietary clients and API.
Support for most programming languages. “Big Data” features.
• CouchDB: Opensource (Apache). REST API. Client libraries available.
Supports replication but no advanced features such as sharding.
• Couchbase: Both opensource community edition and commercial edition. Uses
custom API with supplied client libraries.
• Redis: not really a document store. Key/value store for “Big Data”.
http://nosql-database.org/
World Wide Deployment(idealized)
regional acquisition
clusters
remote analysis
results aggregation
remote analysis
remote analysis
regional acquisition
clusters regional acquisition
clusters

More Related Content

What's hot

guacamole: an Object Document Mapper for ArangoDB
guacamole: an Object Document Mapper for ArangoDBguacamole: an Object Document Mapper for ArangoDB
guacamole: an Object Document Mapper for ArangoDBMax Neunhöffer
 
MongoDB for Coder Training (Coding Serbia 2013)
MongoDB for Coder Training (Coding Serbia 2013)MongoDB for Coder Training (Coding Serbia 2013)
MongoDB for Coder Training (Coding Serbia 2013)Uwe Printz
 
Introduction to mongo db
Introduction to mongo dbIntroduction to mongo db
Introduction to mongo dbHemant Sharma
 
MongoDB basics & Introduction
MongoDB basics & IntroductionMongoDB basics & Introduction
MongoDB basics & IntroductionJerwin Roy
 
Introduction to MongoDB and CRUD operations
Introduction to MongoDB and CRUD operationsIntroduction to MongoDB and CRUD operations
Introduction to MongoDB and CRUD operationsAnand Kumar
 
Getting Started with the Alma API
Getting Started with the Alma APIGetting Started with the Alma API
Getting Started with the Alma APIKyle Banerjee
 
Developing CouchApps
Developing CouchAppsDeveloping CouchApps
Developing CouchAppswesthoff
 
Normalizing Data for Migrations
Normalizing Data for MigrationsNormalizing Data for Migrations
Normalizing Data for MigrationsKyle Banerjee
 
Mango Database - Web Development
Mango Database - Web DevelopmentMango Database - Web Development
Mango Database - Web Developmentmssaman
 
JSONpedia - Facilitating consumption of MediaWiki content
JSONpedia - Facilitating consumption of MediaWiki contentJSONpedia - Facilitating consumption of MediaWiki content
JSONpedia - Facilitating consumption of MediaWiki contentMichele Mostarda
 
An introduction to MongoDB
An introduction to MongoDBAn introduction to MongoDB
An introduction to MongoDBCésar Trigo
 
Top 10 frameworks of node js
Top 10 frameworks of node jsTop 10 frameworks of node js
Top 10 frameworks of node jsHabilelabs
 
Basic Introduction About API Web Service
Basic Introduction About API Web ServiceBasic Introduction About API Web Service
Basic Introduction About API Web ServiceHiraq Citra M
 

What's hot (20)

guacamole: an Object Document Mapper for ArangoDB
guacamole: an Object Document Mapper for ArangoDBguacamole: an Object Document Mapper for ArangoDB
guacamole: an Object Document Mapper for ArangoDB
 
Ajax xml json
Ajax xml jsonAjax xml json
Ajax xml json
 
MongoDB for Coder Training (Coding Serbia 2013)
MongoDB for Coder Training (Coding Serbia 2013)MongoDB for Coder Training (Coding Serbia 2013)
MongoDB for Coder Training (Coding Serbia 2013)
 
Introduction to mongo db
Introduction to mongo dbIntroduction to mongo db
Introduction to mongo db
 
MongoDB basics & Introduction
MongoDB basics & IntroductionMongoDB basics & Introduction
MongoDB basics & Introduction
 
Mongo db operations_v2
Mongo db operations_v2Mongo db operations_v2
Mongo db operations_v2
 
Introduction to MongoDB and CRUD operations
Introduction to MongoDB and CRUD operationsIntroduction to MongoDB and CRUD operations
Introduction to MongoDB and CRUD operations
 
Getting Started with the Alma API
Getting Started with the Alma APIGetting Started with the Alma API
Getting Started with the Alma API
 
Developing CouchApps
Developing CouchAppsDeveloping CouchApps
Developing CouchApps
 
Normalizing Data for Migrations
Normalizing Data for MigrationsNormalizing Data for Migrations
Normalizing Data for Migrations
 
MongoDB
MongoDBMongoDB
MongoDB
 
Web Scraping Basics
Web Scraping BasicsWeb Scraping Basics
Web Scraping Basics
 
Using MRuby in a database
Using MRuby in a databaseUsing MRuby in a database
Using MRuby in a database
 
Mango Database - Web Development
Mango Database - Web DevelopmentMango Database - Web Development
Mango Database - Web Development
 
Mongodb
MongodbMongodb
Mongodb
 
JSONpedia - Facilitating consumption of MediaWiki content
JSONpedia - Facilitating consumption of MediaWiki contentJSONpedia - Facilitating consumption of MediaWiki content
JSONpedia - Facilitating consumption of MediaWiki content
 
MongoDB 101
MongoDB 101MongoDB 101
MongoDB 101
 
An introduction to MongoDB
An introduction to MongoDBAn introduction to MongoDB
An introduction to MongoDB
 
Top 10 frameworks of node js
Top 10 frameworks of node jsTop 10 frameworks of node js
Top 10 frameworks of node js
 
Basic Introduction About API Web Service
Basic Introduction About API Web ServiceBasic Introduction About API Web Service
Basic Introduction About API Web Service
 

Similar to Comparison with storing data using NoSQL(CouchDB) and a relational database.

JSON-LD update DC 2017
JSON-LD update DC 2017JSON-LD update DC 2017
JSON-LD update DC 2017Gregg Kellogg
 
Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...
Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...
Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...NoSQLmatters
 
Introduction to mean and mern || Event by DSC UNIDEB
Introduction to mean and mern || Event by DSC UNIDEBIntroduction to mean and mern || Event by DSC UNIDEB
Introduction to mean and mern || Event by DSC UNIDEBMuhammad Raza
 
ArangoDB – A different approach to NoSQL
ArangoDB – A different approach to NoSQLArangoDB – A different approach to NoSQL
ArangoDB – A different approach to NoSQLArangoDB Database
 
Python And The MySQL X DevAPI - PyCaribbean 2019
Python And The MySQL X DevAPI - PyCaribbean 2019Python And The MySQL X DevAPI - PyCaribbean 2019
Python And The MySQL X DevAPI - PyCaribbean 2019Dave Stokes
 
Document Object Model
Document Object ModelDocument Object Model
Document Object Modelchomas kandar
 
Document Object Model
Document Object ModelDocument Object Model
Document Object Modelchomas kandar
 
Introducing U-SQL (SQLPASS 2016)
Introducing U-SQL (SQLPASS 2016)Introducing U-SQL (SQLPASS 2016)
Introducing U-SQL (SQLPASS 2016)Michael Rys
 
Elasticsearch, Logstash, Kibana. Cool search, analytics, data mining and more...
Elasticsearch, Logstash, Kibana. Cool search, analytics, data mining and more...Elasticsearch, Logstash, Kibana. Cool search, analytics, data mining and more...
Elasticsearch, Logstash, Kibana. Cool search, analytics, data mining and more...Oleksiy Panchenko
 
Vital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and Spark
Vital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and SparkVital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and Spark
Vital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and SparkVital.AI
 
Node Js, AngularJs and Express Js Tutorial
Node Js, AngularJs and Express Js TutorialNode Js, AngularJs and Express Js Tutorial
Node Js, AngularJs and Express Js TutorialPHP Support
 
Mongo db halloween party
Mongo db halloween partyMongo db halloween party
Mongo db halloween partyAndrea Balducci
 
PHP, The X DevAPI, and the MySQL Document Store -- Benelux PHP Confernece 2019
PHP, The X DevAPI, and the MySQL Document Store -- Benelux PHP Confernece 2019PHP, The X DevAPI, and the MySQL Document Store -- Benelux PHP Confernece 2019
PHP, The X DevAPI, and the MySQL Document Store -- Benelux PHP Confernece 2019Dave Stokes
 
PHP, The X DevAPI, and the MySQL Document Store Presented January 23rd, 20...
PHP,  The X DevAPI,  and the  MySQL Document Store Presented January 23rd, 20...PHP,  The X DevAPI,  and the  MySQL Document Store Presented January 23rd, 20...
PHP, The X DevAPI, and the MySQL Document Store Presented January 23rd, 20...Dave Stokes
 

Similar to Comparison with storing data using NoSQL(CouchDB) and a relational database. (20)

JSON-LD Update
JSON-LD UpdateJSON-LD Update
JSON-LD Update
 
JSON-LD update DC 2017
JSON-LD update DC 2017JSON-LD update DC 2017
JSON-LD update DC 2017
 
Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...
Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...
Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...
 
Introduction to mean and mern || Event by DSC UNIDEB
Introduction to mean and mern || Event by DSC UNIDEBIntroduction to mean and mern || Event by DSC UNIDEB
Introduction to mean and mern || Event by DSC UNIDEB
 
ArangoDB – A different approach to NoSQL
ArangoDB – A different approach to NoSQLArangoDB – A different approach to NoSQL
ArangoDB – A different approach to NoSQL
 
Python And The MySQL X DevAPI - PyCaribbean 2019
Python And The MySQL X DevAPI - PyCaribbean 2019Python And The MySQL X DevAPI - PyCaribbean 2019
Python And The MySQL X DevAPI - PyCaribbean 2019
 
Web Fundamental
Web FundamentalWeb Fundamental
Web Fundamental
 
Document Object Model
Document Object ModelDocument Object Model
Document Object Model
 
Document Object Model
Document Object ModelDocument Object Model
Document Object Model
 
Avro
AvroAvro
Avro
 
DSLs in JavaScript
DSLs in JavaScriptDSLs in JavaScript
DSLs in JavaScript
 
REST easy with API Platform
REST easy with API PlatformREST easy with API Platform
REST easy with API Platform
 
Introducing U-SQL (SQLPASS 2016)
Introducing U-SQL (SQLPASS 2016)Introducing U-SQL (SQLPASS 2016)
Introducing U-SQL (SQLPASS 2016)
 
Elasticsearch, Logstash, Kibana. Cool search, analytics, data mining and more...
Elasticsearch, Logstash, Kibana. Cool search, analytics, data mining and more...Elasticsearch, Logstash, Kibana. Cool search, analytics, data mining and more...
Elasticsearch, Logstash, Kibana. Cool search, analytics, data mining and more...
 
Vital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and Spark
Vital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and SparkVital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and Spark
Vital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and Spark
 
Node Js, AngularJs and Express Js Tutorial
Node Js, AngularJs and Express Js TutorialNode Js, AngularJs and Express Js Tutorial
Node Js, AngularJs and Express Js Tutorial
 
Mongo db halloween party
Mongo db halloween partyMongo db halloween party
Mongo db halloween party
 
PHP, The X DevAPI, and the MySQL Document Store -- Benelux PHP Confernece 2019
PHP, The X DevAPI, and the MySQL Document Store -- Benelux PHP Confernece 2019PHP, The X DevAPI, and the MySQL Document Store -- Benelux PHP Confernece 2019
PHP, The X DevAPI, and the MySQL Document Store -- Benelux PHP Confernece 2019
 
PHP, The X DevAPI, and the MySQL Document Store Presented January 23rd, 20...
PHP,  The X DevAPI,  and the  MySQL Document Store Presented January 23rd, 20...PHP,  The X DevAPI,  and the  MySQL Document Store Presented January 23rd, 20...
PHP, The X DevAPI, and the MySQL Document Store Presented January 23rd, 20...
 
JSON-LD and SHACL for Knowledge Graphs
JSON-LD and SHACL for Knowledge GraphsJSON-LD and SHACL for Knowledge Graphs
JSON-LD and SHACL for Knowledge Graphs
 

Recently uploaded

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 

Recently uploaded (20)

DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 

Comparison with storing data using NoSQL(CouchDB) and a relational database.

  • 1. NoSQL Introduction A demonstration in parallel with SQL data models. Eric Ross Date: 06/03/2012
  • 2. What is JSON? From: http://json.org
  • 3. { "glossary": { "title": "example glossary", "GlossDiv": { "title": "S", "GlossList": { "GlossEntry": { "ID": "SGML", "SortAs": "SGML", "GlossTerm": "Standard Generalized Markup Language", "Acronym": "SGML", "Abbrev": "ISO 8879:1986", "GlossDef": { "para": "A meta-markup language, used to create markup languages such as DocBook.", "GlossSeeAlso": ["GML", "XML"] }, "GlossSee": "markup" } } } } } From: http://json.org/example.html
  • 4. Example Test Result Record { "_id": "e3bc8454-6910-4c2a-b69b-dbf52046d3a0", unique record key "customdata": { custom metadata "deviceIP": "localhost?usesocketlog=pudStart.log", "stopTime": "May 05,2013 13:34:45", "logName": "durationLog-2013-05-23-13-34-45-localhost?usesocketlog=pudStart.log.txt", "startTime": "May 05,2013 13:34:45", "firmwareRelease": "BWP1CN1314AR", "runTime": 0.004220008850097656, "serialNumber": "CN2AM9J08V", "MechMode": true, "printerModel": ”XN1254" }, "recs": [ 1 or more records – format is custom. { "filesProcessed": 1, "fileName": "circle.ps", "timePerFile": 7.2447731494903564, "pagesPrinted": 1, "totalPages": 1, "pagesPerMinute": 8.281832814077937, "result_id": "e3bc8454-6910-4c2a-b69b-dbf52046d3a0" }, ], "passfail": "PASS", "name": "performance", "timestamp": "1368052433", standard fields "app": "Duration", "type": "result", "appversion": "1.0" }
  • 5. Test Result Record { "_id": "e3bc8454-6910-4c2a-b69b-dbf52046d3a0", unique record key "customdata": { custom metadata "deviceIP": "localhost?usesocketlog=pudStart.log", "stopTime": "May 05,2013 13:34:45", "logName": "durationLog-2013-05-23-13-34-45-localhost?usesocketlog=pudStart.log.txt", "startTime": "May 05,2013 13:34:45", "firmwareRelease": "BWP1CN1314AR", "runTime": 0.004220008850097656, "serialNumber": "CN2AM9J08V", "MechMode": true, "printerModel": ”XN1254" }, "recs": [ 1 or more records – format is custom. { "filesProcessed": 1, "fileName": "circle.ps", "timePerFile": 7.2447731494903564, "pagesPrinted": 1, "totalPages": 1, "pagesPerMinute": 8.281832814077937, "result_id": "e3bc8454-6910-4c2a-b69b-dbf52046d3a0" }, ], "passfail": "PASS", "name": "performance", "timestamp": "1368052433", standard fields "app": "Duration", "type": "result", "appversion": "1.0" }
  • 6. Test Result Record { "_id": "e3bc8454-6910-4c2a-b69b-dbf52046d3a0", unique record key "customdata": { custom metadata "deviceIP": "localhost?usesocketlog=pudStart.log", "stopTime": "May 05,2013 13:34:45", "logName": "durationLog-2013-05-23-13-34-45-localhost?usesocketlog=pudStart.log.txt", "startTime": "May 05,2013 13:34:45", "firmwareRelease": "BWP1CN1314AR", "runTime": 0.004220008850097656, "serialNumber": "CN2AM9J08V", "MechMode": true, "printerModel": ”XN1254" }, "recs": [ 1 or more records – format is custom. { "filesProcessed": 1, "fileName": "circle.ps", "timePerFile": 7.2447731494903564, "pagesPrinted": 1, "totalPages": 1, "pagesPerMinute": 8.281832814077937, "result_id": "e3bc8454-6910-4c2a-b69b-dbf52046d3a0" }, ], "passfail": "PASS", "name": "performance", "timestamp": "1368052433", standard fields "app": "Duration", "type": "result", "appversion": "1.0" }
  • 9.
  • 10.
  • 11. NoSQL/CouchDB characteristics • Just a collection of JSON documents. • Views are defined using JavaScript (Python possible, not fully qualified). • A database can contain all types of documents. • How you decide to “type” your documents is totally up to you. • No data reformatting/schema changing required. • REST API. Available to any tool that can do http requests (including your browser using Javascript/AJAX). • Libraries available for all major scripting languages.
  • 12. Why couchDB? • Replication allows deployment where needed. Very simple and easy to deploy • REST/HTTP is accessible through all HP internal firewalls and can be exposed to external entities on a case by case basis. • REST/HTTP is accessible by ALL programming languages including command line utils like cUrl. • Fully open source(Apache License). • Simpler features mean simpler admin tasks. • Binaries available for Mac and Windows for development purposes and local data caching. • MAJOR FEATURE: You can attach ANY document to a couchdb JSON document. This allows the attachment of things such as serial logs and core dump files.
  • 13. Popular NoSQL document stores • MongoDB: Very popular commercial database. Proprietary clients and API. Support for most programming languages. “Big Data” features. • CouchDB: Opensource (Apache). REST API. Client libraries available. Supports replication but no advanced features such as sharding. • Couchbase: Both opensource community edition and commercial edition. Uses custom API with supplied client libraries. • Redis: not really a document store. Key/value store for “Big Data”. http://nosql-database.org/
  • 14. World Wide Deployment(idealized) regional acquisition clusters remote analysis results aggregation remote analysis remote analysis regional acquisition clusters regional acquisition clusters

Editor's Notes

  1. Please adjust confidentiality notice accordingly