PostgreSQL Adds Proximity Search
The open source project has produced a general purpose proximity search for location-based queries and it should generate new applications.
Wouldn't you like to ask your laptop or tablet for the 10 coffee shops closest to you? The device would be able to tell you, based on your current location, if it could consult a pre-sorted index of spatial data.
The 9.1 beta release of the PostgreSQL relational database is now available with a feature called the "nearest neighbor." It's likely to spur a new round of location-based end user applications.
White PapersMore >>
PostgreSQL open source developers say both their project and Microsoft's SQL Server development team are in a race to see which can bring the capability to market first.
"We are in kind of a race to release it before they do. Whoever gets there first, it will come down to a matter of weeks," predicted Bruce Momjian, core team coordinator of the project. Microsoft SQL Server spokesmen couldn't be reached immediately for comment.
The nearest neighbor feature or, more scientifically, the K-Nearest Neighbor algorithm, is the ability of the system to use spatial data associated with sets of related objects, such as pizza parlors, shoe repair shops, or coffee shops, to calculate distances between them (in a given city) and save that information in an index.
There are already mobile applications that do this for particular data sets, such as mobile applications that locate shops in the Starbucks chain or locations of Pizza Huts. But the hunt for a variable set of target destinations, also known as a "proximity search," could mean new, quick response mobile applications will soon be available. The application wouldn't have to be specialized to a particular chain. Rather, it could produce results across brand names in response to spur of the moment queries.
That would make PostgreSQL a much more attractive system to developers of mobile applications, Momjian said in an interview. In addition to responsibilities for PostgreSQL development, he doubles as a database architect for EntepriseDB, a firm that produces a commercial product, Postgres Plus, based on the open source code.
Momjian claimed the nearest neighbor feature illustrates that the PostgreSQL project's pace of development is now "unmatched by any other database software, either open source or proprietary." The PostgreSQL team didn't make that type of statement when MySQL was also an independent, open source project. MySQL was acquired by Sun Microsystems in 2008 and is now part of Oracle.
Final implementation of the proximity search feature will come in two to four months, along with the general availability release of PostgreSQL 9.1. A version of the capability eventually will become available in a cloud developer platform, possibly later this year. The EnterpriseDB commercial version, Postgres Plus, tends to quickly match the features found in new PostgreSQL releases. EnterpriseDB is one of the database systems being offered by Red Hat in its new OpenShift platform-as-a-service for cloud developers. OpenShift was announced Wednesday.
Momjian said PostgreSQL for several years has played catch up to commercial systems, achieving standard SQL compliance, replication, and backup and recovery services. The nearest neighbor feature is an example of "how we're pushing into area that nobody has." That still depends on who wins the race to offer the nearest neighbor feature first, Microsoft or PostgreSQL.
Several other additions give PostgreSQL 9.1 a more equal footing with commercial systems. Synchronous replication lets the system safely write two data sets simultaneously, a capability that would be the equivalent of Oracle Data Guard, said Josh Berkus, a core team coordinator. The feature gives a system both high availability and the ability to execute a disaster recovery.