Live data from Hacker News

It's the Postgres Age

dickey.xxx

31–40 of 48 posts

Re: It's the Postgres Age

#31
post #15

"I seriously want someone to tell me just ONE feature that MySQL has over Postgres. I ask everybody this question, and I haven't heard a single thing. " Built-in two-way (aka master/master) replication.

Postgres has had solid replication since 8.4

It doesn't do two way, you have to go to 3rd party addons for that.

Re: It's the Postgres Age

#32
post #23

The article's arguments aren't that convincing. Geospatial indexing? That's an application-specific function that shouldn't be bloating a database engine. If anything, the grocery list of crap mentioned by this article makes me DOUBT Postgres's focus on being an efficient database. The other problem is that every host offers MySQL. Not so with Postgres.

> Geospatial indexing? That's an application-specific function that shouldn't be bloating a database engine. You could just as well say that multi-text-encoding sort/group collation, compound keys, or, for that matter, indexes on anything other than primary keys, are "application-specific function[s] that shouldn't be bloating a database engine"--and then go back to using BerkeleyDB. The point of relational databases…

OK, then why shouldn't there be a special function to assess the cost of the beer in any specified currency at the time of the query?

Should there be special functions for querying the characteristics of JPEGs stored as BLOBs? How about PNGs?

Where does this end? Just because a couple of float values happen to represent latitude and longitude doesn't mean the DB engine should integrate geospatial logic.

Re: It's the Postgres Age

#33

Nothing like exaggeration in headlines taken to the extreme. MySQL is fine. Even if you accepted the premise that Postgres had become the better piece of software, MySQL has a massive installed user base and every opportunity to catch up and improve.

It took what, five years to fix the glaring design flaw where you couldn't use NOW() as the default in a datetime field. Seriously, this was just fixed a few weeks ago after years of outrage over it, and it was fixed by an outsider: http://bugs.mysql.com/bug.php?id=27645 Now we all get to wait for our hosts to update their MySQL installation, once the fix makes it into a release. How many more years will that be? If…

Last time I checked, MySQL isn't governed by fate. What happened three years ago (or a year ago etc) has absolutely nothing to do with what the MySQL team does tomorrow in regards to improving the software.

If things actually worked that way, Windows 7 would have been worse than Vista, and the quality of iTunes today would ensure Apple could not compete for the future of the music market.

Re: It's the Postgres Age

#34
post #17

I wonder how posts like this make it to the front page. This is clearly a opinionated and poorly researched article that gives no evidence for any of its claims, except that a few features this user wants are included in PostgreSQL. There is still plenty of space PostgreSQL has to make up before it is better then MySQL in every way. The knowledge gap alone is enough to keep MySQL around.

where does postgres need to catch up? and what knowledge gap?

The knowledge gap is how much industry knowledge there is about how MySQL preforms in large scale applications, and the amount of people who can help you tune it. Because MySQL has such a large deployment base there is a whole industry around performance tuning and its easyt to find an engineer who has experience using it. Even if they were technically equal which they aren't that one aspect alone would tip the scales to MySQL

Re: It's the Postgres Age

#35
post #15

"I seriously want someone to tell me just ONE feature that MySQL has over Postgres. I ask everybody this question, and I haven't heard a single thing. " Built-in two-way (aka master/master) replication.

Amazon RDS support.

RDS is awful. The interface is shitty and buggy, offers graphs that you can't do anything with, the backups cause our system to fail every night, EBS backing has serious spiking problems, you can't access the replicas and it runs a shitty custom fork of MySQL

Re: It's the Postgres Age

#36
post #23

Earlier quoted context omitted.

> Geospatial indexing? That's an application-specific function that shouldn't be bloating a database engine. You could just as well say that multi-text-encoding sort/group collation, compound keys, or, for that matter, indexes on anything other than primary keys, are "application-specific function[s] that shouldn't be bloating a database engine"--and then go back to using BerkeleyDB. The point of relational databases…

OK, then why shouldn't there be a special function to assess the cost of the beer in any specified currency at the time of the query? Should there be special functions for querying the characteristics of JPEGs stored as BLOBs? How about PNGs? Where does this end? Just because a couple of float values happen to represent latitude and longitude doesn't mean the DB engine should integrate geospatial logic.

except it doesn't, it's an optional extension

Re: It's the Postgres Age

#37
post #15

"I seriously want someone to tell me just ONE feature that MySQL has over Postgres. I ask everybody this question, and I haven't heard a single thing. " Built-in two-way (aka master/master) replication.

Postgres has had solid replication since 8.4

It was only in Postgres 9.0, released in Septermber 2010, that support for a "hot standby" (e.g. master/slave replication where you can run read-only queries on the slave) was added.

MySQL has supported this since at least version 3.2.3, released in January 2001.

MySQL supports

• Single master to one slave • Single master to multiple slaves • Single master to one slave to one or more slaves • Circular replication (A to B to C and back to A) • Master to master

Postgres supports

• Single master to one slave • Single master to multiple slaves

(lists from http://www.theserverside.com/feature/Comparing-MySQL-and-Pos...)

Re: It's the Postgres Age

#38
post #6

Worse is better. MySQL's terribleness is its feature; it means you stop and think before putting business logic in the database, writing a stored procedure, or joining on five tables. While it's a worse database, the /systems/ I've seen built on MySQL are all better than those built on "real" databases.

While it's a worse database, the /systems/ I've seen built on MySQL are all better than those built on "real" databases. This could be a symptom of which businesses choose which databases. Large established businesses are probably going to prefer the commercially supported database, and are probably also going to have the resources to build impressive systems.

No, the trend (and I'm generalizing from a small number of examples) is in the opposite direction; it's the small businesses or startups that use MySQL and produce better systems. Slightly bigger companies use Postgres and produce worse systems. Actually big companies use Oracle and produce terrible systems.

Re: It's the Postgres Age

#39

The article's arguments aren't that convincing. Geospatial indexing? That's an application-specific function that shouldn't be bloating a database engine. If anything, the grocery list of crap mentioned by this article makes me DOUBT Postgres's focus on being an efficient database. The other problem is that every host offers MySQL. Not so with Postgres.

> That's an application-specific function that shouldn't be bloating a database engine.

GIS most certainly belongs in the database. You don't want to load gigabytes of geo data as points in memory and build and filter geometries in whatever your application is, anymore than you want to load any non-trivial dataset in-memory and do your filtering in your application language.

Re: It's the Postgres Age

#40
post #23

Earlier quoted context omitted.

> Geospatial indexing? That's an application-specific function that shouldn't be bloating a database engine. You could just as well say that multi-text-encoding sort/group collation, compound keys, or, for that matter, indexes on anything other than primary keys, are "application-specific function[s] that shouldn't be bloating a database engine"--and then go back to using BerkeleyDB. The point of relational databases…

OK, then why shouldn't there be a special function to assess the cost of the beer in any specified currency at the time of the query? Should there be special functions for querying the characteristics of JPEGs stored as BLOBs? How about PNGs? Where does this end? Just because a couple of float values happen to represent latitude and longitude doesn't mean the DB engine should integrate geospatial logic.

> Where does this end?

With Erlang QLCs :)

Post reply on HN