5 popular choices for nosql on a microsoft platform

Post on 23-Jan-2018

89 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

2

AGENDA01/ What is NoSQL?

02/ Popular NoSQL Choices

03/ Evaluation Criteria

04/ Details

05/ The End

Where am I?

3

• All Things Open

• https://allthingsopen.org/

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

My Goals

17

• Learn

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

• Point you in the right direction

Not My Goals

18

• Throwing shade

• Badmouthing

• Eliminating tools from your consideration

• Cover every detail for each tool

Disclaimer

19

• I'm probably wrong

• If I'm wrong, tell me!

Evaluation Criteria

20

3

Querying

21

Scaling

22

Usability

23

Speed

24

Deployment

25

Support

26

SUPPORT WILL DELIVER

LET'S JUST WAIT

27

Querying

28

• Proprietary JSON-based query

• Text search

• .NET and .NET Core SDK

• Linq provider in .NET

Scaling

29

• Multiple node types

• Sharding options

• Master-slave / Primary-secondary

Usability

30

• MongoDB Compass

• Scaling / Replication decisions

Speed

31

• Indexing for queries

• In-memory options

Deployment

32

Support

33

• MongoDB, Inc.

• Open-source (AGPL & Apache)

• Huge community / popularity

34

Querying

35

• REST focused

• MapReduce views

• Mango query language (2.x)

Scaling

36

• Single node type

• Multi-master

• HAProxy

• Sharding configuration

• Replication

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

Speed

38

• Indexing for Mango queries

• MapReduce

• Caching is external

Deployment

39

Support

40

• Open-source (Apache)

• Cloudant (IBM)

• Couchbase Lite / Sync Gateway

41

Querying

42

• N1QL (SQL for JSON)

• MapReduce

• Full Text Search (FTS)

• .NET and .NET Core SDK

• Linq2Couchbase

Scaling

43

• Single node type

• Multi-master / "masterless"

• Auto-sharding

• Replication

• XDCR

Usability

44

• Built in web console

• .NET SDK idioms

• N1QL is just SQL

• Scaling

• mongoose and ottoman

Speed

45

• Memory-first architecture

• Indexing for N1QL

• YCSB benchmarks

• Memory-optimized indexes

Deployment

46

Support

47

• Couchbase, Inc.

• Open-source (Apache 2)

48

Querying

49

• SQL (limited)

• Stored Procedures (JS)

• Triggers (JS)

• UDFs (JS)

• .NET and .NET Core SDK

Scaling

50

• Handled by Azure

• Geographic distribution / affinity

• Consistency options

• Guaranteed zero data loss during

failovers

Usability

51

• Azure doing work for you

• .NET and .NET Core SDK

• Local emulator

• Transactions (with sprocs)

• Mongo compatible API

Speed

52

• Guaranteed ~10ms latency reads

• Guaranteed ~15ms latency writes

Deployment

53

Support

54

• Microsoft

55

Querying

56

• Linq (.NET)

• Fluent (Java)

Scaling

57

• Sharding

• Replication

• Clustering

• 4.x

Usability

58

• Built-in web UI

• Handy docker scripts

• Auto-indexing

• Transactions

Speed

59

• Auto-indexing

• .NET

Deployment

60

Support

61

• Hibernating Rhinos

• Open Source (AGPL)

• Commercial licenses & support

Summary

63

5

So which one should I use?

64

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?

Where do you find us?

67

• blog.couchbase.com

• @couchbasedev

• @mgroves

68

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

Thank you

©2017 Couchbase. All rights reserved. 6

9

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?

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 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

Managed Cloud Service (DBaaS)?

Short answer: No.

< Back

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

Longest answer: See me after class.

top related