*PLEASE NOTE: NEW MEETING LOCATION - PeopleBank Offices*Presentation 1
Coding for Scale, when one database doesn't cut it (40 mins) - Daniel Black, OpenqueryPresentation 1 Abstract
So you code away, have a nice project, people start using it, and then quite rapidly the database can't keep up. You've optimised every query, and adding more servers can't be made to work with your code and you're in a pickle. Sure you can scale up the server to a point, but you've reached a limit where you need to add more. And now you've got a not-so-nice new project to re-implement it.
I'll talk about how to rewrite that code (or write it correctly first) so code can actually can operate on more that one database server. Because the type of database cluster can vary, and database developers drop functionality like immediate consistency and call them features too, we'll look at those deficiencies/features and describe workaround features so your application can do the right thing with more database servers.
I'll provide examples from MySQL, MariaDB version 10 and Galera however concepts apply to other database too.Daniel Black - Bio
Working at Open Query (http://openquery.com.au
) as MySQL/MariaDB engineer, linkedin profile: http://au.linkedin.com/pub/daniel-black/90/884/a4aPresentation 2
Building asynchronous email notifications using postgresql listen/notify, twisted and pyscopg (20 mins) - Gavin Jackson, Les Mills Asia PacificPresentation 2 Abstract
Postgresql has a pretty cool feature called LISTEN/NOTIFY that (when used with twisted and pychopg) allows you to register code to a listen channel and execute when a notify message is sent to that channel.
We use this internally to trigger immediate emails to users when system events occur (for example, when a new user is registered, a welcome email gets sent out immediately). For more details, check out: http://www.divillo.com/Gavin Jackson - Bio
Software Engineering Manager at Les Mills Asia Pacific (lots of Python/Java/Postgresql), check out www.gavinj.net
, add me to your linked in network http://au.linkedin.com/in/gavin6252/