PostgreSQL Conference Fall 2007 – Friday meetup

A few people on the mailing lists and IRC are organizing a meetup on the Friday before the PostgreSQL conference. Check out the wiki page set up to select a location and say whether or not you’ll be there! If you’re a local, vote for the location you’d like to meet at.

Here are the restaurants and bars currently on the list:

  • NW Lucky Lab – 1945 NW Quimby (pretty central, good space, outdoor seating)
  • Side Door – 425 SE Washington St (great food)
  • Paddy’s – 65 SW Yamhill Street (right off the max! excellent scotch selection)

If you’ll be there, and haven’t already subscribed to the attendees mailing list, go subscribe now so you’ll get the latest updates on events.

PostgreSQL Conference Fall 2007 – Where to eat lunch

Screenshot of conference mapThanks to many suggestions from PDXPUG‘s mailling list and Gabrielle Roth‘s patience with Google Maps, we have a great map of the area around the conference. She was kind enough to put the nearest parking garage ($9/day) on the map as well. If you’re looking for some parking that’s a bit more affordable but a further walk away, try Smart Park. You could also park on the East side of the river, and walk across one of our beautiful bridges or hop on a bus or the Max (you’ll need to transfer to a Bus or the Street Car from the Max to get to PSU campus). To figure out where and when to ride public transit, you can call for live help at 503-238-RIDE, or use the Trip Planner.

Portland has great food. If you’re going to be in town for a couple of days, there are great restaurants walking distance from the downtown hotels (Higgins, Typhoon!, Saucebox, many others), on the waterfront (Three Degrees, McCormick and Schmick’s), and over on NW 23rd/21st (Paley’s Place, Lucy’s Table, Serratto, Muu Muu’s). You can get directly to NW on the Streetcar, which has a stop one block from the conference. And of course there are many food carts throughout the city. If you want even more suggestions, check out the Willamette Week’s top 100 restaurants in Portland.

Those of you who have come to Portland for OSCON the last couple of years probably know about a few of the great places on the East side of the river. We’ll be on the west side, and there’s a ton of great places to explore.

PostgreSQL Conference Fall 2007 – talk descriptions are up!

I just finished updating the Talks page for PostgreSQL Conference Fall 2007. There are so many great folks giving talks — Neil Conway, Josh Berkus, Robert Treat, David Fetter and Robert Hodges are all flying in. It’ll be great to see Josh, Robert and David again! I’m excited to meet Neil and Robert, both of whom I’ve heard great things about.

PDXPUG will be represented by Mark Wong and David Wheeler. Mark will be talking about performance, building on a talk he gave last year to PDXPUG on performance and TPC benchmarks. This conference talk will be focused on practical tools one can use with PostgreSQL. David’s talk will be about his recent work with Ruby on Rails and PostgreSQL. David was kind enough to give PDXPUG’s very first talk, about PL/PgSQL.

We also have Webb Sprague from Eugene, OR coming out to talk about PostGIS. We’re hoping to get him out for user group meetings some time. Eugene is about two hours away from Portland, so we occasionally have visitors (hi Andrew!) to PDXPUG and PerlMongers from there. And of course Joshua Drake will be there.

Another great thing about having this conference at PSU is that members of the database reading group folks will be sure to attend. And our favorite relational algebra teachers will certainly be there.

As of today, we’ve almost filled up our event space! So if you haven’t registered yet, register now.

relational algebra talk last night was awesome

Quickly: James Terwilliger and Rafael J. Fernández-Moctezuma gave a fantastic talk about relational algebra operators (there are 9, arguably 8). They started with the set theory origins, dropped Codd’s name a few times and captivated the room. There was also mention of proof by intimidation, brandishing of duct tape, fabulous drinks mixed by Gabrielle Roth, and twenty-one people in attendance.

Before the talk, we had an impromptu “What is HOT?” (HOT stands for Heap-ONLY Tuple) from Jeff Davis. More details on that later. I think we need more 15-minute, what-is-this-new-feature-and-why-is-it-awesome talks.

PostgreSQL conference in Portland on October 20th

Joshua Drake, Josh Berkus and I are organizing PostgreSQL Conference Fall 2007 here in Portland, OR on October 20, 2007. We’ve got an incredible group of speakers lined up, and a great group of sponsors.

The conference is free to students, $60 for everyone else. We have a separate dinner everyone is welcome to for $10.

The whole thing is a bargain for a full day of highly-technical talks and the opportunity to meet contributors to the core of PostgreSQL, local Portland experts and a cadre of smarty pants database-lovers.

Plus, we’re raising money for PostgreSQL advocacy efforts with all money going to the non-profit organization Software in the Public Interest.

Today, we were working out the details for the schedule to add a talk from Neil Conway titled “Understanding Query Execution in PostgreSQL”, which will discuss the query planner and EXPLAIN. This will be great information for those of us who want to understand a bit more about query execution.

Speaker bios and talk abstracts should be up soon. This week, I’ll be working on getting some women-sized tshirts (woo!), A/V recording equipment and working on getting the word out at PSU that the event will be held there. I’d also like to drop some fliers off at Powells Technical, and maybe a few other user group events coming up. Let me know if you think I’ve missed a user group, or know of some other place I should drop fliers.

Plus, we’ve got our next PDXPUG meeting on Thursday, September 20th – Relational Algebra with a couple PSU PhD candidates. Rumor is that there will be mixed drinks.

synchronized scanning talk

I normally post a long email about PostgreSQL talks we have here in Portland for PDXPUG meetings. Below is a draft of what I’ll be sending to the list.

The August 16th meeting began with a short discussion of Rules vs. Triggers. I didn’t come up with an EXPLAIN operator to talk about, but had recently run into a situation where I could have implemented something as a RULE or as a TRIGGER. Jeff explained that for table partitioning, the recommendation was to use Triggers. This had to do with some odd cases where you had a query whose predicate would be altered by the RULE in such a way as to render the “window” of data’s result NULL. Hrm. We all talked about that for a while, tried to come up with an example case – which was hard. Then we tried to blame something on MySQL that will remain undiscussed. And then we moved on.

I would like to revisit rules vs. triggers, and come up with the example case!

We had a few new faces – including the leader of the PHP group – Sam! Also, Jerry was looking for someone to help him out with some SQL questions. We hope he posts some questions to the list.

Jeff’s talk was largely about his patch, with a few bits about his development environment, a patch from Simon Riggs that was related but not dependent, and a little database theory thrown in.

The fundamental idea behind Jeff’s Synchronized Scan patch is that Sequence Scans can really start at any place between 0 and N, with N being the number of records in a table. It was arbitrary, before his patch to 8.3, that all Sequence Scans were starting at 0. In the past, DBAs would just need to plan for poor or unpredictable performance when multiple sequence scans occurred.

The patch implements a system where each process keeps track of where a sequence scan is at – in a tiny piece of shared memory. Then, when a new sequence scan starts up on the same table, it is given a hint as to where to start. The effect is that the second sequence scan now asks for data that is in the cache. For any tables that are larger than cache size, and whose queries are I/O-bound, this is a big performance benefit, with no real performance penalties. So awesome!
Jeff also discussed Simon Riggs’ patch which implements a very small ring cache to service Sequence Scans. This is also a big performance improvement because it prevents cache pollution by confining sequence scan data to a small space that can’t push other cached data around. Jeff mentioned that PostgreSQL already does a pretty good job, but this patch makes the caching even more efficient.

Another topic that came up was the Linux I/O scheduling algorithms. He had originally tested his patch using Deadline, NOOP, and Anticipatory. When he tried it with CFQ more recently, it didn’t work so well. He’d also tested ZFS, which seemed to work well but needed more testing.

Mark spoke up and mentioned that Deadline worked very well in general, non-deterministic cases with PostgreSQL.

There were tons of great questions, and even a few esoteric, theoretical arguments. Very good meeting, everyone!

Afterward, the Lucky Lab was crazy busy! We drank a couple pitchers, talked about the linux kernel, and I think there was a long argument about BSNF.

We did decide that someone was going to have to give a talk on “Hypercubes and Dungeons and Dragons: what you never thought they had in common”.
Next month’s meeting with be about relational algebra, with James, Vassilis and Rafael tag-teaming. Rafael has been teaching the intro to databases class this summer at PSU, so he is ready for some real heckling. I can only hope that Randal will be able to make it.