Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

PostgreSQL on Big Sites?

Cliff posted more than 9 years ago | from the a-little-dog-on-big-sites dept.

Databases 89

An anonymous reader asks: "I've been using PostgreSQL for years on small projects, and I have an opportunity to migrate my company's websites from Oracle to an open-source alternative. It would be good to be able to show the PHBs that PostgreSQL is a viable candidate, but I'm unable to find a list of high-traffic sites that use it. Does anyone know of any popular sites that run PostgreSQL?"

Sorry! There are no comments related to the filter you selected.

Several examples (5, Informative)

IO ERROR (128968) | more than 9 years ago | (#12000720)

See, for instance, PostgreSQL Case Studies [postgresql.org] and from the pgsql-advocacy [postgresql.org] mailing list comes some more: Finally, a list of *big* companies using PostgreSQL for *serious* projects. Why use PostgreSQL? Here's why [postgresql.org] for some examples.

Re:Several examples (0)

Anonymous Coward | more than 9 years ago | (#12001082)

Exactly. If this person can't even find the case studies on the Postgres site, they are not qualified to switch an organizations database. I mean, holy crap this kind of stuff makes me mad.

Would you feel better if... (0)

Anonymous Coward | more than 9 years ago | (#12003768)

the poster was just astroturfing? Maybe it is someone working for a company that offers support for PostgreSQL.

Re:Several examples (1)

jadavis (473492) | more than 9 years ago | (#12006744)

That's a good point. I think he was probably just trying to generate discussion, but he should have asked a real question that generates more than a "visit this link" respone.

Re:Several MORE examples (0)

Anonymous Coward | more than 9 years ago | (#12001766)

OLTP Benchmark [tpc.org]
OLAP Benchmark [tpc.org]
E-Commerce Benchmark [tpc.org]

Re:Several examples (1)

dstone (191334) | more than 9 years ago | (#12001899)

Finally, a list of *big* companies using PostgreSQL for *serious* projects.

I genuinely like PostgreSQL and have used it extensively. I want to see a list of big name users as much as anyone. But that "list of *big* companies" is topped by:

* Affymetrix
* Afilias
* BASF
* Cognitivity
* Journyx
* Royal
* The American Chemical Society
* Tsutaya

With the possible exception of BASF, these aren't exactly household names. I have no doubt that these are huge organizations with serious database needs, but what PostgreSQL could really use, IMHO, is a recognizable headliner.

Re:Several examples (1, Informative)

Anonymous Coward | more than 9 years ago | (#12003497)

Northrop Grumman, US Navy:

Uses a J2EE application to store user profiles for the Navy Enterprise Portal and the Fleet Numerical Meteorology and Oceanography Center(FNMOC) Portal using JBoss application server and PostgreSQL database. Expose application via SOAP and RMI interfaces.

http://kennethbowen.com/kbresume.html

Re:Several examples (0)

Anonymous Coward | more than 9 years ago | (#12026559)

Ehh, I've been in FNMOC's datacenter. It's pretty cool, but only what I'd characterize as medium size. They do have a sizable amount of weather data to track, but it sounds like this PostgreSQL database doesn't even handle that. Just user profiles? They probably have 100-200 people working there, max. And a lot of those are contractors or Naval Research Labs, which is not the same as Fleet Numerical (different building, same site, working on the same projects, but different agency).

The .org registry? (5, Informative)

tzanger (1575) | more than 9 years ago | (#12000752)

Story [computerworld.com.au]

Re:The .org registry? (2, Informative)

jadavis (473492) | more than 9 years ago | (#12002031)

and the .info registry

Both are run by Afilias, which is a big user and big developer of PostgreSQL. They're the ones that did the work on the Slony-I [slony.info] replication server.

recent interview with Josh Berkus (4, Informative)

oreaq (817314) | more than 9 years ago | (#12000869)

MadPenguin has an interview [madpenguin.org] with Josh Berkus, one of the core team members of PostgreSQL.

Re:recent interview with Josh Berkus (1)

jadavis (473492) | more than 9 years ago | (#12002386)

I want to draw attention to this interview. This is a great interview that has good answers to the original question.

In particular, Josh talks about Fujitsu's involvement (a $43 billion company).

A good quote:

Josh Berkus: Basically, the head of their open source business applications division, Mr. Takayuki Nakazawa, said, "We are committed to helping make PostgreSQL the leading database management system."

Re:recent interview with Josh Berkus (0)

Anonymous Coward | more than 9 years ago | (#12003517)

Fujitsu's involvement (a $43 billion company).

Not that Fujitsu is way bigger than Oracle.

This means that you can dismiss Oracle as that play database that is only supported by "little" companies.

Only DB2, PostgreSQL, and SQLServer (and Access and Symfoware) are supported by >$40Billion companies.

Re:recent interview with Josh Berkus (1)

jadavis (473492) | more than 9 years ago | (#12004017)

Interesting interpretation.

I thought that Oracle was the second biggest software company out there. I didn't know whether that put them in the $40 billion range or not.

Re:recent interview with Josh Berkus (1, Informative)

Anonymous Coward | more than 9 years ago | (#12004617)

Much of Fujitsu's sales are outside of software.

They make submarine/underseas telecommunication networks, the world's fastest optical amplifiers, semiconductors, nanotech/quantum-dots, point-of-sale systems, Sparcstations, ATM machines, LCDs, supercomputers (#14 on the "Top 500 supercomputers list), Sparc chips for Sun etc.

No doubt Oracle sells more software.

Re:recent interview with Josh Berkus (1)

jadavis (473492) | more than 9 years ago | (#12006795)

Yeah, I realize that Fujitsu is way more than a software company. I worded my previous post poorly.

well oracle IS pretty good (3, Insightful)

Naikrovek (667) | more than 9 years ago | (#12000904)

I've never used PostgreSQL so I can't and won't say anything about it other than this: Make sure Postgres does everything you need and can perform similarly to Oracle in your environment.

We momentarily thought about dropping Oracle for PGSQL at my last company, but after we hired a consultant to do everything he could with Postgres to improve performance, Oracle was still a clear winner for us.

I don't know if he was incompetent or what, but the performance numbers weren't even close with what we needed it to do.

If your database will run just as well on PostgreSQL, I say go for it. If you go with PostgreSQL and it doesn't perform as well as Oracle in your environment, your management will have serious doubts about open-source software from then on, and that's a stain that is hard to get rid of.

in short: choose based on your needs, not based on the fact that one is open and the other isn't.

PGSQL (2, Informative)

hey! (33014) | more than 9 years ago | (#12001429)

There's no reason however to write all your SPs in PLSQL. Oracle supports stored procedures in Java, as does Postgres.

This not only makes it easier in some instances to migrate some applications to PGSQL, it also improves performance (JIT compiling). You don't say exactly where the performance bottlenecks are, but this could improve performance and close the gap between PGSQL and Oracle.

That said, if you've been working for years on tuning your Oracle physical design to a fare-thee-well, it's going to be nearly impossible to beat, supposing the transaction volume and query performance are the chief issues.

Re:well oracle IS pretty good (1)

jbn-o (555068) | more than 9 years ago | (#12003551)

Your post was going along pretty well until your conclusion. It's reasonable to make sure any program does what you need it to do before you switch to using it exclusively. However, one has to apply that advice consistently, not just in a manner that stumps for proprietary software.

However, it's naive and wrong to say that being free software or open source cannot be one of one's needs ("choose based on your needs, not based on the fact that one is open and the other isn't.").

More info needed on PostgreSQL survey. (1)

jbn-o (555068) | more than 9 years ago | (#12004583)

I forgot to mention this in my previous follow-up: your description of why you rejected PostgreSQL lacked many salient details including: any detail on what you organization used a database for, how Oracle was able to cater to that need better than PostgreSQL, why performance matters so much as to outweigh placing your client's data into a proprprietary program, how performance was being measured, and what the figures for performance were.

It's not possible to draw insight from such a description, hence I question why your post was moderated as insightful.

The portion of your post I agree with is the first part about making sure a replacement program fits your needs before switching to it. It seems like a lot of organizations don't do this, so they end up sticking with programs that leak information to untrusted parties and cost a lot of money to maintain, or require time-consuming and expensive upgrades; some of the shortcomings of denying oneself software freedom.

Need more info (2, Informative)

The Slashdolt (518657) | more than 9 years ago | (#12000970)

Is your companies website essentially read-only page loading? If so, why not just go with MySQL. Do you really need MVCC in a read-only scenario?

On the other hand, If your company is doing transaction processing, like a customer facing product ordering system (think amazon), its a lot more than just having to sustain certain volumes. The reputation of your company and its ability to make money by selling products will rely entirely on your database. In a best case scenario there may be no difference between oracle and postgres. But imagine the worst case scenario. Peak volume, company is making $1M/hour in sales on the web, db dies and won't come up....who you gonna call?

There's more to the equation than up front cost and ability to handle volumes....

Re:Need more info (4, Insightful)

snorklewacker (836663) | more than 9 years ago | (#12001153)

> Is your companies website essentially read-only page loading? If so, why not just go with MySQL.

MyISAM can't handle a database of larger than 2 gigs. Once you switch to another table backend, MySQL's vaunted performance advantage pretty much evaporates.

> Peak volume, company is making $1M/hour in sales on the web, db dies and won't come up....who you gonna call?

My DBA, assuming I'm running point-in-time recovery. That's all Oracle is going to tell you to do. The unemployment office if I'm not. Although PITR in pgsql is something of a PITA [postgresql.org] , which just might go to recommend Oracle for the time being.

Re:Need more info (2, Interesting)

The Slashdolt (518657) | more than 9 years ago | (#12001344)

Assuming the relational database is storing relational data, its hard to imagine a 2G database needed to store read only pages. Of course, some people store pdf's, word docs, etc into relational db's as clobs. This is a complete waste of resources. I would use MySQL in a read-only scenario where transactions are unneeded.

I am also assuming that the guy who is posing this question IS the DBA. At least I sure hope so, for whoever is the DBA's sake. Your scenario is a best case recovery scenario using point-in-time recovery. What if its the point-in-time recovery that is broken/buggy? As a DBA, who do you want to deal with? Who are you gonna call?

Re:Need more info (3, Insightful)

snorklewacker (836663) | more than 9 years ago | (#12002110)

> What if its the point-in-time recovery that is broken/buggy? As a DBA, who do you want to deal with?

If I'm doing a million bucks an hour, I damn well had better be running a replica, so let's add that to the solution menu too. pgsql's replication ain't terrific either. Works, but not too flexible. Score another for Oracle.

Anyway, if Oracle's PITR is broken/buggy, you are screwed screwed screwed. First, let's forget the fanciful notion that you can sue them. Now you're part of the support machine, the wheels of which grind exceedingly slowly and roughly.

I don't often like to plug source access because it's extremely overrated, but as a last resort, if you can instrument your database startup with a debugger and trace the point of failure, you now have an advantage FAR greater than that Oracle is going to give you once while your trouble ticket clears through the dozen support techs who repeat the same useless advice and tie up your time.

I also don't like to sling the term "FUD" around, because it's so often this shibboleth of the open source crowd, anything they disagree with, but what Oracle employs against solutions like PostgreSQL is often pure FUD. "Who you gonna call? Who's behind your data? What will you do WHEN it breaks? Scary scary scary, you just don't knooooowwww!!" I could probably turn around to an Oracle rep and say "right, that's about the same sort of feeling I get when dealing with YOUR support organization as well."

If I'm doing a million bucks an hour, I'm probably picking Oracle too, because it's had more years to shake out PITR, hot backup, and clustering than pgsql has, so there's more of a body of knowledge accumulated on it. I just don't like the climate of fear going around when there's plenty of Oracle disasters to look at and learn from as well.

Re:Need more info (1)

The Slashdolt (518657) | more than 9 years ago | (#12002720)

Given enough redundancy, you could make MS Access work ;-) kidding kidding kidding

It's all going to depend on your SLA, with Oracle or whoever. If you want/need to have a 4 hour response you can get that if you've got the money. I assume you could get this level of support from a Postgres related company as well, but based on the number of employees those companies have, I'd say its not typical.

Back to my original point, if your company is in the scenario where your business critical revenue generating functions rely on your database, you really want to look beyond brand names, open source, and especially marketing(FUD). In the end it goes beyond performance and cost. Oracle is not the only option out there...

Re:Need more info (0)

Anonymous Coward | more than 9 years ago | (#12003563)

with Oracle or whoever. ...I assume you could get this level of support from a Postgres related company as well,

Note that Postgresql is supported by bigger companies than Oracle is [fastware.com.au] .

Re:Need more info (0)

Anonymous Coward | more than 9 years ago | (#12004833)

The biggest company supporting Oracle is IBM Global Services. Strange but true.

Re:Need more info (1)

anvil {UK} (173669) | more than 9 years ago | (#12087443)

I don't often like to plug source access because it's extremely overrated, but as a last resort, if you can instrument your database startup with a debugger and trace the point of failure, you now have an advantage FAR greater than that Oracle is going to give you once while your trouble ticket clears through the dozen support techs who repeat the same useless advice and tie up your time.

I agree with nearly all of your post, though I do think the issue of support is an important one to consider, but I have to point out that You can indeed output extremely detailed trace information about your databases startup, at nearly every level that a debugger will give you. On *nix you could of course truss the process.

Re:Need more info (1, Interesting)

Anonymous Coward | more than 9 years ago | (#12003622)

Assuming the relational database is storing relational data, its hard to imagine a 2G database needed to store read only pages

Not that imaginative, are you.

A geospatial database that holds merely lat/long & address info (street names, city&state codes, zips, address ranges) and related tables containing information about demographics, etc can easily get into the 90GB range. One I used for analyzing targeted marketing campaigns was about 270GB.

Re:Need more info (0)

Anonymous Coward | more than 9 years ago | (#12004910)

Did these db's run PostgreSQL?

Re:Need more info (0)

Anonymous Coward | more than 9 years ago | (#12005176)

The first one I worked with ran Oracle; but I've dupliated the project with PostgreSQL in a subsequent company I moved to. For the two datasets I'm working on, I'm running about 99GBytes of data, all happily running on a commodity-Wintel PC. It's amazing how fast PC hardware grew. The first time I did this it was with an enterprise class Sun w/ Oracle that cost maybe half a million bucks. Today I'm doing it with a greenie /home/pg> cd data/db/
greenie data/db> du -h
200K ./global
4.0K ./pg_xlog/archive_status
113M ./pg_xlog
20K ./pg_clog
208K ./pg_subtrans
4.7M ./base/1
4.7M ./base/17229
4.0K ./base/17230/pgsql_tmp
61G ./base/17230
4.0K ./base/17606/pgsql_tmp
124M ./base/17606
4.9M ./base/726287
4.0K ./base/726367/pgsql_tmp
38G ./base/726367
99G ./base
4.0K ./pg_tblspc
99G .

Re:Need more info (1)

soyle (196995) | more than 9 years ago | (#12009824)

Your scenario is a best case recovery scenario using point-in-time recovery. What if its the point-in-time recovery that is broken/buggy? As a DBA, who do you want to deal with? Who are you gonna call?
Appearently, if you are a a major national bank [theregister.co.uk] , you eventually give up [danskebank.com] on your vendor's support, and just fix it yourself.

Re:Need more info (0)

Anonymous Coward | more than 9 years ago | (#12001881)

Nah.
You just use the "raid" features, a myisam table can be much bigger by that. Indexes are still limited to 2Gb though.

Re:Need more info (1)

slashkitty (21637) | more than 9 years ago | (#12002096)

And you are incorrect. The 2GB limit is on file size. Either the table data or the table index. The entire database can me much bigger.

If you do have a table using up 2Gb in data, it's probably a good idea to optimize it a little and pull out some of that data with a table_detail.

Re:Need more info (1)

slashkitty (21637) | more than 9 years ago | (#12002140)

Oh, sorry to correct myself, but the 2Gb file size limit is only with some operating systems. The default settings allow for a 4Gb table data file, and it can be increased if needed.

Re:Need more info (1)

jadavis (473492) | more than 9 years ago | (#12002418)

it can be increased if needed.

By configuration or recompilation? Do you need to dump/reload or will it work with the old data files? What OSes and filesystems have what limitations?

Re:Need more info (1)

slashkitty (21637) | more than 9 years ago | (#12002938)

If you're running tables that big and don't reading the MySQL manual or don't know how to google "myisam file size limit", you have bigger problems.

If the OS supports bigger files, you can increase the 4Gb limit with a SQL alter table. Just increase the maximum number of rows.

I'm not an expert on OS's and file sizes.. but if your needing greater than 2Gb files, with any database, I would think that your OS would need to support it.

Re:Need more info (1)

jadavis (473492) | more than 9 years ago | (#12003322)

If you're running tables that big and don't reading the MySQL manual or don't know how to google "myisam file size limit", you have bigger problems.

I had a legitimate question; that kind of response was unecessary. I am a PostgreSQL user, but I try to keep knowledge of other databases handy so I can avoid pitfalls if I need to use another DB.

2GB isn't a big table really. What is that, like $2 worth of disk? If I had set up an archive or log or something a year ago, it would probably have bitten me by now if I used MySQL and there was indeed a default limit of 2GB.

Also, software manuals are, unfortunately, not a great place to learn about pitfalls. Users are a much better place.

OSes generally support files much larger than 2GB. It's usually the filesystem that's a limiting factor. However, if you use Reiserfs v3/4 or XFS or JFS, it is no problem at all.

Re:Need more info (1)

Omega996 (106762) | more than 9 years ago | (#12063211)

Take a look at this, for answers to your questions. I do believe the filesystem limitations of most common platforms upon which MySQL runs are listed...

http://dev.mysql.com/doc/mysql/en/table-size.htm l

Note it's a bit dated (though that's the current reference manual), but I still suspect most of that information is accurate.

hth

Re:Need more info (1)

jadavis (473492) | more than 9 years ago | (#12002109)

Although PITR in pgsql is something of a PITA

That's what I thought at first, but after I learned how to do it I though to myself: "Can I come up with an easier way to administer PITR?" and I couldn't think of anything. PITR is a complicated concept (time warping, multiple timelines; it starts to get a little weird), and I'm impressed that they are supporting the feature. If you can think of an easier way to administer it, let the lists know, and I wouldn't be surprised if some tools appeared.

Re:Need more info (3, Informative)

yamla (136560) | more than 9 years ago | (#12002598)

FUD. MyISAM certainly can handle a database of larger than 2 gigs. It can even handle _tables_ larger than 2 gigs. "As you can see, MySQL remembers the create options exactly as specified. And it chose a representation capable of holding 91 GB of data." (p.38, High Performance MySQL: Optimization [sic], Backups, Replication & Load Balancing, by Jeremy D. Zawodny & Derek J. Balling, published by O'Reillly, April 2004.

Re:Need more info (1)

snorklewacker (836663) | more than 9 years ago | (#12002787)

1) I stand corrected. I was reading old documentation, it applied to table size, and it's probably tied to word size on the machine.

2) "FUD" is not a synonym for "wrong".

3) I have a raft of other reasons MySQL is inadequate, including data integrity ones.

Re:Need more info (1)

yamla (136560) | more than 9 years ago | (#12003230)

My apologies, I figured you were just posting misinformation deliberately. Looks like it was an honest mistake.

I, too, have a host of reasons to dislike MySQL. Unfortunately, I cannot switch to PostGreSQL because MySQL supports master-master replication (albeit not well) but PostGreSQL does not.

Re:Need more info (1)

jadavis (473492) | more than 9 years ago | (#12003571)

Replication is a complicated issue. I would highly recommend that you actually test the replication to make sure it's doing exactly what you think it is.

Also, what about PgPool? That is a popular form of master-master replication for postgresql. It's not the be-all-end-all, but no single replication system is right for all situations. That's why PostgreSQL has so many replication options.

I would be very interested to read a case study of your master-master replication usage in MySQL. I understand that the master-master replication is only RAM-based and doesn't support many of the features in other table types. Perhaps you could set up a similar system using PostgreSQL/PgPool with fsync off and compare the results?

The following is a rant about replication, and not necessarily directed at you:
The thing that you have to have in mind is that replication is inherently imperfect. If two systems are up at two different sites, but the WAN is having problems, the two databases cannot be kept in perfect sync. A simple example of a failure of two-phase-commit (2PC) is when both servers agree that they're ready to commit, and the first one does, and the second one never responds. It's just imperfect. So, when setting up a replication system it's largely about what your configuration is, and how you plan to handle the problems that you can't eliminate. ORAC does this by using sophisticated conflict resolution algorithms, which are also imperfect, but help their clients resolve the inconsistancies that happen. You really have to have a series of replication systems in place, and you have to have a plan for all of the problems that can occur, because there's no way to eliminate the possibility.

And when a marketroid starts talking as if their solution is the be-all-end-all without examining your details specifically, you know they're BSing you and you have no reason to think that you're safe.

Re:Need more info (1)

MasterDirk (659057) | more than 9 years ago | (#12005287)

And when a marketroid starts talking as if their solution is the be-all-end-all without examining your details specifically, you know they're BSing you and you have no reason to think that you're safe.

BSing, that refers to Business Speak, does it? :-P

PostgreSQL Replication & Culture (2, Insightful)

jgardn (539054) | more than 9 years ago | (#12005360)

I tend to think of the PostgreSQL replication problem the same way people approach any problem: None of the solutions are endorsed as the "official" answer to the problems (because there is no absolute authority on these issues.) All have their shortcomings. All have their benefits. It's up to you to decide which combination of problems and benefits you want.

PostgreSQL, like Linux, is more like an ecosystem of software, where you can go and pick and choose or even write your own stuff. It's not as diverse or as popular as Linux. As far as database systems go, however, it is the most diverse project out there.

Oracle, on the other hand, is like Stalinist Russia. You can't pick and choose. There's only one model of car. And you have to buy the same bread at the same price at the same time as everyone else. And consumer input? Practically zero.

PostgreSQL's biggest advantage is that it is extensible. The simple testimony to that fact is that there are numerous excellent extensions out there, written for a variety of purposes. Oracle is not, and will never be as long as it is closed source. (Doesn't this sound like Linux vs. Windows to you? It should. PostgreSQL people pride themselves on their openness.)

Finally, one caution I like to give to people who are looking at PostgreSQL. Is it panacea? Of course not. There are problems with it. The problems are different than the problems of Oracle. But they exist. The biggest difference is the culture and the philosophy. So when you choose your database, choose the culture and philosophy you desire or agree with the most, and the software and solutions will come naturally and you'll be much happier in the end. This may mean that you prefer the world of Oracle over PostgreSQL. That's not a decision I can make for you.

Re:Need more info (1)

yamla (136560) | more than 9 years ago | (#12024813)

I have of course tested the replication in MySQL to make sure it is doing what I think it is. Working with MySQL's master-master replication involved designing my application from the ground up to support multipart keys, so this solution is a LONG way away from just dropping in the replication and expecting it to work. It does have some advantages such as not requiring a hundred percent reliable network connection between the two MySQL servers. It can survive brief outages without issue.

There are significant problems, mind you. Reestablishing the replication can be much more work than should be necessary, though the problems are not with the data integrity (for replication... I'm aware MySQL isn't perfect in this regard in general).

Master-master replication uses MyISAM tables so it is NOT RAM-based. You are probably thinking of MySQL's cluster type and I have very little experience of that. I also haven't looked at PgPool but CERTAINLY will do so now.

I haven't written a case study of MySQL's master-master replication but may very well do so. Send me your email address and I'll make sure you receive a copy of my writeup if I ever get around to it.

Re:Need more info (1)

jadavis (473492) | more than 9 years ago | (#12027441)

Interesting. My MySQL knowledge leaves something to be desired. I looked briefly in the documentation and most of what I found was master-slave replication. Could you point me to a master-master doc?

PgPool is fairly primitive, it's just query based replication. So your application definitly needs to account for that and it isn't perfect for all situations. I mentioned it because it's the only master-master replication software that I've used (and I haven't used it except to mess around). It isn't nearly as refined as Slony-I (which is a great system), but Slony-I is master-slave.

What we're really waiting for is Slony-II, which is supposed to be a good master-master solution, but it's under development and probably won't be in widespread use for a year or so.

You can reach me at jdavis at empires d0t 0rg.

Re:Need more info (1)

atani (514575) | more than 9 years ago | (#12034853)

Hear, hear; FUD. We have MyISAM tables larger than 2G in size operating fine; and they are very quick to access in a mostly read-only pattern, as expected with MySQL.

The MySQL vs. PG vs. INSERT-FAVORITE-DB-HERE debate is tiring enough without the FUD being so readily cast about, and when the FUD doesn't change over the years it's even more so. Though it does make responses rather simple:

<fx: pastes standard response>
Use what's appropriate to your needs. Don't jump in head-first without understanding the strengths and limitations of your database choice and then later complain about what was your own poor judgement. There are responsive and useful mailing lists and user groups for all these dbs, use them. Each system has it's feature set, each system has it's gotchas MySQL [google.com] , PostgreSQL [google.com] , Oracle [google.com] , etc.
<end paste>

Re:Need more info (1)

hattmoward (695554) | more than 9 years ago | (#12004054)

Incorrect about MyISAM. First, that limitation was tables larger than 2GB, and it's been gone for some time. In dealing with support for Bacula, I've heard reports of 34GB bacula catalogs in MySQL.

Re:Need more info (1)

chrysalis (50680) | more than 9 years ago | (#12010625)

Bullshit.

We [skyblog.com] use MyISAM databases that are over 20 gigs with no issue so far (except myisamchk time...).

Re:Need more info (0)

Anonymous Coward | more than 9 years ago | (#12001915)

I get really annoyed when I hear the "Who you gonna call?" as a response to using open source software. If I am using Window XP and something crashes do you think that calling Microsoft is going to get me a solution to my problem? Have you ever tried to call? Have you ever gotten the issue resolved right away? Have you ever gotten to talk to one of the developers who actually wrote the code of the section you are trying to fix. For the price of Oracle licenses you could probably hire a few of the core developers to work at your company, esp. if your revenues are int $1M/hour range. Also if you want commercial support you could probably call any of these companies http://techdocs.postgresql.org/companies.php [postgresql.org]
They have probably seen more of the core code of the database than anyone you will talk to at Oracle or get by hiring an Oracle consultant

Re:Need more info (0)

Anonymous Coward | more than 9 years ago | (#12009334)

Yes, we get to talk to Oracle developers. Yes, we pay a lot of money for it. Yes, our executives think it's worth it. Yes, with the money that's on the line for us when shit hits the fan, I agree with them.

I'm a huge fan of open source, but I would be very frightened to replace our large Oracle installs with PgSQL, even with those folks (who I'm sure are very knowledgeable about their stuff) backing it up.

Re:Need more info (1)

jadavis (473492) | more than 9 years ago | (#12001981)

First off, I think he's less worried about PostgreSQL's ability and more worried about making his boss comfortable with the idea. Others have already pointed out some case studies, so that's a good start.

To say that you're jumping the gun in your post would be an understatement. Read only databases aren't hard; there are many ways to accomplish that and with MySQL you would still have to convince your boss to use F/OSS. I hardly see how that answers his original question, it seems more like you're trying to convince someone that PostgreSQL is a bad choice (which seems strange considering that you don't know anything about his setup).

Also, the one thing that he did say is that he has a preexisting database in Oracle. It's much easier to go Oracle->PostgreSQL that Oracle->MySQL, but that may not be his primary concern.

Re:Need more info (2, Interesting)

The Slashdolt (518657) | more than 9 years ago | (#12002370)

That wasn't my point. My point was that given the current information his question cannot be answered. I then gave two examples. If his company wants a database for a scenario that is a read-only webpage scenario, it doesn't really matter if you use an open source db or a commercial one. Whatever works best and cheapest.

On the other hand, if his companies business is reliant on this database for its core revenue generation then this is a business decision and not a technical one. Cost is only a minor factor in this decision. And actually, open source vs. commercial is a minor factor as well. If postgres offers equivalent uptime, equivalent performance, equivalent service, equivalent ability to hire skilled resources worldwide, etc then it should be a no-brainer.

Re:Need more info (1)

jadavis (473492) | more than 9 years ago | (#12002867)

His question was about big name companies using PostgreSQL so that his boss could sleep at night. For anyone to make anything close to a reasonable suggestion, he would have to give us a huge amount of information, which is unreasonable for the ask-/. format. In short, his question was not a technical one.

You're right though, different situations drastically change the requirements. However, it looks like he's already made that decision himself, otherwise he would be trying to convince himself and not his boss.

Re:Need more info (0)

Anonymous Coward | more than 9 years ago | (#12003726)

If his company wants a database for a scenario that is a read-only webpage scenario, it doesn't really matter if you use an open source db or a commercial one....On the other hand, if his companies business is reliant on this database for its core revenue generation

Uh, both are equally business decisions. If your e-commerce site is making $1million/month (as mine was) your read-only home page is way more critical than your HR system.

. If postgres offers equivalent ... performance,

You mean performance/dollar, don't you?

It's *ALL* a question of return on investment.

equivalent ability to hire skilled resources worldwide,

The combination of costs of DBA vs Support vs Risk of failure determines the ROI.

If it's hard to hire a good PostgreSQL DBA for the same price as a good Oracle DBA, support will be very important. If support is important to my company, and I had a large multinational organization I might chose Postgresql because I can get bigger companies to support Postgresql [fastware.com.au] than Oracle.

Re:Need more info (0)

Anonymous Coward | more than 9 years ago | (#12003814)

who you gonna call?

Well, considering that there are Bigger companies supporting PostgreSQL [fastware.com.au] than Oracle, that's a pretty strong vote in PostgreSQL's favor.

In fact, if you want support from a $40Billion+ company, your only choices are really DB2, PostgreSQL and SQLServer.

This is especially true if you're a multinational, because Fujitsu has a much stronger worldwide presence.

Re:Need more info (0)

Anonymous Coward | more than 9 years ago | (#12004378)

Is your companies website essentially read-only page loading? If so, why not just go with MySQL.

Maybe because MySQL is too slow?

Seriously, the only thing that MySQL is faster at is single-user reads of unprocessed data.

If you're gonna do transforms, it's cheaper to do them in the DB, rather than pulling them across the wire to do them in the application. And unfortunately, the *instant* you start doing the transforms in the DB, MySQL (to the extent that you can do them) is slower.

Re:Need more info (0)

Anonymous Coward | more than 9 years ago | (#12005298)

If so, why not just go with MySQL. Do you really need MVCC in a read-only scenario?

Closer compliance to SQL standards [arvin.dk] is the big reason for us. None of the vendors are perfect; but MYSQL replacing the standard concatenation operator ('||') with something wierd does not lend comfort.

Re:Need more info (0)

Anonymous Coward | more than 9 years ago | (#12005906)

A warning about Oracle - I worked for a company that employed a large number of near-minimum wage employees that "entered data" (i.e. took orders) on a daily basis. At one point, Oracle's sales staff told the company that the licensing policy was changing, and that each person who entered data had to become a "named user" . . .

The pricetag for this new policy was staggering. It was "resolved" after some major negotiations - and I never heard what the final pricetag was, but the sudden projects for us to "look into ripping all Oracle out of the company" petered out and died, so I assume that they reached a reasonable deal.

The point being - lock yourself in to someone that can charge what they want, and you might find yourself unsupported, and without a license to get at the data you need when the license renewals are due.

How's .org and .info (4, Informative)

snorklewacker (836663) | more than 9 years ago | (#12001051)

SPI, the authoritative .org registrar, and Afilias, the authoritative .info registrar both use PostgreSQL for their registration databases.

Companies that use PostgreSQL (4, Informative)

bendsley (217788) | more than 9 years ago | (#12001337)

Their website shows that BASF uses PostgreSQL as their DB.

www.basf.com

They're an enormous company. I've always heard too that PostgreSQL is much better for larger sites. Cannot say for sure though as I have never used it.

Apple Remote Desktop (2, Informative)

dadragon (177695) | more than 9 years ago | (#12001543)

Apple's remote desktop 2 package uses PostgreSQL for its data store.

link [apple.com]

OpenACS (2, Informative)

aquarian (134728) | more than 9 years ago | (#12001704)

OpenACS has been Postgres-based for a long time, as a free alternative to Oracle. You can get plenty of Postgres information at www.openacs.org The folks there have been using it for years for all kinds of sites, so it's pretty well tested. OpenACS is a unique system using AOLServer and TCL, but the database performance should translate to whatever server/scripting platform you're using.

Re:OpenACS (1)

Stinking Pig (45860) | more than 9 years ago | (#12011520)

OK, you're inducing the facial tics again... Been there, done that, it wasn't fun.

The only sane way to be making this sort of decision is to benchmark, because everything relies on how the existing SQL is written. If you don't have time and money to benchmark, then follow this simple metric:

a) who's the lead database programmer?
b) which database does s/he write for first?

Pick that one, because you can bet that the programmer has been picking up all sorts of database-specific tips and tricks for the last few years. The SQL they've generated may actually work on another database, but its performance is probably going to stink. This will become clear as soon as you get around to benchmarking.

If you're at a point where rewriting all that code becomes a realistic option, I'm sorry. Anyway, you're still going to be a lot better off by following the same metric, unless you want to add "waiting for the developers to learn how to optimally use the new database" to your soft costs. And since these are developers, you'll also need to add "waiting for the developers to realize that they need to learn how to optimally use the new database", which can take a full release cycle .

Note that PostgreSQL is being benchmarked... (2, Informative)

tcopeland (32225) | more than 9 years ago | (#12001747)

...on some hefty hardware these days. This post [postgresql.org] talks about running it on a 16 CPU machine...

Re:Note that PostgreSQL is being benchmarked... (0)

Anonymous Coward | more than 9 years ago | (#12002262)

16 cpus is quite respectable, but when you're using big 64 cpu NUMA iron, then you're cooking with gas. I know there's even beefier machines, but that's the biggest I see DB servers running on (more than that is for nuke sims or climate models and whatnot).

It might _run_ on a 16 CPU box, but the cited 63% of max throughput is, well, eh (*shrug*). I don't think the query optimizer even understands SMP, let alone NUMA.

PostgreSQL on Big Sites? (2, Informative)

Anonymous Coward | more than 9 years ago | (#12002049)

We are an e-Learning company which started 4 years back with very little startup budget. We have been using Postgres for 4 years now and it has never let us down. We never imagined our company would grow so big so fast. Today we provide an ASP solution for over 10,000 users from around 20 companies. Postgres scales very well and is quite responsive. In the past we have had periods of 100% CPU utilization but postgres did not crash on us. You have to know how to configure it correctly and is will perform as well as a commercial DB.

If you can afford Oracle (0)

Anonymous Coward | more than 9 years ago | (#12002200)

Why would you use anything else? I love PostgreSQL, but if I could afford Oracle, I would use it.

Oracle DBA = $$$$$$
PostgreSQL DBA = ??????

Re:If you can afford Oracle (4, Insightful)

jadavis (473492) | more than 9 years ago | (#12002503)

Just because your company can spend hundreds of thousands of dollars (or millions for a large installation) on something that's really orthogonal to the actual business that your company is in, doesn't mean you should.

If I was a PHB type for an online retailer and I looked at the costs and noticed that 50% of our profits are going to Oracle rather than to our pockets, I'd have some questions for the IT guys like:

(1) Are we a retailer or a data warehousing company?
(2) What is Oracle and why is it so expensive?
(3) Can you get the same job done with less money? If so, what costs, benefits, and risks might we see?
(4) My friend's IT guys use this thing called Post-whatever-SQL, and it costs $0. Is Oracle kinda like that?

Re:If you can afford Oracle (0)

Anonymous Coward | more than 9 years ago | (#12010460)

Why? I'd rather use PostgreSQL and be given the cost savings as a bonus.

postgresql goodness (2, Interesting)

mcguyver (589810) | more than 9 years ago | (#12002235)

My company uses PostgreSQL and are pretty happy with the performance. The only problem we had was in November when the Google spider went crazy and hit us a few million times a day for a few weeks. After a few hours of optimization, the sites were running smooth. A few years ago we had to come up with a db platform and we were a small company. We could use oracle but it's all around expensive. Oracle software, support, licensing, and engineers are expensive. Mysql's transaction support was too bleeding edge at the time. What I like most about postgresql is the transition from oracle to postgresql is smooth and most our engineers come from an oracle environment. Plus postgresql has adequate transactions support, subselects and functions...and it's free.

(In defense of Google, their spider did not intentionally go crazy - we have distributed webservers on seperate IPs so the spider can't tell if it's pounding one particular site. However Google only spidered more pages as a publicity stunt before MSN search was released so maybe they are to blame...)

How much traffic are we talking about? (5, Insightful)

jbrayton (589141) | more than 9 years ago | (#12002313)

This question really requires more data. How much traffic are we talking about? How much data are we talking about? And then there are all sorts of variables, like the type of content begin stored in the database, the number and types of queries that are done on each page, and the type of caching your application is doing.

Also, if Oracle is already purchased and paid for, you will have a difficult time making a business case for PostgreSQL.

Don't get me wrong, I like PostgreSQL. But you will want to have a reason for switching, aside from PostgreSQL being open source.

Re:How much traffic are we talking about? (1)

hughk (248126) | more than 9 years ago | (#12023138)

Also, if Oracle is already purchased and paid for, you will have a difficult time making a business case for PostgreSQL.
I thought that until I saw the running costs and how much the extra users cost. We started to use MySQL instead. PostgresSQL may have more possibilities (also with licensing) but it was easier to use MySQL under the circumstances.

Well... (1)

j0nkatz (315168) | more than 9 years ago | (#12002408)

I used to run PostgreSQL and still like it. But it just seems that MySQL scales better for large projects.

Re:Well... (1)

jadavis (473492) | more than 9 years ago | (#12003732)

I'd be interested to read a case study if you're willing to write one.

Just to make sure, you didn't leave the postgresql shared_buffers setting default did you?

Re:Well... (0)

Anonymous Coward | more than 9 years ago | (#12007495)

Do you really think a guy with a "trollse.cx" email address is going to bother writing you a case study?

Re:Well... (1)

jadavis (473492) | more than 9 years ago | (#12009722)

Do you really expect me to:

(a) notice; and
(b) believe that that is his real email address; and
(c) assume that it summarily discredits every word he writes?

Personally, I didn't make it past (a), so the compiler's optimizer in my brain never bothered to check (b) or (c).

Re:Well... (1)

Sxooter (29722) | more than 9 years ago | (#12006270)

Really, this goes against what I've seen. But when I say large projects I generally mean many many users with a fair percentage of them writing to the database, while for other folks "large project" means LOTS of nearly static data for things like a repository.

For mostly read depositories, MySQL is pretty good. When you start mixing in more and more writes, it tends to not do so well with MyISAM tables, and innodb don't quite keep up with PostgreSQL. But they're pretty good.

Re:Well... (0)

Anonymous Coward | more than 9 years ago | (#12017819)

The cool thing with MySQL is you can have some tables MyISAM (eg. Product info table) and some tables innodb (order table etc). This way you have the best of both worlds, very fast reads, plus data consistancy.

Re:Well... (1)

Sxooter (29722) | more than 9 years ago | (#12029425)

Actually, I like that feature. I just wish it was possible to restrict the allowable table types, for things like big companies where you don't want joe developer to use the wrong kind of table. I wish you could set a different default that myisam, so that if you forgot the type you'd get, for instance, innodb or bdb. Finally, I wish it would throw some errors every now and then. I hate that I can create an innodb table, fk a myisam to it, begin a transaction, roll it back and THEN find out that some rows can't be rolled back.

Honestly, there's plenty about MySQL that's nice, but the silent data mangling and inability to easily customize certain behaviours makes it a poor choice for work where data integrity is paramount.

maybe this helps- (0)

Anonymous Coward | more than 9 years ago | (#12002695)

I'm a total novice in this arena, but I chatted about oracle and postgresql at a convention with some of the postgres team and some people who seemed to be using it successfully on quite large projects.

Many people seemed to be reserved about giving me direct answers on oracle vs postgres, but this turned out to mostly be because of oracle not allowing unauthorized benchmarks and the like. That and my nooB questions.

After asking around and reading between the lines here's what I gleaned:

- postgres is probably faster in many ways than oracle, about equal in some ways, & a bit slower in some less critical areas.

- postgresql's performance currently takes a hit once the db passes the 2TB mark (IIRC) but it seems they're working on it. I got the impression that oracle doesn't have this problem.

- the pro's I talkled who used both prefered postgresql but I wasn't able to delve into why.

Yahoo, Google, etc. (0)

Anonymous Coward | more than 9 years ago | (#12007902)

I don't want to get into a religous war, but if you're not locked into Postgress, and simply want to save the Oracle costs, you might want to look at MySQL. A lot of big of big companies use it, including:

* Yahoo
* NASA
* Google
* HP
* intel
* IBM
* ticketmaster
* dell
* novell
* quest
* o'reilly
* citysearch
* craigslist
* evite
* lycos
* Suntimes
* friendster
* BASE
* Ericson
* UPS
* Powell's
* JPL
* SAS
* AT&T
* Caterpillar
* NEC
* Chysler
* CNET
* Slashdot
* livejournal
* Wikipedia
* Apple
* the Associated Press
* Sabre Holdings
* Suzuki

That should convince your boss. :-)

Re:Yahoo, Google, etc. (2, Insightful)

jadavis (473492) | more than 9 years ago | (#12008610)

The challenge to port an Oracle application to PostgreSQL is much less than to port an Oracle application to MySQL. Particularly in the training department, since MySQL is the most unlike Oracle.

Also, the application matters a lot. MySQL is very effective as a cache to hold a relation. It would not surprise me if many of those companies use Oracle/DB2/MSSQL/PostgreSQL as a backend database, and then use MySQL to cache some of the data for fast access. If you list the companies using PostgreSQL extensively, they are likely to be using PostgreSQL as a replacement for the likes of Oracle. If you list the companies using MySQL, that's probably not the case, it's more likely that they're using it as a complement to Oracle or for a purpose that you normally shouldn't use Oracle for.

I would say out of the relational databases, MySQL is the most different in terms of application domain, functionality, performance, and behavior.

cdbaby (1)

BobVila (592015) | more than 9 years ago | (#12011375)

cdbaby, baby. check out that dude's weblog on o'reily.

MobyGames (1)

Trixter (9555) | more than 9 years ago | (#12014106)

MobyGames runs on PostgreSQL and has done so for over 5 years.

PostgreSQL powers the WhitePages Network (2)

sbaylis (562731) | more than 9 years ago | (#12016438)

I work at WhitePages.com [whitepages.com] , one of the top 100 US websites, and we use PostgreSQL in our mix of databases. We have the entire US and CA white and yellow page data loaded into PostgreSQL and we see awesome performance from our configuration. We've got over 250,000,000 rows of data and a *lot* of indexes making our database about 375G. We run over 1,500,000 queries per server per day which is about 100 per second at peak. Under load tests, we've seen almost triple that volume from the same servers. However, all of our use of PostgreSQL is entirely read-only in production. So, while you can point to us as a "high-traffic site" using PostgreSQL, you should be aware that our usage is likely very different than your needs.

Sites (1)

ArnIIe (814978) | more than 9 years ago | (#12035195)

Yes! I have (the company I work for clock [clock.co.uk] ) use PostgreSql for some large-ish popular sites:

Eddie Izzard (link [eddieizzard.com]
JD Wetherspoon (link [jdwetherspoon.com]
Bill Bailey (link [billbailey.com] and others We find it far the best solution for us
Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?