In order to replace a group of disparate databases throughout different regions, New Zealand's Electoral Enrolment Centre has consolidated the country's electoral roll on the open source PostgreSQL database.
The updated New Zealand electoral roll management system, dubbed Mike, has been in the works since 2003 and is now in production, replacing a collection of Oracle databases with Visual Basic front ends.
The migration contract was won by open source consulting firm Catalyst IT.
Speaking at this year's linux.conf.au Linux and open source conference in Sydney, Catalyst IT's Finlay Thompson said the Electoral Enrolment Centre runs New Zealand's electoral system and receives and sends a "massive amount of correspondence", including sending out ads to get people to register on the roll.
"More importantly we send out electoral rolls when there is an election and store everyone, about 2.8 million people, who is eligible to vote," Thompson said.
Thompson said the previous system was a regional set-up and the database was distributed throughout the organization and was synchronized overnight.
"Data security is essential as the electoral roll stores sensitive information," he said. "So there are a few people who are not published on the roll [and] people need to know when they register to vote their details are safe."
Catalyst had been using PostgreSQL to manage the .nz domain and recommended the database for the electoral roll.
The system now consists of two clusters in Auckland and Wellington for disaster recovery with four databases in each - one master and three slaves.
"This is where PostgreSQL pays off," Thompson said. "In the development environment we have seven database instances running and if we had to pay, or even think about licence fees, it would be an impediment."
Some 50GB of data is housed in the system, which is running Debian GNU/Linux on AMD Opteron servers with 8GB of RAM.
Future directions for the system include an upgrade from PostgreSQL version 7.4 to 8.1 "which is getting critical now" as it "manages the resources of the computer much better".
"We are using RServ for replication which is being replaced with Slony-1 [and] in the near future will be looking at improving the Slony-1 replication engine," Thompson said, adding it will start partitioning some data as it is not necessary to copy all the electoral data around during replication and backups.
Catalyst IT monitors the cluster with the open source Nagios "but they are up all the time".
Sydney-based PostgreSQL developer and director of Alcove Systems Engineering Gavin Sherry said getting started with PostgreSQL is really simple now with the recent versions.
Sherry spoke about some mission-critical scenarios where PostgreSQL is up to the task, including AC Nielsen's 32TB database, Skype, the .org, .info and .in domain name databases, and "just about every Australian government department".