slamdata - how mongodb is powering a revolution in visual analytics

24
@slamdata @jdegoes John A. De Goes — CTO SlamData Inc. “SlamData is my new favorite thing — a game changer!” — SlamData User

Upload: john-de-goes

Post on 16-Apr-2017

2.894 views

Category:

Software


0 download

TRANSCRIPT

Page 1: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

@slamdata @jdegoes

John A. De Goes — CTO SlamData Inc.“SlamData is my new favorite thing — a game changer!” — SlamData User

Page 2: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

@slamdata @jdegoes

Page 3: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

@slamdata @jdegoes

Advanced Data Science in the Cloud

Page 4: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

@slamdata @jdegoes

Page 5: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

@slamdata @jdegoes

SQL Analytics

Page 6: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

@slamdata @jdegoes

Page 7: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

@slamdata @jdegoes

[This Slide Intentionally Left Blank]

NoSQL Analytics

Page 8: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

@slamdata @jdegoes

TheEight

Deadly Obstacles to NoSQL Analytics

Page 9: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

@slamdata @jdegoes

CHaracteristics1. Generic Data Model

Page 10: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

@slamdata @jdegoes

CHaracteristics2 Isomorphic Data Model

Data SQL²

{ "userId": 8927524, "profile": { "name": "Mary Jane", "age": 29, "gender": "female" }, "comments": [{ "id": "F2372BAC", "text": "I concur.", "replyTo": [9817361, "F8ACD164F"], "time": "2015-02-03" }, { "id": "GH732AFC", "replyTo": [9654726, "A44124F"], "time": "2015-03-01" }]}

SELECT comments[*].replyTo[*] FROM data

Page 11: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

@slamdata @jdegoes

CHaracteristics3. Multidimensionality

Data SQL²

{"user_id": 928347234, "email": null, "events": [ {"impression":{ "ts": 912348934, "page": "index.html"}}]}

SELECT user_id, [events[_] WHERE events[_].ts < 9347234 ...] AS events FROM visitors

Page 12: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

@slamdata @jdegoes

CHaracteristics4. Unified Schema/Data

Data SQL²

{"user_id": "[email protected]", "band_plays":{ "Squirrel Nut Zippers": 56, "Red Hot Tomatoes": 19, "Big Bad Voodoo Daddy": 102}}

SELECT band_plays{*:} AS artistName, SUM(band_plays{*}) AS votes FROM music GROUP BY band_plays{*:}

Page 13: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

@slamdata @jdegoes

CHaracteristics5. Polymorphic Queries

Data SQL²

{"type": "click","link": "http://foo.com""timestamp": 123987172}

{"type": "impression","page": "index.html""timestamp": 92372}

SELECT COUNT(*) AS count, timestamp FROM data GROUP BY timestamp

Page 14: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

@slamdata @jdegoes

CHaracteristics6. Post-Relational

Data SQL²

{"name": "John Doe", "blog_posts": [ {"post_id": "89934"}, {"post_id": "92371"} ]}

SELECT authors.name, posts.title FROM authors JOIN posts ON authors.blog_posts[*].post_id = posts._id

Page 15: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

@slamdata @jdegoes

CHaracteristics7. Runtime Type Id & ConverSION

Data SQL²

{"email": ["[email protected]", "[email protected]"]}{"email": { "home": "[email protected]", "work": "[email protected]"}}

SELECT CASE TYPEOF email -- old: email stored in 2nd el: WHEN 'array' THEN email[1] -- new format: WHEN 'map' THEN email.work ELSE email END AS emailFROM users

Page 16: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

@slamdata @jdegoes

CHaracteristics8. Structural Pattern Matching

Data SQL²

{"user_id": "[email protected]","events": [{"type": "purchase","timestamp": 12392342,"order_id": "2ffa34aa"},{"type": "click","timestamp": 92327123,"link": "http://foo.com"}]}

SELECT CASE user_events WHEN […, e1, e2, …] THEN e1.timestamp - e2.timestamp END AS deltaFROM users

Page 17: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

@slamdata @jdegoes

● Open Source, Visual analytics for NoSQL

● Search, Explore, Refine, Analyze, and Visualize

● Embed interactive reports on live MongoDB Data

● Extended SQL support that runs 100% in-database

Page 18: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

Market Response

@slamdata @jdegoes

● Launched version 1 just 13 months ago● 3,000 Users & Growing Fast● Many Fortune 500 companies

“Thank you for making such a wonderful product! SlamData helps us analyze data from

our local database for MongoDB, which consist millions of records, with thousands of

new records added on a daily basis.”

— SlamData User

Page 19: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

Why MongoDB?

@slamdata @jdegoes

1. Modern Data Model

Page 20: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

Why MongoDB?

@slamdata @jdegoes

2. Ad Hoc Queries

Page 21: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

@slamdata @jdegoes

Why MongoDB?3. Mainstream NoSQL

Page 22: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

@slamdata @jdegoes

Why MongoDB?4. Open Source

Page 23: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

@slamdata @jdegoes

SlamData Open Source Projecthttp://slamdata.com (website)

http://github.com/slamdata/slamdata (code)

Characteristics of NoSQL Analytics Systemshttp://slamdata.com/whitepapers/characteristics-of-nosql-analytics-systems/ (whitepaper)

Quasar NoSQL Analytics Enginehttp://quasar-analytics.org (website)

http://github.com/quasar-analytics/quasar (code)

Quasar BI Connector for Tableau, Qlik, Cognos, etc.http://github.com/quasar-analytics/quasar-fdw (code)

Thank you for listening! Questions?

Page 24: SlamData - How MongoDB Is Powering a Revolution in Visual Analytics

LIVE DEMO@slamdata @jdegoes

Appendix A