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!
vFabric Postgres is a new offering from VMware. vFabric Postgres is available either as deployed by VMware vFabric Data Director or as a service on CloudFoundry.com.
This talk is bout using vFabric Postgres from a user's perspective.
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.
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
The PostgreSQL database ships out of the box with a wide variety of unique features, including powerful type system, a built-in key-value store, full text search, cryptography libraries, and a huge tool chest of available contrib modules for all kinds of different tasks.
Unfortunately, many Ruby developers have been locked in a box by less powerful data stores and while they have been leaning on PostgreSQL's rock-solid storage engine, they have constrained themselves to the lowest-common-denominator features.
In this talk, I want to encourage Ruby developers to reach beyond their usual set of tools, and I will talk about some of the long-standing features you can take advantage of today. We'll also talk about some of the features which aren't as well supported yet, and look at how we as a community can work together to close that gap and bring the full power of PostgreSQL to bear on our problems.
This talk will discuss the impacts and implementation of fast, automated provisioning of replicants -- both as writable 'forked' copies and read-only streaming replica 'followers' of PostgreSQL databases, as implemented at Heroku on a large scale as a service.
Included will be a brief summary of use cases, anecdotes, and challenges, as well as new trade-offs in the design of applications and partitioning of data. In addition, the technical architecture behind such a service and how it unifies rock-solid, low-impact disaster recovery, replication, and database-forking will be covered.
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.
Having difficulty translating complex business inquiries into SQL? Want an instant web interface for your relational database? Up for some tasty dashboards? Come hear about HTSQL.
HTSQL is a URI-based high-level query language / web service for PostgreSQL designed especially for creating interactive dashboards and answering complex business inquiries. We use HTSQL as a REST query interface for data integration and ad-hoc reporting by technical users or ``accidental programmers``.