72
5 Popular Choices for NoSQL on a Microsoft Platform Matthew Groves @mgroves

5 Popular Choices for NoSQL on a Microsoft Platform

Embed Size (px)

Citation preview

Page 1: 5 Popular Choices for NoSQL on a Microsoft Platform

5 Popular Choices for NoSQL on a Microsoft PlatformMatthew Groves @mgroves

Page 2: 5 Popular Choices for NoSQL on a Microsoft Platform

2

AGENDA01/ What is NoSQL?

02/ Popular NoSQL Choices

03/ Evaluation Criteria

04/ Details

05/ The End

Page 3: 5 Popular Choices for NoSQL on a Microsoft Platform

Where am I?

3

• All Things Open

• https://allthingsopen.org/

Page 4: 5 Popular Choices for NoSQL on a Microsoft Platform

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

Page 5: 5 Popular Choices for NoSQL on a Microsoft Platform

What's NoSQL?

5

1

Page 6: 5 Popular Choices for NoSQL on a Microsoft Platform

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

Page 7: 5 Popular Choices for NoSQL on a Microsoft Platform

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

Page 8: 5 Popular Choices for NoSQL on a Microsoft Platform

What's NoSQL?

8Confidential and Proprietary. Do not distribute without Couchbase consent. © Couchbase 2017. All rights reserved.

Page 9: 5 Popular Choices for NoSQL on a Microsoft Platform

What's NoSQL?

9

Page 10: 5 Popular Choices for NoSQL on a Microsoft Platform

Popular NoSQL Choices2

Page 11: 5 Popular Choices for NoSQL on a Microsoft Platform

Popular NoSQL Choices

11

• Document Database

• Runs on Microsoft / Microsoft-friendly

• Popular

Page 12: 5 Popular Choices for NoSQL on a Microsoft Platform

Popular NoSQL Choices

12

Page 13: 5 Popular Choices for NoSQL on a Microsoft Platform

Popular NoSQL Choices

13

Page 14: 5 Popular Choices for NoSQL on a Microsoft Platform

Popular NoSQL Choices

14

Page 15: 5 Popular Choices for NoSQL on a Microsoft Platform

Popular NoSQL Choices

15

Page 16: 5 Popular Choices for NoSQL on a Microsoft Platform

Popular NoSQL Choices

16

Page 17: 5 Popular Choices for NoSQL on a Microsoft Platform

My Goals

17

• Learn

• Get you to try NoSQL (Couchbase at least!)

• Point you in the right direction

Page 18: 5 Popular Choices for NoSQL on a Microsoft Platform

Not My Goals

18

• Throwing shade

• Badmouthing

• Eliminating tools from your consideration

• Cover every detail for each tool

Page 19: 5 Popular Choices for NoSQL on a Microsoft Platform

Disclaimer

19

• I'm probably wrong

• If I'm wrong, tell me!

Page 20: 5 Popular Choices for NoSQL on a Microsoft Platform

Evaluation Criteria

20

3

Page 21: 5 Popular Choices for NoSQL on a Microsoft Platform

Querying

21

Page 22: 5 Popular Choices for NoSQL on a Microsoft Platform

Scaling

22

Page 23: 5 Popular Choices for NoSQL on a Microsoft Platform

Usability

23

Page 24: 5 Popular Choices for NoSQL on a Microsoft Platform

Speed

24

Page 25: 5 Popular Choices for NoSQL on a Microsoft Platform

Deployment

25

Page 26: 5 Popular Choices for NoSQL on a Microsoft Platform

Support

26

SUPPORT WILL DELIVER

LET'S JUST WAIT

Page 27: 5 Popular Choices for NoSQL on a Microsoft Platform

27

Page 28: 5 Popular Choices for NoSQL on a Microsoft Platform

Querying

28

• Proprietary JSON-based query

• Text search

• .NET and .NET Core SDK

• Linq provider in .NET

Page 29: 5 Popular Choices for NoSQL on a Microsoft Platform

Scaling

29

• Multiple node types

• Sharding options

• Master-slave / Primary-secondary

Page 30: 5 Popular Choices for NoSQL on a Microsoft Platform

Usability

30

• MongoDB Compass

• Scaling / Replication decisions

Page 31: 5 Popular Choices for NoSQL on a Microsoft Platform

Speed

31

• Indexing for queries

• In-memory options

Page 32: 5 Popular Choices for NoSQL on a Microsoft Platform

Deployment

32

Page 33: 5 Popular Choices for NoSQL on a Microsoft Platform

Support

33

• MongoDB, Inc.

• Open-source (AGPL & Apache)

• Huge community / popularity

Page 34: 5 Popular Choices for NoSQL on a Microsoft Platform

34

Page 35: 5 Popular Choices for NoSQL on a Microsoft Platform

Querying

35

• REST focused

• MapReduce views

• Mango query language (2.x)

Page 36: 5 Popular Choices for NoSQL on a Microsoft Platform

Scaling

36

• Single node type

• Multi-master

• HAProxy

• Sharding configuration

• Replication

Page 37: 5 Popular Choices for NoSQL on a Microsoft Platform

Usability

37

• Built in Futon / Fauxton

• Scaling / Replication work

• Cluster Setup Wizard (2.x)

• There is no "official" .NET SDK

• .NET SDKs are REST wrappers

Page 38: 5 Popular Choices for NoSQL on a Microsoft Platform

Speed

38

• Indexing for Mango queries

• MapReduce

• Caching is external

Page 39: 5 Popular Choices for NoSQL on a Microsoft Platform

Deployment

39

Page 40: 5 Popular Choices for NoSQL on a Microsoft Platform

Support

40

• Open-source (Apache)

• Cloudant (IBM)

• Couchbase Lite / Sync Gateway

Page 41: 5 Popular Choices for NoSQL on a Microsoft Platform

41

Page 42: 5 Popular Choices for NoSQL on a Microsoft Platform

Querying

42

• N1QL (SQL for JSON)

• MapReduce

• Full Text Search (FTS)

• .NET and .NET Core SDK

• Linq2Couchbase

Page 43: 5 Popular Choices for NoSQL on a Microsoft Platform

Scaling

43

• Single node type

• Multi-master / "masterless"

• Auto-sharding

• Replication

• XDCR

Page 44: 5 Popular Choices for NoSQL on a Microsoft Platform

Usability

44

• Built in web console

• .NET SDK idioms

• N1QL is just SQL

• Scaling

• mongoose and ottoman

Page 45: 5 Popular Choices for NoSQL on a Microsoft Platform

Speed

45

• Memory-first architecture

• Indexing for N1QL

• YCSB benchmarks

• Memory-optimized indexes

Page 46: 5 Popular Choices for NoSQL on a Microsoft Platform

Deployment

46

Page 47: 5 Popular Choices for NoSQL on a Microsoft Platform

Support

47

• Couchbase, Inc.

• Open-source (Apache 2)

Page 48: 5 Popular Choices for NoSQL on a Microsoft Platform

48

Page 49: 5 Popular Choices for NoSQL on a Microsoft Platform

Querying

49

• SQL (limited)

• Stored Procedures (JS)

• Triggers (JS)

• UDFs (JS)

• .NET and .NET Core SDK

Page 50: 5 Popular Choices for NoSQL on a Microsoft Platform

Scaling

50

• Handled by Azure

• Geographic distribution / affinity

• Consistency options

• Guaranteed zero data loss during

failovers

Page 51: 5 Popular Choices for NoSQL on a Microsoft Platform

Usability

51

• Azure doing work for you

• .NET and .NET Core SDK

• Local emulator

• Transactions (with sprocs)

• Mongo compatible API

Page 52: 5 Popular Choices for NoSQL on a Microsoft Platform

Speed

52

• Guaranteed ~10ms latency reads

• Guaranteed ~15ms latency writes

Page 53: 5 Popular Choices for NoSQL on a Microsoft Platform

Deployment

53

Page 54: 5 Popular Choices for NoSQL on a Microsoft Platform

Support

54

• Microsoft

Page 55: 5 Popular Choices for NoSQL on a Microsoft Platform

55

Page 56: 5 Popular Choices for NoSQL on a Microsoft Platform

Querying

56

• Linq (.NET)

• Fluent (Java)

Page 57: 5 Popular Choices for NoSQL on a Microsoft Platform

Scaling

57

• Sharding

• Replication

• Clustering

• 4.x

Page 58: 5 Popular Choices for NoSQL on a Microsoft Platform

Usability

58

• Built-in web UI

• Handy docker scripts

• Auto-indexing

• Transactions

Page 59: 5 Popular Choices for NoSQL on a Microsoft Platform

Speed

59

• Auto-indexing

• .NET

Page 60: 5 Popular Choices for NoSQL on a Microsoft Platform

Deployment

60

Page 61: 5 Popular Choices for NoSQL on a Microsoft Platform

Support

61

• Hibernating Rhinos

• Open Source (AGPL)

• Commercial licenses & support

Page 62: 5 Popular Choices for NoSQL on a Microsoft Platform

Summary

63

5

Page 63: 5 Popular Choices for NoSQL on a Microsoft Platform

So which one should I use?

64

Page 64: 5 Popular Choices for NoSQL on a Microsoft Platform

I don't have your answer. I just have more questions.

65

• Mobile?

• Querying?

• Cost / licensing?

• Ops / DevOps?

• Hobby / Side?

• Resume?

• Speed?

• Transactions?

• Security?

• Integrations?

Page 65: 5 Popular Choices for NoSQL on a Microsoft Platform

Where do you find us?

67

• blog.couchbase.com

• @couchbasedev

• @mgroves

Page 66: 5 Popular Choices for NoSQL on a Microsoft Platform

68

https://blog.couchbase.com/tag/podcast/

Page 67: 5 Popular Choices for NoSQL on a Microsoft Platform

Thank you

©2017 Couchbase. All rights reserved. 6

9

Page 68: 5 Popular Choices for NoSQL on a Microsoft Platform

Frequently Asked Questions

1. How is Couchbase different than Mongo?

2. I'M N1QL RIIIICCCKK!!!!!

3. How did you get to be both incredibly handsome and tremendously intelligent?

4. What is the Couchbase licensing situation?

5. Is Couchbase a Managed Cloud Service?

Page 69: 5 Popular Choices for NoSQL on a Microsoft Platform

I'M N1QL RIIIIIICCCCCKKK!!!!

< Back

http://tinyurl.com/n1qlrick

Page 70: 5 Popular Choices for NoSQL on a Microsoft Platform

MongoDB vs Couchbase

< Back

Page 71: 5 Popular Choices for NoSQL on a Microsoft Platform

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 not available on Community (XDCR TLS, MDS, Rack Zone, etc)• Free to use in dev/test/qa• Need commercial license for prod• Paid support provided

< Back

Page 72: 5 Popular Choices for NoSQL on a Microsoft Platform

Managed Cloud Service (DBaaS)?

Short answer: No.

< Back

Longer answer: Kinda. https://zdatainc.com/couchbase-managed-services/

Longest answer: See me after class.