26
No Limits with NoSQL Introduction to the Technology that Powers Today's Industry Leaders

No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

No Limits with NoSQL

Introduction to the Technology that Powers

Today's Industry Leaders

Page 2: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

Patrick EmmonsPresident

Presenter

Current:• President of DragonSpears

• Microsoft Certified Solutions Developer (MCSD)

Previous:• 15 years as Co-Founder & COO of web development firm

• Developer/Consultant: Ameritech, Motorola and Baker Robbins

Page 3: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

Tame Your Beasts

Eliminate Barriers to Growth With Web and Mobile Apps

• Create scalability

• Differentiate from competitors

• Improve time and cost efficiency

• Deepen business insights

Page 4: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

QUICK POLL

1. Completed multiple applications

2. Completed an application

3. Working on our first application

4. Here to learn how

What experience do you have with NoSQL technologies?

Page 5: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

Agenda

What NoSQL Is (and isn’t)?

To NoSQL or Not to NoSQL?

How Do I Get Started?

Challenges

Best Practices Product Overview

Case Study

Page 6: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

What Is NoSQL? Where did it come from?

1980

Relational Databases

1990

Object Databases

2000

NoSQL Data Stores

2010

Page 7: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

Types of NoSQL Databases

Column-FamilyDocumentKey-Value Graph Multi-Model

Stored on column familiesGroups of Related DataColumns Not Identical

Good for blogging platforms, heavy write volume

Not great for systems that are just getting started

ExamplesCassandra / DataStax

Hbase

JSON or XML DocumentsSelf-describing & Hierarchial

Great for content management system

Not great for complex transactional systems

ExamplesMongoDBCouchbase

Get or Put Value for a KeyBlob of data

Very fast

Great for storing session information

Cannot query by data

ExamplesRedis

MemCachedRiak KV

Store entitiesDefine relationships

Great for social networks and spatial data.

Too slow in most cases for anything else

ExamplesNeo4j

OrientDBTitan

One back end, multiple data models

Reduces operational complexity from “polyglot persistence”

ExamplesMarkLogic

FoundationDB

Page 8: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

Types of NoSQL Databases

Key-Value

Get or Put Value for a KeyBlob of data

Very fastThink hashtable

Great for storing session information

Cannot query by data

ExamplesRedis

MemCachedRiak KV

10001

10002

{“id”: 10001,“customer_id”: 8324,

“line-items”: [

{“product-id”: 5432, “quantity”: 5, “item-price”: 3.0, “total-price”: 15.0}

{“product-id”: 342, “quantity”: 2, “item-price”: 40.0, “total-price”:

80.0}…

“order-total”: 435.45,“order-date”: 2016-06-22,

“discount-code”: 234-56-7890

}

{“id”: 10002,“customer_id”: 23432,

“line-items”: [

{“product-id”: 12323, “quantity”: 4, “item-price”: 3.0, “total-price”: 12.0}

{“product-id”: 45433, “quantity”: 5, “item-price”: 40.0, “total-

price”: 200.0}…

]

“order-total”: 635.0,“order-date”: 2016-06-22

}

Page 9: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

Types of NoSQL Databases

Document

JSON or XML DocumentsSelf-describing & Hierarchial

Great for content management system

Not great for complex transactional systems

ExamplesMongoDBCouchbase

{“id”: 10001,

“customer_id”: 8324,

“line-items”: [

{“product-id”: 5432, “quantity”: 5, “item-price”: 3.0, “total-price”: 15.0}

{“product-id”: 342, “quantity”: 2, “item-price”: 40.0, “total-price”: 80.0}

]

“order-total”: 435.45,

“order-date”: 2016-06-22,

“discount-code”: 234-56-7890

}

{“id”: 10002,

“customer_id”: 23432,

“line-items”: [

{“product-id”: 12323, “quantity”: 4, “item-price”: 3.0, “total-price”: 12.0}

{“product-id”: 45433, “quantity”: 5, “item-price”: 40.0, “total-price”: 200.0}

]

“order-total”: 635.0,

“order-date”: 2016-06-22

}

Page 10: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

Types of NoSQL Databases

Column-Family

Stored on column familiesGroups of Related DataColumns Not Identical

Good for blogging platforms, heavy write volume

Not great for systems that are just getting started

ExamplesCassandra / DataStax

Hbase

Row Key: 10001

CustomerColumn“customer_id”: 8324

LineItemColumn[LineItems]

OrderColumn“order-total”: 435.45

“order-date”: 2016-06-22

DiscountColumn“discount-code”: 234-56-

7890

Row Key: 10002

CustomerColumn“customer_id”: 23432

LineItemColumn[LineItems]

OrderColumn“order-total”: 635.0

“order-date”: 2016-06-22

Page 11: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

Graph

Types of NoSQL Databases

Store entitiesDefine relationships

Great for social networks and spatial data.

Too slow in most cases for anything else

ExamplesNeo4j

OrientDBTitan

Acme, Inc

Maria

Max

Stephanie

Databases

Howard

NoSQL

Employee

Employee

Employee

Interest

Page 12: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

Magic Quadrant

for Operational Database Management Systems

https://www.gartner.com/doc/reprints?id=1-3JFMOQ2&ct=161006&st=sb

Page 13: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

To NoSQL or Not To NoSQL

YESVariety of Data

NOData Warehouses

All the data can fit into one machine well

Page 14: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

Challenges

Challenge #1: Getting Your Head Around It

Challenge #2: Security Concerns

Challenge #3: ACID transaction support

Challenge #4: Do I have the right people?

Challenge #5: Do I want to start a land war in Asia?

Challenge #6: Will the NoSQL vendor survive? Is it supported?

Page 15: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

How Do I Get Started?

Start New Migrate a

portion

Full Rip and

Replace

SQL NoSQL

Page 16: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

Best Practices

Aggregate Versus Normalized

Consider the Data Model

Make Security Part of Your Decision Making Process

TCO - Free Puppy Syndrome

Page 17: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

Product Overview

MarkLogic is an Enterprise NoSQL DBMS for JSON, XML, RDF and Geospatial Data

Document Store

Native XML DBMS

RDF Store

Search Engine

Application Server (RESTful Services)

Page 18: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

Product Overview

Additional Features

Bitemporal

Semantics

Server Side JavaScript

ACID Transactions

Government Grade Security

Anne

Maureen

John

hasMother

hasFather

Page 19: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

Case Study

Document Search and Retrieval Application

Database

Business Layer

Client Layer

Client #1

Database

Business Layer

Client Layer

Client #2

Database

Business Layer

Client Layer

Client #3

Database

Business Layer

Client Layer

Client N

Page 20: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

Case Study

Document Search and Retrieval Application

Rich Query

Capability

Full-text

Search

Semantic

Search

Business Layer

Client Layer

Page 21: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

Case Study

Industrial Internet of Things – Data Harmonization

Location 1

Database

Location N

Different LocationsIdentical Format

Acquired Company

Acquired Company

Acquired Company

Different CompaniesDifferent LocationsDifferent Formats

API

Flat Files

Page 22: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

Summary

Page 23: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

Resources

DB-Engineshttp://db-engines.com/en/ranking

NoSQL Databasehttp://nosql-database.org/

Take the 1-2-3 NoSQL Litmus Testhttp://www.dragonspears.com/blog/take-the-1-2-3-nosql-litmus-test

Get Better Data Integration, Security, and Manageability with MarkLogic 9http://www.dragonspears.com/blog/get-better-data-integration-security-and-manageability-with-marklogic-9

Page 24: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

Q&A

Page 25: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

Join Our Next Event!

Technology Executives Club Chicago

Agile Development & Business Process Management Roundtable Group

Upcoming Meeting

technologyexecutivesclub.com/sigs/events/agilechicago.php

09/28/2016

Developing an API Strategy: Increasing Efficiency & Engagement

Page 26: No Limits with NoSQL - Meetupfiles.meetup.com/20434293/DragonSpears_NoLimitsWithNoSQL.pdf · 2016-10-19 · No Limits with NoSQL Introduction to the Technology that Powers Today's

How to Contact Us …

Patrick EmmonsPresident

[email protected]