SlideShare a Scribd company logo
Playframework Hamburg
Meetup #1
Martin Grotzke - inoio gmbh
@martin_grotzke - http://inoio.de
reactive persistence showcase with
postgresql-async
@martin_grotzke
Motivation
●
Realtime webapps
●
Long running connections
●
Thread based model: limited by # threads
●
One thread per request, bound until the request is complete
●
Thread blocked by I/O, idle
●
CPU switching context
●
Servlets, Ruby on Rails, Django, PHP
@martin_grotzke
Solution – evented servers
●
Evented servers: single thread per CPU core
The Idea: threads are never blocked
●
All I/O is asynchronous
●
Instead of waiting, the thread can process
other requests
●
Come back when the response from the I/O
call is ready
●
Play, Node.js, Twisted
@martin_grotzke
Challenge – backends
●
Mostly synchronous, blocking drivers
●
Most prominent: JDBC (synchronous API), on
top connection pools, query DSL libs,
ORMs ...
@martin_grotzke
Solution example:
postgresql-async
https://github.com/mauricio/postgresql-async
●
postgresql-async & mysql-async
●
Netty based drivers for MySQL and
PostgreSQL written in Scala - 2.10
@martin_grotzke
Sample project
https://github.com/magro/play-coda-reactive
Play 2 sample (based on the standard
computer database sample) to demonstrate
async, non-blocking database access using
the postgresql-async driver
Questions!
@martin_grotzke
http://inoio.de

More Related Content

PDF
vimshell made other shells legacy
PDF
Ruby tutorial
PPTX
My month with Ruby
PDF
deoplete: The dark powered auto completion plugin for neovim
PPTX
PHP and node.js Together
PDF
Let's talk about neovim
PDF
Vim conf2019
ODP
Neosnippet.vim + Deoppet.nvim in Vim conf 2017
vimshell made other shells legacy
Ruby tutorial
My month with Ruby
deoplete: The dark powered auto completion plugin for neovim
PHP and node.js Together
Let's talk about neovim
Vim conf2019
Neosnippet.vim + Deoppet.nvim in Vim conf 2017

What's hot (17)

ODP
Intro to CrunchBang / Linux Fest Northwest 2013
PDF
pacproxy - Ruby hiroba 2014
PDF
Atom Text Editor: Resistance is Futile
PDF
Integrating Node.js with PHP
PDF
Introduction to Node.js
PDF
Working with Asynchronous Events
PDF
Getting started with Ruby on Rails
PDF
Deep drive into rust programming language
KEY
Introduction to WebSockets
PDF
2013 - Brian Stanley - Memcached, Cached all the things
PDF
Asynchronous PHP | Codesushi - Warsaw 2017
PDF
About order form improvements
PPTX
An Intro to Atom Editor
PDF
What python can learn from java
PDF
Vim and Python
ODP
Rust Primer
Intro to CrunchBang / Linux Fest Northwest 2013
pacproxy - Ruby hiroba 2014
Atom Text Editor: Resistance is Futile
Integrating Node.js with PHP
Introduction to Node.js
Working with Asynchronous Events
Getting started with Ruby on Rails
Deep drive into rust programming language
Introduction to WebSockets
2013 - Brian Stanley - Memcached, Cached all the things
Asynchronous PHP | Codesushi - Warsaw 2017
About order form improvements
An Intro to Atom Editor
What python can learn from java
Vim and Python
Rust Primer
Ad

Similar to Playframework Hamburg Meetup #1 - Reactive persistence with Play 2 & postgresql-async (20)

PDF
Concurrency patterns in Ruby
PDF
Concurrency patterns in Ruby
PDF
A first look into the Project Loom in Java
PDF
NODE JS OC Meetup 1
PDF
How to make your ruby code faster with multithreading
KEY
Ruby Concurrency Realities
PDF
PHP vs Node.js
PDF
Performance optimization techniques for Java code
PDF
Screaming Fast Wpmu
PDF
Node.js streams talk
PDF
Middleware as Code with mruby
PDF
HTTP/2 turns 3 years old // Web Performance Meetup wao.io 20180612
PDF
Presentation
ODP
Concurrent Programming with Ruby and Tuple Spaces
PDF
Deep Dive into Node.js Event Loop.pdf
PDF
Programming with Threads in Java
PDF
Embedded Erlang, Nerves, and SumoBots
PPTX
Architecture of web servers
PDF
The art of concurrent programming
Concurrency patterns in Ruby
Concurrency patterns in Ruby
A first look into the Project Loom in Java
NODE JS OC Meetup 1
How to make your ruby code faster with multithreading
Ruby Concurrency Realities
PHP vs Node.js
Performance optimization techniques for Java code
Screaming Fast Wpmu
Node.js streams talk
Middleware as Code with mruby
HTTP/2 turns 3 years old // Web Performance Meetup wao.io 20180612
Presentation
Concurrent Programming with Ruby and Tuple Spaces
Deep Dive into Node.js Event Loop.pdf
Programming with Threads in Java
Embedded Erlang, Nerves, and SumoBots
Architecture of web servers
The art of concurrent programming
Ad

Recently uploaded (20)

PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPT
Teaching material agriculture food technology
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Big Data Technologies - Introduction.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Encapsulation theory and applications.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
Unlocking AI with Model Context Protocol (MCP)
Encapsulation_ Review paper, used for researhc scholars
The Rise and Fall of 3GPP – Time for a Sabbatical?
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Teaching material agriculture food technology
Diabetes mellitus diagnosis method based random forest with bat algorithm
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Review of recent advances in non-invasive hemoglobin estimation
Big Data Technologies - Introduction.pptx
The AUB Centre for AI in Media Proposal.docx
Chapter 3 Spatial Domain Image Processing.pdf
Machine learning based COVID-19 study performance prediction
Spectral efficient network and resource selection model in 5G networks
Encapsulation theory and applications.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
20250228 LYD VKU AI Blended-Learning.pptx

Playframework Hamburg Meetup #1 - Reactive persistence with Play 2 & postgresql-async