Top Banner

Click here to load reader

of 64

RICK KRUEGER

Feb 26, 2016

ReportDownload

Documents

questa

RULES OF ENGAGEMENT: NOSQL IS SQL SERVER’S ALLY. RICK KRUEGER. DAVE VALENTINE. @ dataogre dataogre.com linkedin.com/in/ premierapps. @ ingeniousSQL ingeniousSQL.com linkedin.com/in/ ingenioussql. Why Rules of Engagement?. - PowerPoint PPT Presentation

PowerPoint Presentation

RICK KRUEGERDAVE [email protected] dataogre.com linkedin.com/in/premierapps

@ingeniousSQL ingeniousSQL.com linkedin.com/in/ingenioussqlRULES OF ENGAGEMENT:NOSQL IS SQL SERVERS ALLY1Why Rules of Engagement?Directives issued by competent military authority that delineate the circumstances and limitations under which United States forces will initiate and/or continue combat engagement with other forces encountered - http://ra.defense.gov (JP-104)2Why Rules of Engagement?Directives issued by competent military authority that delineate the circumstances and limitations under which United States forces will initiate and/or continue combat engagement with other forces encountered - http://ra.defense.gov (JP-104)3Why Rules of Engagement?Directives issued by competent military authority that Delineate the circumstances and limitations under which United States forces will initiate and/or continue combat engagement with other forces encountered - http://ra.defense.gov (JP-104)4Why Rules of Engagement?Directives issued by competent military authority that delineate the circumstances and limitations under which United States forces will initiate and/or continue Combat engagement with other forces encountered - http://ra.defense.gov (JP-104)5AGENDANoSQL FamilyKey ValueColumn StoreDocument DatabasesGraph DatabasesPolyglot PersistenceEventual ConsistencyWrap UpQuestions & Answers6Key Value

SimpleMy Car123C-4140-9564-5B282124U.S. Air Force photo7Key Value

Simple

Fast

My Car123C-4140-9564-5B282124U.S. Air Force photo8Key Value

Simple

FastScalable

My Car123C-4140-9564-5B282124U.S. Air Force photo9Key Value

Simple

FastScalableCheap

My Car123C-4140-9564-5B282124U.S. Air Force photo10Key Value

Simple

FastScalableCheapKey StructureMy Car123C-4140-9564-5B282124U.S. Air Force photo11

We have to wait how long?12Key ValueCouchbaseAdidas, ADP, BMWLinux, Windows, OS Xhttp://www.couchbase.com/

RiakYammer, Best Buy, GithubLinux, OS Xhttp://basho.com/riak/

RedisTwitter, Craigslist, flickrLinux, OS Xhttp://redis.io/13Key Value When to useKeys value pairs

Web Components

Device Check-in14Key Value: The Need For SpeedBEFORE100KAFTER100K

Cache

15Column Stores

DoD photo by Petty Officer 1st Class Benjamin D. Olvey, U.S. Navy. (Released)16Column Stores 123455 Car: 626 Year: 2008 Name: Jen Insurance: St FarmIDNameInsuranceCarYearWarranty123455JenSt Farm6262008NULL12356Bob12357JohnGeicoSpeed 32013Yes 123456 Name: Bob 123457 Car: Speed 3 Year: 2013 Name: John Insurance: Geico 10 11 12 Type: Oil Type: Tires Type: Wipers Warranty: YesIDTypeCarID10Oil1235711Tires1235712Wipers12357Person_DetailsCar_Details17Column StoresScalableSimple is FastColumn AggregationComplex = Map ReduceComplex can be Slow

DoD photo by Petty Officer 1st Class Benjamin D. Olvey, U.S. Navy. (Released)18Column StoresScalableSimple is FastColumn AggregationComplex = Map ReduceComplex can be Slow

DoD photo by Petty Officer 1st Class Benjamin D. Olvey, U.S. Navy. (Released)19Column StoresScalableSimple is FastColumn AggregationComplex = Map ReduceComplex can be Slow

DoD photo by Petty Officer 1st Class Benjamin D. Olvey, U.S. Navy. (Released)20Column StoresScalableSimple is FastColumn AggregationComplex = Map ReduceComplex can be Slow

DoD photo by Petty Officer 1st Class Benjamin D. Olvey, U.S. Navy. (Released)21Column StoresScalableSimple is FastColumn AggregationComplex = Map ReduceComplex can be Slow

DoD photo by Petty Officer 1st Class Benjamin D. Olvey, U.S. Navy. (Released)22Column StoresHBaseeBay, BlackBerry, ExpediaLinux, OS X, Windows **http://hbase.apache.org/

CassandraFacebook, Shazam, TwitterLinux, OS X, Windowshttp://cassandra.apache.org/

** Additional software is required

HD Insight23Column Stores: Do I need itUnstable Schema

Nullable Columns

Collections

http://www.youtube.com/watch?v=7hfpQMu5xJ0

24Document Databases"That's so crazy that it just might work!"

25Document Databases: Planning

http://www.blueangels.navy.mil/26Document Databases: Schemaless?

27Document Databases: Not Relational

Trims Table4111790Base1184121790John Cooper Works2084131790S1724141791Base121Models Table1790Clubman1791Countryman1792Coupe1793Roadster28

Document Databases: NormalizedJSON: JavaScript Object Notation29Document Databases: Denormalized

30Document Databases: Natural

31Document Databases: OptionsmongoDBCraigslist, Foursquare, Shutterfly, IntuitWindows, Linux, and OS Xhttp://www.mongodb.org/

CouchDB (CouchBase)HootSuite, VimeoWindows, Linux, and OS Xhttp://couchdb.apache.org/

RavenDBMSNBC.COM, JetBrainsWindows and Linuxhttp://ravendb.net/

32Document DatabasesRavenDB Management Studio

33Document DatabasesCouchDB Futon

34You Might Need A Document Databaseif your application is document based (eg Content Management, Blogging, User Data Management), or the data isnt tabular or structuredif you want to archive data, and do not want to deal with schema changes in the archived tableif you are looking for an easier upgrade path or have constant schema churnif you find yourself using SQL antipatterns, like EAV (Entity-attribute-value)if programmer friendliness is a big concern

35Graph DatabasesRelationships

Nodes PropertiesEdges

RecordsDataPK / FK2: (Make: Mini, Model: Clubman)1: (Name: Rick, DOB:20120505)OWNS:(VIN: 12BA126)DoD photo by Staff Sgt. Samuel BendetU.S. Air Force (Released)36Graph Databases

37Graph Databases1 | Rick2 | Dave3 | Mini4 | YugoOwnsWantsWantsOwns6 | 626Wants5 | GlenOwnsWants

http://jalopnik.com/365474/how-about-a-yugo-for-the-24-hours-of-lemons7 | Brandon9 | Bob11 | Nick8 | S413 | A610 | M412 | NeonOwnsOwnsWantsOwnsWantsOwnsWants38Graph Databases

https://www.facebook.com/about/graphsearch39Graph DatabasesNeo4jAdobe, Cisco, T-MobileLinux, OS X, Windowshttp://www.neo4j.org/

AllegroGraphNASA, Kodak, PfizerLinux, OS X, Windowshttp://www.franz.com/agraph/allegrograph/

InfiniteGraphCIA, DODLinux, OS X, Windowshttp://www.objectivity.com/infinitegraph

40Graph Databases

41Graph Databases

42Graph Databases

43Graph Databases When to useNetwork

Relationships

Geo44Polyglot Persistence"This is space! Course, were just in the beginning part of space, we-we havent even got to *outer* space yet! Armageddon (1998)

45Polyglot Persistence: Write-Only

46Polyglot Persistence: Write OnlyGraph Database?Key Value?Column Store?Document Database?47Polyglot Persistence: Schema Upgrade

48Polyglot Persistence: Archiving

49Polyglot Persistence: CacheOLTPWarehouseOther DataNightlyNightly50Polyglot Persistence: CacheWarehouseOther DataVersion 1Version 2Version 351Polyglot Persistence: 1000 Words

52Consistency

53Consistency: We want it ALLSpeedAvailabilityScale

54Consistency: DefinitionsN the number of Nodes (or replicas) that store the dataW the minimum number of nodes that must acknowledge the Write before considered completeR the minimum number of Read nodes (or replicas) queried for a read operation55Consistency: Distributed

56Consistency: StrongW+R > N == Strong Consistency

N = 2

W = 2R = 1

57Consistency: StrongW+R > N == Strong Consistency

N = 2

W = 1R = 2

58Consistency: WeakN = 2

W = 1R = 1

W+R

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.