Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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)

Slide 5

Slide 5 text

DO WE REALLY KNOW ABOUT DATABASES?

Slide 6

Slide 6 text

I HAVE NO FROCKING IDEA WHAT I M DOING ,

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

JUST PROTOTYPING

Slide 12

Slide 12 text

Database Apache Express JS Angular THE MEAN STACK

Slide 13

Slide 13 text

Database Cordova Ionic Angular THE HYBRID MOBILE STACK

Slide 14

Slide 14 text

Database IIS .NET ASP THE BILL STACK

Slide 15

Slide 15 text

Database PHP THE PHP SCRIPT KIDDIE STACK

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

Database Tomcat 4 Struts 1.2 JSP THE JAVA HARDCORE STACK

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

Database Cobol THE OLD SKOOL STACK

Slide 20

Slide 20 text

STATE OF THE ART IN DBMS

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

WHICH DBMS SHOULD I USE?

Slide 25

Slide 25 text

TL;DR KNOW-HOW PURPOSE

Slide 26

Slide 26 text

DBMS BY PURPOSE OLTP DATAWAREHOUSE RTA OLAP Cassandra Greenplum Data Warehouse

Slide 27

Slide 27 text

CURRENT BEST PRACTICE MONOLITH MICROSERVICES POO THIS WAY

Slide 28

Slide 28 text

POLYGLOT PERSISTENCE

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

HOSTED DBMS

Slide 31

Slide 31 text

HOSTED DBMS IaaS PaaS DBaaS Control + -

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

LATEEEEEEEEEEENCY

Slide 34

Slide 34 text

LATEEEEEEEEEEENCY

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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)

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

MATURITY

Slide 41

Slide 41 text

MATURITY

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

MATURITY

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

TAKE IT EASY

Slide 46

Slide 46 text

TAKE IT EASY

Slide 47

Slide 47 text

TAKE IT EASY

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

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)

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

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

Slide 52

Slide 52 text

ATA! D ATA! D ATA! D

Slide 53

Slide 53 text

• 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