Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Data! Data! Data!

David Bonilla
November 19, 2016

Data! Data! Data!

A cosmovision of the database industry and database itself as a product, not just a technology.

David Bonilla

November 19, 2016
Tweet

More Decks by David Bonilla

Other Decks in Technology

Transcript

  1. ATA!
    D
    ATA!
    D
    ATA!
    D
    (
    @david_bonilla )
    #datadatadata

    View full-size slide

  2. DAVID BONILLA
    39 YO
    FATHER OF IRENE AND DANI
    ATLETICO DE MADRID ÜBERFAN
    CHIEF PRODUCT MANAGER @ 8KDATA
    15Y EXPERIENCE SHIPPING DIGITAL PRODUCTS

    View full-size slide

  3. AVAILABLE ON NOV 30TH
    Enabling SQL Analytics & Data Warehousing for MongoDB
    Your queries 100x faster. No kidding.

    View full-size slide

  4. A database is a collection of data organized with tables,
    queries, reports, views, and other objects.
    A database management system (DBMS) is a computer
    software application that interacts with the user and other
    applications to allow the definition, creation, querying,
    update, and administration of databases.
    database (dā-tə-ˌbās)

    View full-size slide

  5. DO WE REALLY
    KNOW ABOUT
    DATABASES?

    View full-size slide

  6. I HAVE
    NO FROCKING IDEA
    WHAT I M DOING
    ,

    View full-size slide

  7. JUST PROTOTYPING

    View full-size slide

  8. Database
    Apache
    Express JS
    Angular
    THE MEAN STACK

    View full-size slide

  9. Database
    Cordova
    Ionic
    Angular
    THE HYBRID MOBILE STACK

    View full-size slide

  10. Database
    IIS
    .NET
    ASP
    THE BILL STACK

    View full-size slide

  11. Database
    PHP
    THE PHP SCRIPT KIDDIE STACK

    View full-size slide

  12. Database
    Doctrine
    Symfony 2
    HTML 5
    THE PHP “I WANT TO BELIEVE” STACK

    View full-size slide

  13. Database
    Tomcat 4
    Struts 1.2
    JSP
    THE JAVA HARDCORE STACK

    View full-size slide

  14. Database
    Active Record
    Ruby on Rails
    ERB
    THE “I WAS COOL IN 2006" STACK

    View full-size slide

  15. Database
    Cobol
    THE OLD SKOOL STACK

    View full-size slide

  16. STATE OF THE
    ART IN DBMS

    View full-size slide

  17. $30B
    AGR 6%
    Relational
    Databases
    $5B
    AGR 35%
    NoSQL
    Databases
    DBMS TAM

    View full-size slide

  18. WHICH DBMS
    SHOULD I USE?

    View full-size slide

  19. TL;DR
    KNOW-HOW
    PURPOSE

    View full-size slide

  20. DBMS BY PURPOSE
    OLTP DATAWAREHOUSE
    RTA OLAP
    Cassandra
    Greenplum
    Data Warehouse

    View full-size slide

  21. CURRENT BEST PRACTICE
    MONOLITH MICROSERVICES
    POO THIS WAY

    View full-size slide

  22. POLYGLOT PERSISTENCE

    View full-size slide

  23. MICROSERVICES
    MAKE WORKING WITH
    POLYGLOT PERSISTENCE
    NATURAL (BUT NOT EASY).

    View full-size slide

  24. HOSTED DBMS
    IaaS
    PaaS DBaaS
    Control +
    -

    View full-size slide

  25. Latency
    Security
    Governance
    Regulation
    THE 4 HORSEMEN OF
    THE HOSTED DBMS APOCALYPSE

    View full-size slide

  26. LATEEEEEEEEEEENCY

    View full-size slide

  27. LATEEEEEEEEEEENCY

    View full-size slide

  28. YOUR CONVENIENCE
    CAN’T BE EARNED IN EXCHANGE FOR
    YOUR SOFTWARE PERFORMANCE.

    View full-size slide

  29. DISTRIBUTED DBMS
    PICK
    2
    Partition Tolerance
    The System works well despite physical network partitions
    Availability
    Each client can always read and write
    Consistency
    All clients have the same view of the data
    (CAP THEOREM 101)

    View full-size slide

  30. DISTRIBUTED DBMS
    PICK
    1
    Availability
    Each client can always read and write
    Consistency
    All clients have the same view of the data
    (CAP THEOREM 101)
    Partition Tolerance
    The System works well despite physical network partitions

    View full-size slide

  31. CARLY RAE
    JEPSEN
    https://aphyr.com
    Hey I just met you
    Our network's crazy
    But here's my data
    So store it maybe

    View full-size slide

  32. DO YOU REALLY NEED
    TO SCALE HORIZONTALLY?
    STACK OVERFLOW SERVES
    1.3 BILLION PAGEVIEWS MONTHLY
    WITH 4 SQL SERVERS.

    View full-size slide

  33. MATURITY
    “Oracle was started in 1977. It wasn't until 1990 that
    they had a product that they weren't embarrassed by.
    The first couple of versions were viewed to be a joke.
    MySQL was started in 1988 – it wasn't until like the
    early 2000s that it was viewed as a viable product.”
    ~ Dev Ittycheria, MongoDB CEO

    View full-size slide

  34. a professional must focus on
    provide value TO CUSTOMERS
    not on being a beta tester of
    the last hyped technology.

    View full-size slide

  35. TAKE IT EASY

    View full-size slide

  36. TAKE IT EASY

    View full-size slide

  37. TAKE IT EASY

    View full-size slide

  38. Those who
    cannot remember the past
    are condemned to repeat it
    ~ GEORGE SANTAYANA

    View full-size slide

  39. REALITY CHECK
    YOU DON’T NEED TO BE WEB SCALE (FROM DAY 1)
    YOU DON’T NEED TO BUILD MICROSERVICES (FROM DAY 1)
    HOST YOUR DATA NEAR YOUR LOGIC
    EVALUATE NOT ONLY THE SYSTEM BUT ITS ECOSYSTEM
    DBMS SHOULD BE A FACILITATOR NOT A BOTTLENECK
    WHEN IN DOUBT, CHOOSE A GENERAL PURPOSE RDBSM
    DEFINE A BACKUP AND RESTORE POLICY (FROM DAY 1)

    View full-size slide

  40. no matter how powerful the database behind you is
    IF THE FRONT-END LOGIC SUCKS,
    YOUR SOFTWARE WILL SUCK.

    View full-size slide

  41. Q &
    A
    SLIDES
    bit.ly/datamotion16
    TWITTER
    @david_bonilla
    CONTACT
    [email protected]
    BLOG
    www.bonillaware.com

    View full-size slide

  42. ATA!
    D
    ATA!
    D
    ATA!
    D

    View full-size slide

  43. • https://en.wikipedia.org/wiki/ACID
    • https://hpi.de/naumann/projects/rdbms-genealogy.html
    • https://451research.com/state-of-the-database-landscape
    • http://martinfowler.com/articles/nosql-intro-original.pdf
    • http://db-engines.com/
    • http://www.slideshare.net/tmatyashovsky/new-life-inside-monolithic-application
    • http://www.slideshare.net/alvarosanchezmariscal/stateless-authentication-for-microservices
    • http://www.mongodb-is-web-scale.com/
    • http://robertgreiner.com/2014/08/cap-theorem-revisited/
    • https://en.wikipedia.org/wiki/CAP_theorem
    • https://en.wikipedia.org/wiki/Paxos_(computer_science)
    • https://aphyr.com/tags/Jepsen
    • http://queue.acm.org/detail.cfm?id=1394128
    • http://www.informationweek.com/database/the-man-who-tortures-databases/d/d-id/1111407
    • https://www.infoq.com/news/2015/06/scaling-stack-overflow
    • http://nickcraver.com/blog/2016/02/17/stack-overflow-the-architecture-2016-edition/
    • http://stackexchange.com/performance
    • http://www.theregister.co.uk/2016/11/16/mongodbs_ceo/
    • http://www.odbms.org/2015/07/nosql-by-the-numbers/
    • https://engineering.meteor.com/mongodb-queries-dont-always-return-all-matching-
    documents-654b6594a827#.g0bgx1u3b
    • http://de.slideshare.net/felixgessert/nosql-data-stores-in-research-and-practice-icde-2016-tutorial-extended-version
    • https://softwareefficiency.wordpress.com/2015/03/14/big-data-technology-and-the-responsibility-shift/
    • https://speakerdeck.com/abchaudhri/considerations-for-using-nosql-technology-on-your-next-it-project-1
    • http://arstechnica.com/feature-series/specialized-databases/
    bibliography

    View full-size slide