SlideShare ist ein Scribd-Unternehmen logo
1 von 75
5 Popular Choices for
NoSQL on a Microsoft
Platform
Matthew Groves @mgroves
2
AGENDA
01/ What is NoSQL?
02/ Popular NoSQL Choices
03/ Evaluation Criteria
04/ Details
05/ The End
Where am I?
3
• Tulsa Tech Fest
• https://grouplings.com/TulsaTechFest
• https://twitter.com/TulsaTechFest
Who am I?
4
• Matthew D. Groves
• Developer Advocate for Couchbase
• @mgroves on Twitter
• Podcast and blog: http://crosscuttingconcerns.com
• "I am not an expert, but I am an enthusiast." –Alan Stevens
@natelovett
What's NoSQL?
5
1
What's NoSQL?
6
Document
• Couchbase
• MongoDB
• DynamoDB
• CosmosDB
Graph
• OrientDB
• Neo4J
• GraphBase
• CosmosDB
Key-Value
• Couchbase
• Riak
• BerkeleyDB
• Redis
• CosmosDB Wide Column
• Hbase
• Cassandra
• Hypertable
• CosmosDB
What's NoSQL?
7
Document
• Couchbase
• MongoDB
• DynamoDB
• CosmosDB
• Get by key(s)
• Set by key(s)
• Replace by key(s)
• Delete by key(s)
• Map/Reduce
What's NoSQL?
8Confidential and Proprietary. Do not distribute without Couchbase consent. © Couchbase 2017. All rights reserved.
What's NoSQL?
9
Popular NoSQL
Choices2
Popular NoSQL Choices
11
• Document Database
• Runs on Microsoft / Microsoft-friendly
• Popular
Popular NoSQL Choices
12
Popular NoSQL Choices
13
Popular NoSQL Choices
14
Popular NoSQL Choices
15
Popular NoSQL Choices
16
Popular NoSQL Choices
17
My Goals
18
• Learn
• Get you to try NoSQL (Couchbase at least!)
• Point you in the right direction
Not My Goals
19
• Throwing shade
• Badmouthing
• Eliminating tools from your consideration
• Cover every detail for each tool
Disclaimer
20
• I'm probably wrong
• If I'm wrong, tell me!
Evaluation Criteria
21
3
Querying
22
Scaling
23
Usability
24
Speed
25
Deployment
26
Support
27
SUPPORT WILL DELIVER
LET'S JUST WAIT
28
Querying
29
• Proprietary JSON-based query
• Text search
• .NET and .NET Core SDK
• Linq provider in .NET
Scaling
30
• Multiple node types
• Sharding options
• Master-slave / Primary-secondary
Usability
31
• MongoDB Compass
• Scaling / Replication decisions
Speed
32
• Indexing for queries
• In-memory options
Deployment
33
Support
34
• MongoDB, Inc.
• Open-source (AGPL & Apache)
• Huge community / popularity
YOUR SLIDES ARE BAD AND YOU SHOULD FEEL BAD
35
• MongoDB 4.0 has just been released!
• Included:
• ACID Transactions
• Mobile database
36
Querying
37
• REST focused
• MapReduce views
• Mango query language (2.x)
Scaling
38
• Single node type
• Multi-master
• HAProxy
• Sharding configuration
• Replication
Usability
39
• Built in Futon / Fauxton
• Scaling / Replication work
• Cluster Setup Wizard (2.x)
• There is no "official" .NET SDK
• .NET SDKs are REST wrappers
Speed
40
• Indexing for Mango queries
• MapReduce
• Caching is external
Deployment
41
Support
42
• Open-source (Apache)
• Cloudant (IBM)
• Couchbase Lite / Sync Gateway
43
Querying
44
• N1QL (SQL for JSON)
• MapReduce
• Full Text Search (FTS)
• .NET and .NET Core SDK
• Linq2Couchbase
Scaling
45
• Single node type
• Multi-master / "masterless"
• Auto-sharding
• Replication
• XDCR
Usability
46
• Built in web console
• .NET SDK idioms
• N1QL is just SQL
• Scaling
• mongoose and ottoman
Speed
47
• Memory-first architecture
• Indexing for N1QL
• YCSB benchmarks
• Memory-optimized indexes
Deployment
48
Support
49
• Couchbase, Inc.
• Open-source (Apache 2)
50
Querying
51
• SQL (limited)
• Stored Procedures (JS)
• Triggers (JS)
• UDFs (JS)
• .NET and .NET Core SDK
Scaling
52
• Handled by Azure
• Geographic distribution / affinity
• Consistency options
• Guaranteed zero data loss during
failovers
Usability
53
• Azure doing work for you
• .NET and .NET Core SDK
• Local emulator
• Transactions (with sprocs)
• Mongo compatible API
Speed
54
• Guaranteed ~10ms latency reads
• Guaranteed ~15ms latency writes
Deployment
55
Support
56
• Microsoft
57
Querying
58
• Linq (.NET)
• Fluent (Java)
Scaling
59
• Sharding
• Replication
• Clustering
• 4.x
Usability
60
• Built-in web UI
• Handy docker scripts
• Auto-indexing
• Transactions
Speed
61
• Auto-indexing
• .NET
Deployment
62
Support
63
• Hibernating Rhinos
• Open Source (AGPL)
• Commercial licenses & support
Bonus #6
64
Summary
65
5
So which one should I
use?
66
I don't have your answer. I just have more questions.
67
• Mobile?
• Querying?
• Cost / licensing?
• Ops / DevOps?
• Hobby / Side?
• Resume?
• Speed?
• Transactions?
• Security?
• Integrations?
Couchbase Plug
68
• Go to Couchbase.com to download Couchbase
• Enter to win a $100 gift card here:
http://bit.ly/FEST2018 (use code FEST2018)
Where do you find us?
69
•blog.couchbase.com
•@mgroves
•@couchbasedev
Thank you
©2017 Couchbase. All rights reserved.
Frequently Asked Questions
1. How is Couchbase different than Mongo?
2. I'M N1QL RIIIICCCKK!!!!!
3. How tall are you? Do you play basketball?
4. What is the Couchbase licensing situation?
5. Is Couchbase a ManagedCloud Service?
6. me@mgroves.com
I'M N1QL RIIIIIICCCCCKKK!!!!
< Back
http://tinyurl.com/n1qlrick
MongoDB vs Couchbase
< Back
Licensing
Couchbase Server Community
• Open source (Apache 2)
• Binary release is one release behind Enterprise
• Free to use in dev/test/qa/prod
• Forum support only
Couchbase Server Enterprise
• Mostly open source (Apache 2)
• Some features exclusive: https://www.couchbase.com/products/editions
• Free to use in dev/test/qa
• Need commercial license for prod
• Paid support provided
< Back
Managed Cloud Service (DBaaS)?
< Back

Weitere ähnliche Inhalte

Was ist angesagt?

Monoliths vs microservices
Monoliths vs microservicesMonoliths vs microservices
Monoliths vs microservicesahmadezzeir
 
Phase2 - Large Drupal Multisites (GTA Case Study)
Phase2 - Large Drupal Multisites (GTA Case Study)Phase2 - Large Drupal Multisites (GTA Case Study)
Phase2 - Large Drupal Multisites (GTA Case Study)Robert Bates
 
DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?Rob Reynolds
 
PyTorch 04 What's New in PyTorch Land
PyTorch 04 What's New in PyTorch LandPyTorch 04 What's New in PyTorch Land
PyTorch 04 What's New in PyTorch LandSam Witteveen
 
Phase2 - Drupal + Socrata
Phase2 - Drupal + SocrataPhase2 - Drupal + Socrata
Phase2 - Drupal + SocrataRobert Bates
 
Free and Open Source Workflow Tools at LSE
Free and Open Source Workflow Tools at LSEFree and Open Source Workflow Tools at LSE
Free and Open Source Workflow Tools at LSEEllie Robinson
 
OpenStack Swift: Panoramic View
OpenStack Swift: Panoramic ViewOpenStack Swift: Panoramic View
OpenStack Swift: Panoramic ViewAtul Jha
 
BP-8 Global Federation and Search
BP-8 Global Federation and SearchBP-8 Global Federation and Search
BP-8 Global Federation and SearchAlfresco Software
 
SDLC, Agile methodologies and Career in Product management
SDLC, Agile methodologies and Career in Product managementSDLC, Agile methodologies and Career in Product management
SDLC, Agile methodologies and Career in Product managementFoyzul Karim
 
Lessons from Sharding Solr
Lessons from Sharding SolrLessons from Sharding Solr
Lessons from Sharding SolrGregg Donovan
 
Webinar: Fusion for Data Science
Webinar: Fusion for Data ScienceWebinar: Fusion for Data Science
Webinar: Fusion for Data ScienceLucidworks
 
Microsoft Azure DocumentDB - Global Azure Bootcamp 2016
Microsoft Azure DocumentDB -  Global Azure Bootcamp 2016Microsoft Azure DocumentDB -  Global Azure Bootcamp 2016
Microsoft Azure DocumentDB - Global Azure Bootcamp 2016Sunny Sharma
 
Contributing To Fedora Project
Contributing To Fedora ProjectContributing To Fedora Project
Contributing To Fedora ProjectParag
 
Webinar: Rapid Solr Development with Fusion
Webinar: Rapid Solr Development with FusionWebinar: Rapid Solr Development with Fusion
Webinar: Rapid Solr Development with FusionLucidworks
 
Icinga 2010 at CeBIT
Icinga 2010 at CeBITIcinga 2010 at CeBIT
Icinga 2010 at CeBITIcinga
 
Directories for the REST of Us: REST to LDAP in OpenDJ 2.6
Directories for the REST of Us: REST to LDAP in OpenDJ 2.6Directories for the REST of Us: REST to LDAP in OpenDJ 2.6
Directories for the REST of Us: REST to LDAP in OpenDJ 2.6ForgeRock
 

Was ist angesagt? (20)

Monoliths vs microservices
Monoliths vs microservicesMonoliths vs microservices
Monoliths vs microservices
 
Phase2 - Large Drupal Multisites (GTA Case Study)
Phase2 - Large Drupal Multisites (GTA Case Study)Phase2 - Large Drupal Multisites (GTA Case Study)
Phase2 - Large Drupal Multisites (GTA Case Study)
 
DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?
 
Open Source Search FTW
Open Source Search FTWOpen Source Search FTW
Open Source Search FTW
 
PyTorch 04 What's New in PyTorch Land
PyTorch 04 What's New in PyTorch LandPyTorch 04 What's New in PyTorch Land
PyTorch 04 What's New in PyTorch Land
 
Phase2 - Drupal + Socrata
Phase2 - Drupal + SocrataPhase2 - Drupal + Socrata
Phase2 - Drupal + Socrata
 
Free and Open Source Workflow Tools at LSE
Free and Open Source Workflow Tools at LSEFree and Open Source Workflow Tools at LSE
Free and Open Source Workflow Tools at LSE
 
OpenStack Swift: Panoramic View
OpenStack Swift: Panoramic ViewOpenStack Swift: Panoramic View
OpenStack Swift: Panoramic View
 
Big Search 4 Big Data War Stories
Big Search 4 Big Data War StoriesBig Search 4 Big Data War Stories
Big Search 4 Big Data War Stories
 
BP-8 Global Federation and Search
BP-8 Global Federation and SearchBP-8 Global Federation and Search
BP-8 Global Federation and Search
 
Apache Lucene 4
Apache Lucene 4Apache Lucene 4
Apache Lucene 4
 
SDLC, Agile methodologies and Career in Product management
SDLC, Agile methodologies and Career in Product managementSDLC, Agile methodologies and Career in Product management
SDLC, Agile methodologies and Career in Product management
 
Into The Box 2015 Keynote
Into The Box 2015 KeynoteInto The Box 2015 Keynote
Into The Box 2015 Keynote
 
Lessons from Sharding Solr
Lessons from Sharding SolrLessons from Sharding Solr
Lessons from Sharding Solr
 
Webinar: Fusion for Data Science
Webinar: Fusion for Data ScienceWebinar: Fusion for Data Science
Webinar: Fusion for Data Science
 
Microsoft Azure DocumentDB - Global Azure Bootcamp 2016
Microsoft Azure DocumentDB -  Global Azure Bootcamp 2016Microsoft Azure DocumentDB -  Global Azure Bootcamp 2016
Microsoft Azure DocumentDB - Global Azure Bootcamp 2016
 
Contributing To Fedora Project
Contributing To Fedora ProjectContributing To Fedora Project
Contributing To Fedora Project
 
Webinar: Rapid Solr Development with Fusion
Webinar: Rapid Solr Development with FusionWebinar: Rapid Solr Development with Fusion
Webinar: Rapid Solr Development with Fusion
 
Icinga 2010 at CeBIT
Icinga 2010 at CeBITIcinga 2010 at CeBIT
Icinga 2010 at CeBIT
 
Directories for the REST of Us: REST to LDAP in OpenDJ 2.6
Directories for the REST of Us: REST to LDAP in OpenDJ 2.6Directories for the REST of Us: REST to LDAP in OpenDJ 2.6
Directories for the REST of Us: REST to LDAP in OpenDJ 2.6
 

Ähnlich wie 5 Popular Choices for NoSQL on a Microsoft Platform - Tulsa - July 2018

5 Popular Choices for NoSQL on a Microsoft Platform
5 Popular Choices for NoSQL on a Microsoft Platform5 Popular Choices for NoSQL on a Microsoft Platform
5 Popular Choices for NoSQL on a Microsoft PlatformAll Things Open
 
Apache Geode Meetup, London
Apache Geode Meetup, LondonApache Geode Meetup, London
Apache Geode Meetup, LondonApache Geode
 
Service stack all the things
Service stack all the thingsService stack all the things
Service stack all the thingscyberzeddk
 
Conceptos básicos. Seminario web 6: Despliegue de producción
Conceptos básicos. Seminario web 6: Despliegue de producciónConceptos básicos. Seminario web 6: Despliegue de producción
Conceptos básicos. Seminario web 6: Despliegue de producciónMongoDB
 
Mongo db admin_20110329
Mongo db admin_20110329Mongo db admin_20110329
Mongo db admin_20110329radiocats
 
Digging deeper into service stack
Digging deeper into service stackDigging deeper into service stack
Digging deeper into service stackcyberzeddk
 
Silicon Valley Code Camp 2016 - MongoDB in production
Silicon Valley Code Camp 2016 - MongoDB in productionSilicon Valley Code Camp 2016 - MongoDB in production
Silicon Valley Code Camp 2016 - MongoDB in productionDaniel Coupal
 
Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...
Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...
Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...Flink Forward
 
Modern software architectures - PHP UK Conference 2015
Modern software architectures - PHP UK Conference 2015Modern software architectures - PHP UK Conference 2015
Modern software architectures - PHP UK Conference 2015Ricard Clau
 
Middleware in Golang: InVision's Rye
Middleware in Golang: InVision's RyeMiddleware in Golang: InVision's Rye
Middleware in Golang: InVision's RyeCale Hoopes
 
After the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEANAfter the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEANJeff Fox
 
MongoDB Administration 20110922
MongoDB Administration 20110922MongoDB Administration 20110922
MongoDB Administration 20110922radiocats
 
The Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialThe Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialColin Charles
 
(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...
(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...
(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...Severalnines
 
MySQL Options in OpenStack
MySQL Options in OpenStackMySQL Options in OpenStack
MySQL Options in OpenStackTesora
 
OpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStackOpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStackMatt Lord
 
MariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQLMariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQLColin Charles
 
The Complete MariaDB Server Tutorial - Percona Live 2015
The Complete MariaDB Server Tutorial - Percona Live 2015The Complete MariaDB Server Tutorial - Percona Live 2015
The Complete MariaDB Server Tutorial - Percona Live 2015Colin Charles
 

Ähnlich wie 5 Popular Choices for NoSQL on a Microsoft Platform - Tulsa - July 2018 (20)

5 Popular Choices for NoSQL on a Microsoft Platform
5 Popular Choices for NoSQL on a Microsoft Platform5 Popular Choices for NoSQL on a Microsoft Platform
5 Popular Choices for NoSQL on a Microsoft Platform
 
Apache Geode Meetup, London
Apache Geode Meetup, LondonApache Geode Meetup, London
Apache Geode Meetup, London
 
Service stack all the things
Service stack all the thingsService stack all the things
Service stack all the things
 
Be faster then rabbits
Be faster then rabbitsBe faster then rabbits
Be faster then rabbits
 
Conceptos básicos. Seminario web 6: Despliegue de producción
Conceptos básicos. Seminario web 6: Despliegue de producciónConceptos básicos. Seminario web 6: Despliegue de producción
Conceptos básicos. Seminario web 6: Despliegue de producción
 
Mongo db admin_20110329
Mongo db admin_20110329Mongo db admin_20110329
Mongo db admin_20110329
 
Digging deeper into service stack
Digging deeper into service stackDigging deeper into service stack
Digging deeper into service stack
 
Silicon Valley Code Camp 2016 - MongoDB in production
Silicon Valley Code Camp 2016 - MongoDB in productionSilicon Valley Code Camp 2016 - MongoDB in production
Silicon Valley Code Camp 2016 - MongoDB in production
 
Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...
Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...
Marc Schwering – Using Flink with MongoDB to enhance relevancy in personaliza...
 
Modern software architectures - PHP UK Conference 2015
Modern software architectures - PHP UK Conference 2015Modern software architectures - PHP UK Conference 2015
Modern software architectures - PHP UK Conference 2015
 
Middleware in Golang: InVision's Rye
Middleware in Golang: InVision's RyeMiddleware in Golang: InVision's Rye
Middleware in Golang: InVision's Rye
 
After the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEANAfter the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEAN
 
MongoDB Administration 20110922
MongoDB Administration 20110922MongoDB Administration 20110922
MongoDB Administration 20110922
 
The Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialThe Complete MariaDB Server tutorial
The Complete MariaDB Server tutorial
 
(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...
(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...
(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...
 
MySQL Options in OpenStack
MySQL Options in OpenStackMySQL Options in OpenStack
MySQL Options in OpenStack
 
Stackato v2
Stackato v2Stackato v2
Stackato v2
 
OpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStackOpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStack
 
MariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQLMariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQL
 
The Complete MariaDB Server Tutorial - Percona Live 2015
The Complete MariaDB Server Tutorial - Percona Live 2015The Complete MariaDB Server Tutorial - Percona Live 2015
The Complete MariaDB Server Tutorial - Percona Live 2015
 

Mehr von Matthew Groves

CREAM - That Conference Austin - January 2024.pptx
CREAM - That Conference Austin - January 2024.pptxCREAM - That Conference Austin - January 2024.pptx
CREAM - That Conference Austin - January 2024.pptxMatthew Groves
 
FluentMigrator - Dayton .NET - July 2023
FluentMigrator - Dayton .NET - July 2023FluentMigrator - Dayton .NET - July 2023
FluentMigrator - Dayton .NET - July 2023Matthew Groves
 
Cache Rules Everything Around Me - DevIntersection - December 2022
Cache Rules Everything Around Me - DevIntersection - December 2022Cache Rules Everything Around Me - DevIntersection - December 2022
Cache Rules Everything Around Me - DevIntersection - December 2022Matthew Groves
 
Putting the SQL Back in NoSQL - October 2022 - All Things Open
Putting the SQL Back in NoSQL - October 2022 - All Things OpenPutting the SQL Back in NoSQL - October 2022 - All Things Open
Putting the SQL Back in NoSQL - October 2022 - All Things OpenMatthew Groves
 
Cache Rules Everything Around Me - Momentum - October 2022.pptx
Cache Rules Everything Around Me - Momentum - October 2022.pptxCache Rules Everything Around Me - Momentum - October 2022.pptx
Cache Rules Everything Around Me - Momentum - October 2022.pptxMatthew Groves
 
Don't Drop ACID (July 2021)
Don't Drop ACID (July 2021)Don't Drop ACID (July 2021)
Don't Drop ACID (July 2021)Matthew Groves
 
Don't Drop ACID - Data Love - April 2021
Don't Drop ACID - Data Love - April 2021Don't Drop ACID - Data Love - April 2021
Don't Drop ACID - Data Love - April 2021Matthew Groves
 
Demystifying NoSQL - All Things Open - October 2020
Demystifying NoSQL - All Things Open - October 2020Demystifying NoSQL - All Things Open - October 2020
Demystifying NoSQL - All Things Open - October 2020Matthew Groves
 
Autonomous Microservices - Manning - July 2020
Autonomous Microservices - Manning - July 2020Autonomous Microservices - Manning - July 2020
Autonomous Microservices - Manning - July 2020Matthew Groves
 
CONDG April 23 2020 - Baskar Rao - GraphQL
CONDG April 23 2020 - Baskar Rao - GraphQLCONDG April 23 2020 - Baskar Rao - GraphQL
CONDG April 23 2020 - Baskar Rao - GraphQLMatthew Groves
 
JSON Data Modeling - GDG Indy - April 2020
JSON Data Modeling - GDG Indy - April 2020JSON Data Modeling - GDG Indy - April 2020
JSON Data Modeling - GDG Indy - April 2020Matthew Groves
 
Background Tasks Without a Separate Service: Hangfire for ASP.NET - KCDC - Ju...
Background Tasks Without a Separate Service: Hangfire for ASP.NET - KCDC - Ju...Background Tasks Without a Separate Service: Hangfire for ASP.NET - KCDC - Ju...
Background Tasks Without a Separate Service: Hangfire for ASP.NET - KCDC - Ju...Matthew Groves
 
Intro to SQL++ - Detroit Tech Watch - June 2019
Intro to SQL++ - Detroit Tech Watch - June 2019Intro to SQL++ - Detroit Tech Watch - June 2019
Intro to SQL++ - Detroit Tech Watch - June 2019Matthew Groves
 
Autonomous Microservices - CodeMash - January 2019
Autonomous Microservices - CodeMash - January 2019Autonomous Microservices - CodeMash - January 2019
Autonomous Microservices - CodeMash - January 2019Matthew Groves
 
JSON Data Modeling - July 2018 - Tulsa Techfest
JSON Data Modeling - July 2018 - Tulsa TechfestJSON Data Modeling - July 2018 - Tulsa Techfest
JSON Data Modeling - July 2018 - Tulsa TechfestMatthew Groves
 
Full stack development with node and NoSQL - All Things Open - October 2017
Full stack development with node and NoSQL - All Things Open - October 2017Full stack development with node and NoSQL - All Things Open - October 2017
Full stack development with node and NoSQL - All Things Open - October 2017Matthew Groves
 
I Have a NoSQL toaster - DC - August 2017
I Have a NoSQL toaster - DC - August 2017I Have a NoSQL toaster - DC - August 2017
I Have a NoSQL toaster - DC - August 2017Matthew Groves
 
Querying NoSQL with SQL - KCDC - August 2017
Querying NoSQL with SQL - KCDC - August 2017Querying NoSQL with SQL - KCDC - August 2017
Querying NoSQL with SQL - KCDC - August 2017Matthew Groves
 
I Have a NoSQL Toaster - Troy .NET User Group - July 2017
I Have a NoSQL Toaster - Troy .NET User Group - July 2017I Have a NoSQL Toaster - Troy .NET User Group - July 2017
I Have a NoSQL Toaster - Troy .NET User Group - July 2017Matthew Groves
 
Querying NoSQL with SQL - MIGANG - July 2017
Querying NoSQL with SQL - MIGANG - July 2017Querying NoSQL with SQL - MIGANG - July 2017
Querying NoSQL with SQL - MIGANG - July 2017Matthew Groves
 

Mehr von Matthew Groves (20)

CREAM - That Conference Austin - January 2024.pptx
CREAM - That Conference Austin - January 2024.pptxCREAM - That Conference Austin - January 2024.pptx
CREAM - That Conference Austin - January 2024.pptx
 
FluentMigrator - Dayton .NET - July 2023
FluentMigrator - Dayton .NET - July 2023FluentMigrator - Dayton .NET - July 2023
FluentMigrator - Dayton .NET - July 2023
 
Cache Rules Everything Around Me - DevIntersection - December 2022
Cache Rules Everything Around Me - DevIntersection - December 2022Cache Rules Everything Around Me - DevIntersection - December 2022
Cache Rules Everything Around Me - DevIntersection - December 2022
 
Putting the SQL Back in NoSQL - October 2022 - All Things Open
Putting the SQL Back in NoSQL - October 2022 - All Things OpenPutting the SQL Back in NoSQL - October 2022 - All Things Open
Putting the SQL Back in NoSQL - October 2022 - All Things Open
 
Cache Rules Everything Around Me - Momentum - October 2022.pptx
Cache Rules Everything Around Me - Momentum - October 2022.pptxCache Rules Everything Around Me - Momentum - October 2022.pptx
Cache Rules Everything Around Me - Momentum - October 2022.pptx
 
Don't Drop ACID (July 2021)
Don't Drop ACID (July 2021)Don't Drop ACID (July 2021)
Don't Drop ACID (July 2021)
 
Don't Drop ACID - Data Love - April 2021
Don't Drop ACID - Data Love - April 2021Don't Drop ACID - Data Love - April 2021
Don't Drop ACID - Data Love - April 2021
 
Demystifying NoSQL - All Things Open - October 2020
Demystifying NoSQL - All Things Open - October 2020Demystifying NoSQL - All Things Open - October 2020
Demystifying NoSQL - All Things Open - October 2020
 
Autonomous Microservices - Manning - July 2020
Autonomous Microservices - Manning - July 2020Autonomous Microservices - Manning - July 2020
Autonomous Microservices - Manning - July 2020
 
CONDG April 23 2020 - Baskar Rao - GraphQL
CONDG April 23 2020 - Baskar Rao - GraphQLCONDG April 23 2020 - Baskar Rao - GraphQL
CONDG April 23 2020 - Baskar Rao - GraphQL
 
JSON Data Modeling - GDG Indy - April 2020
JSON Data Modeling - GDG Indy - April 2020JSON Data Modeling - GDG Indy - April 2020
JSON Data Modeling - GDG Indy - April 2020
 
Background Tasks Without a Separate Service: Hangfire for ASP.NET - KCDC - Ju...
Background Tasks Without a Separate Service: Hangfire for ASP.NET - KCDC - Ju...Background Tasks Without a Separate Service: Hangfire for ASP.NET - KCDC - Ju...
Background Tasks Without a Separate Service: Hangfire for ASP.NET - KCDC - Ju...
 
Intro to SQL++ - Detroit Tech Watch - June 2019
Intro to SQL++ - Detroit Tech Watch - June 2019Intro to SQL++ - Detroit Tech Watch - June 2019
Intro to SQL++ - Detroit Tech Watch - June 2019
 
Autonomous Microservices - CodeMash - January 2019
Autonomous Microservices - CodeMash - January 2019Autonomous Microservices - CodeMash - January 2019
Autonomous Microservices - CodeMash - January 2019
 
JSON Data Modeling - July 2018 - Tulsa Techfest
JSON Data Modeling - July 2018 - Tulsa TechfestJSON Data Modeling - July 2018 - Tulsa Techfest
JSON Data Modeling - July 2018 - Tulsa Techfest
 
Full stack development with node and NoSQL - All Things Open - October 2017
Full stack development with node and NoSQL - All Things Open - October 2017Full stack development with node and NoSQL - All Things Open - October 2017
Full stack development with node and NoSQL - All Things Open - October 2017
 
I Have a NoSQL toaster - DC - August 2017
I Have a NoSQL toaster - DC - August 2017I Have a NoSQL toaster - DC - August 2017
I Have a NoSQL toaster - DC - August 2017
 
Querying NoSQL with SQL - KCDC - August 2017
Querying NoSQL with SQL - KCDC - August 2017Querying NoSQL with SQL - KCDC - August 2017
Querying NoSQL with SQL - KCDC - August 2017
 
I Have a NoSQL Toaster - Troy .NET User Group - July 2017
I Have a NoSQL Toaster - Troy .NET User Group - July 2017I Have a NoSQL Toaster - Troy .NET User Group - July 2017
I Have a NoSQL Toaster - Troy .NET User Group - July 2017
 
Querying NoSQL with SQL - MIGANG - July 2017
Querying NoSQL with SQL - MIGANG - July 2017Querying NoSQL with SQL - MIGANG - July 2017
Querying NoSQL with SQL - MIGANG - July 2017
 

Kürzlich hochgeladen

Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Sapana Sha
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfLars Albertsson
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfMarinCaroMartnezBerg
 
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...soniya singh
 
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Jack DiGiovanna
 
Predicting Employee Churn: A Data-Driven Approach Project Presentation
Predicting Employee Churn: A Data-Driven Approach Project PresentationPredicting Employee Churn: A Data-Driven Approach Project Presentation
Predicting Employee Churn: A Data-Driven Approach Project PresentationBoston Institute of Analytics
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationshipsccctableauusergroup
 
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptdokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptSonatrach
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779Delhi Call girls
 
Aminabad Call Girl Agent 9548273370 , Call Girls Service Lucknow
Aminabad Call Girl Agent 9548273370 , Call Girls Service LucknowAminabad Call Girl Agent 9548273370 , Call Girls Service Lucknow
Aminabad Call Girl Agent 9548273370 , Call Girls Service Lucknowmakika9823
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改atducpo
 
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...Suhani Kapoor
 
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...dajasot375
 
Digi Khata Problem along complete plan.pptx
Digi Khata Problem along complete plan.pptxDigi Khata Problem along complete plan.pptx
Digi Khata Problem along complete plan.pptxTanveerAhmed817946
 
RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998YohFuh
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptxAnupama Kate
 
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一ffjhghh
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfSocial Samosa
 

Kürzlich hochgeladen (20)

Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdf
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
 
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
 
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
 
E-Commerce Order PredictionShraddha Kamble.pptx
E-Commerce Order PredictionShraddha Kamble.pptxE-Commerce Order PredictionShraddha Kamble.pptx
E-Commerce Order PredictionShraddha Kamble.pptx
 
Predicting Employee Churn: A Data-Driven Approach Project Presentation
Predicting Employee Churn: A Data-Driven Approach Project PresentationPredicting Employee Churn: A Data-Driven Approach Project Presentation
Predicting Employee Churn: A Data-Driven Approach Project Presentation
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships
 
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptdokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
 
Aminabad Call Girl Agent 9548273370 , Call Girls Service Lucknow
Aminabad Call Girl Agent 9548273370 , Call Girls Service LucknowAminabad Call Girl Agent 9548273370 , Call Girls Service Lucknow
Aminabad Call Girl Agent 9548273370 , Call Girls Service Lucknow
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
 
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
 
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
 
Digi Khata Problem along complete plan.pptx
Digi Khata Problem along complete plan.pptxDigi Khata Problem along complete plan.pptx
Digi Khata Problem along complete plan.pptx
 
RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx
 
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
 

5 Popular Choices for NoSQL on a Microsoft Platform - Tulsa - July 2018

Hinweis der Redaktion

  1. Not going to get too technical today This is just an overview The goal is to show you what's out there, give you an idea of what might appeal to you This is just the start of your journey
  2. This picture I didn't draw, it was drawn by Nate Lovette Anything I drew, you can tell because it won't look nearly as good as this
  3. NoSQL is a big umbrella term that encompasses a lot of databases These are 4 of the most popular models, but they aren't the only ones You can see some of these databases are in multiple categories, That's because they support multiple models
  4. I'm going to be focusing mainly on document databases today They are similar to key/value databases: lot of key-based operations Often a server-side querying mechanism that takes advantages of data being in a known format Like JSON, XML, etc So this is why you hear the term "NoSQL", because there is no SQL involved in interacting with data
  5. Think of a document database at the most simple model Of a key/value store, where the value is in a known format You write code where you start with a key, and you ask the database to return the document That corresponds to that key. And the same with creating/updating
  6. Why were these databases created in the first place? Flexibility: schemas are hard to manage Availability: if a machine does down (on purpose or not), we still want to be able to serve customers Speed: the faster we can get the data to a screen, the more likely they are to purchase, less likely to give up, etc Scaling: demand fluctuates, and we need to deal with peaks and valleys When you start from scratch saying 'we need a database that can do X,Y,Z' one of the tradeoffs That allow for all these things is throwing tables and schemas and SQL out the door There's a lot of joking about "web scale" and "/dev/null" and so on. But yes these databases Do need to actually store and be able to retrieve data reliably. Those are table stakes, if you ask me. Sometimes you need tables, constraints, enforced schemas; but you might be surprised at how often you don't. That's a quick rundown of the why/how/history of NoSQL. Hopefully you're in the mindset tonight of "Okay, it might be a useful tool to have in my box. What software should I be looking at specifically? What are the next steps?"
  7. In this session, I'll be focusing on 5 databases that fit these basic criteria 1 – document databases only, I'm narrowing the focus a bit 2- runs on Microsoft; this session is meant for windows / .net / Microsoft / azure developers 3 – popular by some measure, this is pretty arbitrary
  8. Let's talk about popularity for a second Db-engines is a site that puts out this monthly ranking It measures a databases popularity by: search engine results, google trends, stack overflow, jobs, linkedin, twitter Mongodb is the most popular nosql database by far Some notable dbs I'm not covering as Cassandra, which is a columnar database, not document I'm omitted Redis, because it's a key/value store, and it's also more of an in-memory cache than it is a database I've also omitted elasticsearch, solr, which I don't really think of as databases, but I guess they are
  9. I'm omitting DynamoDB because it's AWS exclusive It's not unheard of for a .NET app to use dynamodb, but it's a bit out of the ordinary I'm omitting memcached… explain origins of couchbase via memcached and couchdb Maybe also mention Cloudant CosmosDb is up to #30 (it was 37 the last time I presented) I think it's pretty interesting, but it is azure exclusive. Firebird, is mobile focused. I'm not going to focus on mobile too much, but Couchbase has a mobile implementation too; and CouchDb has a "reimplementation" in JavaScript called PouchDb, which is geared toward mobile development.
  10. I'm omitting marklogic, which is a commercial nosql database Omitting Hazelcast, because it's key/value store
  11. Omitting Riak, it doesn't run on windows and it's key/value store RethinkDB has a bit of a cult following Omitting Aerospike because they are key value OrientDb is written in Java, it's multi-model including graph and document Realm, is mobile focused. I'm not going to focus on mobile too much
  12. Starting to get low on the list Cloudant is based on CouchDb and BigCouch RavenDB is low on the list and getting lower, even though it's been around for quite some time. I wouldn't normally bring it up in a discussion of "popularity", except that I've noticed anecdotally that .NET devs seem to be a lot more aware of it than the rest of the world (for obvious reasons) So I'm doing a bit of cherry picking here
  13. So these are the 5 that I've picked for this evaluation I'm definitely biased towards my employer
  14. This is what I want to do with this session
  15. But I'm going to try as be fair as possible and say as many nice things about each of these that I can If you want to find mean things that people have said, there is no shortage of that on the internet Each of these tools have been created by smart people and are used by great companies to do great things There is no perfect software. Every database is a sum total of flaws, tradeoffs, decisions, and preferences If you have a question like "why should I use couchbase instead of mongo", I can begrudgingly answer in the general, but in reality the answer depends on so many factors I'm not going to cover these tools in details. If you have a question like "what's the best way to index a date field in couchbase to optimize for time series data", this is not the right session. But, I'm happy to talk about anything after the session is over.
  16. Ward Cunningham's Law "the best way to get the right answer on the internet is not to ask a question; ... it's to post the wrong answer." No way am I an expert in any of these databases, even couchbase
  17. First criteria is querying All these databases are typically going to provide ways to get or mutate one document at a time But what else do they have beyond that for querying data? The more options the better? Or too many options? Match the option with the use case?
  18. NoSQL databases were created in a post-web world Where huge amounts of people are using a web site or a mobile app And thus one of the things these databases provide is scalability How well do they scale, how difficult is it to scale? How many steps and decisions are involved? Peer-to-peer is easiest master-slave and replica sets being more difficult
  19. This may not be a big deal to you, if the database otherwise does what you want it to and does it well We are tech people, we can tinker for a while But I think making software as easy as possible to get started makes our lives much better So I'm going to call out features that I think make it a more pleasant experience "Make common things easy, rare things possible" Keep in the mind the tradeoff here, you may be sacrificing some level of tweaking for ease of use And you may be sacrificing security sometimes if you aren't paying close enough attention
  20. Many nosql databases make a lot of claims about speed I'm wary of benchmarks So I'm going to focus on architectural decisions that affect speed It's generally bigger, complex data where speed becomes a problem When in doubt do your own benchmarks
  21. Since we're focusing Microsoft, obviously this is going to lean towards windows and azure But it's nice to know what other options are out there, in case you need to go In a different direction, or use different infrastructure for whatever reason I don't have an icon for it, but I'll also mention if they have a Kubernetes operator or not
  22. Pure technology is not the only thing that matters "The biggest challenges in adopting #NoSQL are usually human rather than technical" - @JudahGabriel Who is doing the support? What are the licenses? Is it open source, does it have a big community? Responsive community? Is it going to be around a year from now? Are they innovating, adding new features I want? Features I may want in the future?
  23. I do not like this query syntax, It's limited in terms of joins, unions, etc Text search is present, but it's limited compared to elasticsearch, etc .NET SDK follows .NET idioms pretty well, there's a bit of weirdness having to convert objects to BsonDocuments, but it's not that bad Linq provider built into Mongo .NET SDK, but limited due to the underlying query capabilities
  24. Scaling is possible, you set up multiple types of nodes, configure sharding Replication is a master/slave setup, meaning that a single member of the cluster is the master and is the only one allowed to modify data And that includes between data centers
  25. Decision fatigue Insecure by default: anonymous admin access
  26. Indexing is important for querying Mongo has an in-memory option and an on-disk option So that's a basic tradeoff you can make
  27. Windows / Mac / Linux AWS / Azure / Google support (it is VMs) Docker DBaaS – lot of managed partners like Mongolab, MongoSoup, etc MongoDB Atlas is mongo's own managed DBaaS Just announced a kubernetes operator for 4.0
  28. Licensing! It's AGPL, and some enterprises don't like that. In fact, they list it as a possible weakness/threat in their S-1
  29. I haven't been able to spend much time with mongodb 4.0 So some of the things I'm saying about may be out of date, or no longer true Two big things they've announced: ACID Transaction support and a mobile database
  30. CouchDB
  31. Mongo-inspired query syntax, based on Cloudant Query this is in version 2.x though MapReduce which is great for performance, but it is javascript and doesn't accommodate adhoc queries Mango is "mongo inspired" I don't know if it's mongo compatible or meant to be mongo compatible
  32. You can setup a cluster relatively easy But you need to run a proxy in front of it, like HAProxy (couchdb recommends) Sharding you need to configure the number of shards per database Replication and conflict management is something that couchdb is good at When removing a node from a cluster you have to make sure to move shards away So there is some manual work involved in managing scale
  33. Futon is web console in 1.x Fauxton is web console in 2.x Insecure by default: anonymous admin access
  34. CouchDb's design assumes that caching will be handled by the operating system, by the browser, by a proxy you setup Not by couchdb itself
  35. Windows / Mac / Linux AWS / Azure / Google support (VMs) Docker (there isn't an official 2.x on docker hub yet) DBaaS – Cloudant No kubernetes operator that I'm aware of
  36. Cloudant is compatible Couchbase Lite and Sync Gateway are "compatible" with couchdb (version 2 of Couchbase Lite will probably change that) But interop between them is not supported
  37. I really like N1QL, it's kinda what attracted me to couchbase in the first place I already know how to write SQL, so I can apply that a nosql database Linq2Couchbase is a linq provider that generates N1QL (it's not officially supported yet)
  38. Multi-master
  39. Security: with 4.x it was *mostly* secure by default You need to setup a password, but you can create buckets without passwords With 5.x it is completely secure by default
  40. Explain memcached and couchdb
  41. Windows / Mac / Linux AWS / Azure / Google support (it is VMs) Docker no DBaaS, managed database (yet) Kubernetes operator currently in public beta, will be RTM in a few months
  42. Cosmos DB
  43. There is a SQL language for CosmosDB but it is very limited No intra-document joins, no GROUP BY, no insert/update/delete Cosmos has sprocs, triggers, udfs, but you have to write them in ECMAScript 2015 (JavaScript)
  44. Azure handles the scaling for you You set request units per second or per minute and cosmos db will scale to handle that Cosmosdb has 5 consistency options, so you can explicitly trade off between strong consistency and eventual consistency, "guarantee" is Microsoft's wording
  45. "guarantee" is Microsoft's wording
  46. This is azure only You can run the emulator on windows, the emulator is not meant for production But I'm sure some joker is going to try it The emulator is also available in docker so hypothetically you could deploy that anywhere No kubernetes operator, not sure if it needs one or if it's possible or what
  47. Microsoft support only, of course This is not open source (which used to be implied with Microsoft, but I feel like I have to say that now)
  48. In Raven 3.x each database is an independent entity, you can setup replication and cooperation, but Oren: "There is a lot of work that you need to do on all the nodes" which "can grow very tedious" Oren on 4.x: "You can bring in additional nodes without having to update any configuration" 4.X is in release candidate now I'm not convinced it's the right database for large scales, but it has some interesting functionality
  49. Ravendb is on docker, but they also publish a handy Powershell script For getting up and running with docker Which I think is a nice usability touch Secure by default, but you can turn on anonymous admin access
  50. I think the auto-indexing feature is really intriguing Basically, it will create indexes as you need them And keep them around until they aren't used anymore Sounds great in theory, I've heard in practice that it doesn't quite work out as well as it sounds And you still end up needing to create indexes declaratively I've not seen any bold claims or benchmarks showing raven blowing everyone away in speed Mostly they claim to be a "safe by default" database, so maybe that's the tradeoff they're making They've announced performance improvements in 4.x Raven is built on .NET, some people will claim this hinders performance Just as people will claim databases built on the JVM There may be some truth to this, databases often use low-level operations .NET Core? "RavenDB High Performance " by Brian Ritchie
  51. Raven 4.x runs on Linux Raven can run on aws/azure in VMs Raven run on windows and 4.x runs in docker RavenHQ is a hosted ravendb provider No kubernetes operator that I'm aware of
  52. It's agpl Bizspark discounts
  53. Marten is not a database it's a .NET library that stands between your application and postgresql Postgresql has some really good json support Marten leverages that to treat postgresql as a document database
  54. Why just one?
  55. Mobile? look at Couchbase, Sync Gateway, Couchbase Mobile, and maybe CouchDb and MongoDb Querying? Look at Couchbase, CosmosDb, Raven, Marten Cost? Mongo, CouchDb Ops/DevOps proficient? Mongo, CouchDb, Raven Ops/DevOps deficient? CosmosDb, Couchbase, Marten, MongoDb Atlas Hobby? Mongo, CouchDb, Couchbase Resume? Go with the popular one. Speed? Maybe not Raven Transactions? Raven, Marten, Mongo or maybe Cosmos Security? Be careful with some that aren't secure by default Integrations? This is huge. Databases generally don't just sit behind one app. They need to integrate with other software. Maybe stick to relational, unless a connector exists, or you are using microservices, soa, or clean architecture
  56. All I ask is that you give Couchbase a chance Free download You can also take it for a free test drive on the major cloud providers Also, this is something new for me this year, please go to this URL to enter to win a $100 gift card. It is literally a 1 question survey and it helps me out a lot.
  57. This is my family My enormous head barely fits in the picture
  58. Open source apache license for community edition, enterprise edition on a faster release schedule, some advanced features, and support license. Couchbase is software you can run in the cloud on a VM or on your own data center. CosmosDb is a manage cloud service, but there is a emulator you can run locally.
  59. If you want to play with N1QL (SQL for JSON) you don't even have to install Couchbase first You can do it in browser CosmosDb has one of these too
  60. Main points of diff: Architecture & Features Architecture Memory first: integrated cache, you don't need to put redis on top of couchbase Master-master: easier scaling, better scaling Auto-sharding: we call vBuckets, you don't have to come up with a sharding scheme, it's done by crc32 Features N1QL: SQL, mongo has a more limited query language and it's not SQL-like Full Text Search: Using the bleve search engine, language aware FTS capabilities built in **this may not apply after Mongo 4.0 release** Mobile & sync: Mongo has nothing like the offline-first and sync capabilities couchbase offers Mongo DOES have a DbaaS cloud provider
  61. Everything I've shown you today is available in Community edition The only N1QL feature I can think of not in Community is INFER The Enterprise features you probably don't need unless you are Enterprise developer. Enterprise feature examples: Graphical explain plan Schema inference Index replicas Rack zone XDCR advanced features Full RBAC Unlimited query concurrency Ephemeral buckets MDS
  62. We announced "Couchbase Managed Cloud" This is not a "sign-up for a free tier", it's more like a white-glove service to host Couchbase on the cloud provider(s) of your choice Couchbase IS in the Azure and AWS marketplaces, and there are some wizards to make config easy, but it runs on your VMs. This is one step beyond that. A plain old DBaaS is on the horizon, but not currently available.