This hands-on workshop will present the Ruby programming language, the Rails web application framework, and usage with PostgreSQL. We will spend the morning digging into the Ruby language in order to form a solid foundation for the afternoon session, in which we start building a Rails application backed by PostgreSQL. We will also learn how to manage your database schema, and make use of Postgres specific features from a Rails app.
Knowledge of Object Oriented programming is assumed.
Project Mogwai can be found at mogwai.sourceforge.net. [I am not affiliated with Project Mogwai.] There are several data related components, but the focus of the mini-tutorial is ERDesigner.
A real-world use case will be presented, involving:
1. Reverse engineering of an existing database.
2. ERD creation and modification.
3. Testing with automatically generated DDL.
4. Provisioning for production needs.
Media will be available with the Java runtime and ERDesigner, so bring your laptop!
pg_reorg is a simple but very handy tool that allows to reorganize tables without downtime.
It helps to eliminate bloat, reduce IO, improve performance, delete large portion of a big table.
It may be especially handy in large sharded and replicated database environments.
Unfortunately, not too many people are familiar with the tool. This talk demonstrates how this tool may be used for making database administration a little easier.
The key asset to many businesses is the data they store. So why do most programmers opt to implement their data integrity outside of the schema? Using concepts and methodologies from The Schemaverse, this session will show how you can benefit from creating self-validating databases, and discuss what limitations exist (real or preceived). Audience participation will be encouraged during the session.
My co-presenter for this session will be Michael Perklin.
This talk is an introduction to Sequel, the ruby database library. Sequel provides a simple, powerful, and flexible API for interacting with SQL databases. Sequel allows you to write all your SQL code by hand if you want, but it also allows you to use ruby objects to represent SQL concepts, so that you rarely need to. Sequel includes a comprehensive and extendible ORM with extensive support for manipulating associated objects. Sequel supports advanced database features such as prepared statements, bound variables, savepoints, two-phase commit, transaction isolation, common table expressions, window functions, master/slave configurations, and database sharding.
There are cases where a single DBMS vendor is not enough. In this talk we'll analyze how to painlessly solve the following real-world needs with an open source Tungsten Replicator: real-time integration, seamless migration, data warehousing and leveraging the power of a specific DBMS SQL dialect. Not only we will learn how to move data from MySQL to PostgreSQL in real time (yes, let's free those MySQL petabytes to PG users!), but we'll also discuss a fresh and important way of extracting data from PostgreSQL and making it available to other DBMSes. We’ll conclude with a demo of database updates moving in real time between different databases.
Database access from small-footprint hardware is becoming a mainstream problem for application developers. Given the wide disparity in platform capabilities, how can you make the best use of Postgresql from a mobile platform?
1. Overview of J2ME/CDC/MIDP architectures
2. The 'normal' answer to database connectivity
4. More than web services
5. Wrap - up / Q&A
If you don't know what a race condition is, or you thought that SQL was immune from race conditions, this talk is for you. These are bugs that slip through testing, are hard to track down, and might cause invalid data in your database.
The good news is that 9.1 offers a cure: true serializability through Serialized Snapshot Isolation (SSI). It's easy to use and magically detects a live SQL race condition and turns it into an error.
Oh, did I say "magic"? It's actually technology developed by Kevin Grittner and Dan R.K. Ports, based on some fresh research by Michael J. Cahill, et al.
Of course, there is a catch: because race conditions may turn into errors, application developers need to be prepared to retry transactions when that happens. This is usually a minor burden, however, because all you need to do is send the same transaction again.
Powerful datatypes such as hstore and json give PostgreSQL the most compelling feature of many NoSQL databases, which is management of semi structured data. Unfortunately the popular Ruby ORMs try very hard to equalize all databases, so these and other features often go unnoticed or underappreciated.
While there are some Ruby libraries providing application-level bindings for these features, they are generally new or otherwise not well-known. Developers are also often further discouraged by having to sacrifice the benefits of their ORM to use these libraries. Fortunately, the situation is starting to improve.
We will go into detail about what was needed to bring hstore support to Ruby, survey the current PostgreSQL and Ruby landscape, and discuss what needs to happen in the near future to improve their relationship.
The Schemaverse is a space-based strategy game implemented entirely within a PostgreSQL database. If you've ever wanted to use SQL to conquer the world, now you can do one better and conquer a universe. This talk will introduce you to the game mechanics and discuss the project's goals, growth and development.
A great overview of what quite possibly is the most important utility in the PostgreSQL arsenal, pg_dump and it's sister pg_restore. We will discuss overall usage, best practices as well as features not normally used (but should be) such as the toc file.