WHY POSTGRES
SQL DESERVE
NOSQL FAN
RESPECT QUENTIN ADAM
@WAXZCE
Quentin ADAM from the Clever Cloud
@waxzce on twitter – github- soundcloud – instagram ….
WHO AM I ?
MY DAY TO DAY WORK :
CLEVER CLOUD, MAKE YOUR
APP RUN ALL THE TIME
And learn a lot of things about your code, apps, and good/bad design…
KEEP YOUR APPS ONLINE. MADE WITH
NODE.JS, SCALA, JAVA, RUBY, PHP,
PYTHON, GO…
AND LEARN A LOT OF THINGS ABOUT
YOUR CODE, APPS, AND GOOD/BAD
DESIGN…
SOME OF THE COOL THINGS
• ACID or not
• Schemaless or not
• Concurrent writing or not
• Consistent or eventually consistent
• HA or not
• …
THINK ABOUT THE DATA
STORAGE
PLAYLIST
MANAGEMENT APP,
MULTIPLE
BACKEND,
PLAYLIST HISTORY
TO DO
ENTITIES
• user management
• Playlists
• Tracks history (deezer, spotify, soundcloud)
TRACK DATA IS
HETEROGENEOUS
Use nosql
WE NEED SCHEMALESS
ARBITRARY DATA DEPTH
EXTERNAL DATA IS ALREADY JSON
“I NEED
UNIQUE
USER ON
EMAIL”
“WHICH
TRACKS ARE
PLAYED AT
8PM TO 9PM
WEEK DAYS?”
COMPLEX DATA
EXPLORATORY IS HARD
“… IN PARIS
AREA”
COMPLEX DATA
EXPLORATORY IS HARD
“… BY MALE
USERS”
NEED SOME RELATIONSHIPS IN YOUR
DATA STORE?
“…ORDER
BY..”
“…UI NEED
PAGINATION
…”
WE
ALREADY
KNOW ALL
OF THESE
LET’S CREATE OUR TRACKS
TABLE
UUID AS
PRIMARY
KEY
& NO
SERIAL
“WE HAVE 2000000 USERS
ON OUR PRODUCT”
http://www.my-platform.com/users-creation-confirm/42
?valid_key=jgqsdkfhqksdjfhkjsdhf2342345
SAME ID FOR VARIOUS ENTITIES
ON YOUR DATABASE
LET’S CREATE OUR TRACKS
TABLE
LET’S CREATE OUR TRACKS
TABLE
NATIVE JSON & JSONB TYPE
LET’S CREATE OUR TRACKS
TABLE
THEN EMBRACE SQL POWER
*WITH REAL DATABASE LIKE
POSTGRE SQL
USE SQL FUNCTION ON IT
TEMPORAL FUNCTION WITH
PGSQL
COUNT(*) ON NOSQL?
GEO BASED REQUEST?
“MY PLAIN
OLD SQL IS
SO
POWERFUL?
”
CHOOSE DB (AND VERSION)
MANAGE IT LIKE REGULAR
JSON IN YOUR CODE
FREE YOUR MIND ABOUT
DATASTORE + DRIVER ACCESS
“SO PGSQL
IS BETTER
THAN
MONGO?”
ATOMICITY OF CHANGE
INSIDE A JSON
CONCURRENT INSERT
SHARDING & REPLICA
HIGH AVAILABILITY
CHOOSE A
DATASTORE IS
REAL
ARCHITECTURE
JOB
TRY IT
BEFORE :-)
FREE DEV
PLAN ON
CLEVER
CLOUD
I’m @waxzce on twitter
I’m the CEO of
A PaaS provider, give it a try
;-)
THX FOR LISTENING
& QUESTIONS TIME
Clever Cloud coupon : devoxx15roxx