.org TLD Now Runs on PostgreSQL
johnnyb writes "The .org domain, which has long run on Oracle systems, is now being transferred to a PostgreSQL system. I guess we can now dispel the "untested in mission-critical applications" myth."
← Back to Stories (view on slashdot.org)
.ca runs on MS-DOS running some home brew DB that is just a bunch of batch files
-- OMFG = Oh My Floatse Goatse
Not true! I know someone who got fired for choosing oracle, then being unable to properly implement it.
Now we get to see how PostgreSQL handles those 98 % of wasted inquiries from DNS servers that don't know .elvis is not a TLD.
It's Christmas everyday with BitTorrent.
Because they don't take context or purpose into account at all. There are things that Postress may be better for and things that Oracle certainly shines at. I mean, hell, I love MySQL, too, but I wouldn't want to use it as the backend for _my_ system. Not that the others are hollisticaly "bad", it's just that Oracle is the most appropriate for this situation.
What's a TLD doing with a database? Making ridiculous numbers of extremely lightweight queries, and managing redundancy. That's not necessarily the same thing that everybody wants an "enterprise class" "tested" database to do for "mission critical" tasks.
:Wq
Not an editor command: Wq
I hope computerworld isn't running on PostgreSQL!
I'm much funnier now that I'm a subscriber.
All they need is netcat, shell scripts and grep.
Trolling is a art,
Verisign runs the shared registry with Oracle, but the registrar-specific data was and still is stored using Ingres.
No, it simply means that its going to be tested in a larger environment and if it does well then they get to party and say "woohoo it worked!" and if it flops they're all gonna feel really stupid. It doesnt mean its stable at all. The common practice of paraphrasing "LOOK!! Someone is using our product so it MUST work perfectly." is actually quite disturbing.
Please, please, please tell me that there is some commercial entity that they have contracted to for support. I really dont want my domain to be unreachable because they do their own support and are debating about which fix is the "right thing to do" so that upstream accepts it.
There is no such thing as luck. Luck is nothing but an absence of bad luck.
Today is a good day for open source and free software!
I had the misfortune of dealing with oracle tech support team once and I can say I am not surprised the ".org" domain has shifted to PG.
The DB was locking up when trying to retrieve data from a large table (>10 M rows) using a very complex query.The oracle guys kept suggesting that reduce the size of the table.
Now seriously is that a valid option ? Hey man , I have a million bucks in my acct. and i can't withdraw from the ATM ??
Just delete some of it and then try again ?
Or the most common answer from Oracle tech team is "we know its a problem but we will not fix it in this release. Just buy the next version if you want it fixed ?
for the last time people, I am "frodo from middle eaRTH", not "middle eaST".
I hope this isn't the reason why they sent me an email yesterday morning with a list of over 86,000 valid contact email addresses. Here's an article about it
I don't think the issue is that PostgreSQL will crunch data as well as Oracle. It's just that PostgreSQL has always had an undeserved reputation as "the database to use when you can't afford a REAL database", when actually it's a very robust and secure system that can compete quite well with commercial systems.
I'd really like to see some serious tests done with PostgreSQL. Database systems, especially Oracle, can be an expensive part of a datacenter. Considering that with Linux/PostgreSQL your only cost is hardware/support, it may very well scale more cost effectively than Oracle.
There's currently way too much marketing and FUD to get a real idea how these systems compare though.
If it breaks they can just go to postgresql.org to get updates and.... oh wait.
"Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
...for some reason I can't resolve postgresql.org anymore...
To make a pun demonstrates the highest understanding of a language
Well, we ran Postgres as our primary database for a Managed Network System Security,a nd the postgres database stored all alerts coming in from all our sensors, which included a .EDU that had qutie a bit of traffic going through it (our own implemented honeypot). The only issue we ran into was with disk space with packet logging, which was unrelated to the Postgres Database. We would get any number of hits per data into the database (sometimes over a million in a weeks time). Ive come to prefer Postgres over MySQL, although Id still take Oracle over each if I could afford the license.
I was a designer of the system that runs .nz (New Zealand), which is also based around PostgreSQL, running on three replicated back-end application servers.
The system was developed in mod Perl and went live on October 14th 2002.
The plan is to release this (including client software) under the GPL after a stabilisation period.
from the artical it didn't look like TCO was a factor.
1: they liked versioning in postgress.
2: they liked the open source comunity.
3: Oracle didn't have anything over postgress[that wsa usefull]
Maybe 2 relates to TCO, the amount you'd have to pay to get the same level of developer support on oracle would be huge.
thank God the internet isn't a human right.
Besides the MySQL rulez comments. How DOES MySQL compare with PostgreSQL. I must admit I was turned off of MySQL a long time ago as soon as I realized it didn't support transactions.
However, I have never been happy with Microsoft's SQLServer and have heard rumors that MySQL has come along way since I looked at it 3 years ago.
But what I don't know is where PostgreSQL fits into all of this. I mean, if it IS the better system, why do I only hear mySQL when someone is talking about open source databases?
...that the entire O'Reilly Practical PostgreSQL book was put online?
;) Looks like it is time to revisit postgres, especially for some db-agnostic PEAR apps I'm building. For me, it's the subselects that really make it worth the effort.
I've spent so much time lately in the (relatively) flat-table world of MySQL that I had forgotten about inherited tables, subselects, constraints in table definitions, and oh yes, vacuuming.
http://tinyurl.com/4ny52
Posts like this remind me of WHY my skills in database and application design are in such high demand....
So what, it's still slow as hell.
MySQL rulez!
Yes yes, please keep thinking that Troll. I'm paid very well to clean up your messes.
The real problem with Postgresql, however, is that if you are doing lots of updates where the keys increase forever, the index files grow forever. You can, of course, drop and recreate them (which we do in a cron job), but in a real 24/7 environment you've got a real problem when your queries all turn into table-scans because the indexes aren't built yet.
Here is some more information (seeIndex Maintenance? )
The only option I know if is to have two sets of tables and swap between them.
-- ac at work
Oracle, as most commercial DBMSs, doesn't let you export the database in SQL format. Of course, you can write scripts to do that, but it shows how the commercial companies are always trying to find ways to lock you in.
Known mostly as the domain for non-commercial organisations, .org is the Internet's fifth largest top-level domain, with more than 2.4 million registered domain names worldwide.
/. non-profit?
So Slashdot is Non-Commercial? I don't know. Is non-commercial the same as non-profit, is
How strict are they about that. You would think that they would be but I have not heard. Slashdot used to be free/non-ads (except for the one at the top) but now there is an add on every comment page unless you pay. Is that non-commercial?
www.fotoforay.com
The transition details can be found on the Public Interest Registry's Homepage. In short, they'll close the registry at 14:00 UTC tomorrow, transfer to Afilias's systems, and reopen the registrations on Sunday at 23:00 UTC.
I was wondering the same thing myself.
Over the past two years, I've spent a great deal of time working with postgresql with relation to an online game I've been helping to develop (Open Merchant Empires).
We've been able to get good performance out of postgresql as long as we don't expect 24/7/365 availability. They've made great progress in making the VACUUMs less intrusive, but we've always ran into trouble if we don't impose on the database availability with a regular maintenance schedule (very regular partial vacuums which slow the database down considerably, semi-regular full vacuums which lock up the database, and occasional full rebuilds).
I'd love to learn how they achieve the high availability I'd expect you'd need for a TLD database server.
Yeah. Or we could do that in regard to all the other mission-critical applications it's been in all this time! :)
Or are we supposed to pronounce it POST-GRE-SEE-KWEL? Or POST-GRES-CUE-ELL? Or POST-GRES-QUERY LANGUAGE?
And where the hell did that name come from? Did they take "Ingres", and increment it (like how C became C++), thereby making it "Postgres"? Then "PostgreSQL" means "the better-than-Ingres query language"?
I hate it when techies come up with names. It always ends up being something that's either stupid and meaningless, like C#, or self-referential and too-cute-by-half, like GNU. Recursive acronym my ass.
Shame on Google.
"untested in mission-critical applications"?
You'd have to be a completely ignorant moron to believe that. A good number of large companies have been running PostgreSQL succesfully in mission-critical situation for *years*.
It's been used in network-monitoring apps for deployment in military vehicles, $30 million POS systems, medical systems, ticketmaster, a good number of heavy-traffic web sites, and just about everything else you can think of.
Anybody who told you it hadn't been tested was living long in the past.
steve
Oh, you're not stuck, you're just unable to let go of the onion rings.
If I here those words again, I think my head will explode. I don't remember anyone saying to use a wrench for a hammer if you have both. When people argue these things, they are argueing that a tool is the right tool for a job. PostgreSQL is being argued to be a tool that can be used for enterprise jobs. Either confront that or not, don't just state the obvious. No one said PostgreSQL is the only database to use.
I here this everytime a programming language is mentioned too. Either say Java can't do what perl can, or Java is slower than perl and back those up. Don't say Java is good and Perl is good because everyone knows that.
I don't mean to take my frustrations out on you poor poster, it's just high time people realize that this is like argueing philips or flat-head. It should be a poll option because it's preference, not because there ever is a right or wrong database for a job. It's a choice. After this has been going for a while without problems, we can then proceed to choose PostgreSQL to save money or because we like it better than Oracle or DB2.
It's as annoying as:
1: In soviet russia, Vi>Emacs
2: ?
3: goatse.cx, "MOD PARENT UP"
"Quality" is a very nebulous term. There are things that postgres does better than Oracle. Often it's when Oracly is just overkill (usually by a long shot) and postgres is just easier to set up and manage. Also has neat features like regular expressions.
The only reason I prefer Oracle to postgres (as a developer) for large(er) projects is that pgAdminII is just no SQL Navigator.
sic transit gloria mundi
Yes, you are wrong, as of PostgreSQL 7.2 VACUUM can run without locking the table completely.
Garbage collection is a problem every database faces. Due to ACID requirements it is pretty much (absolutely?) impossible to run a database that updates rows without having multiple versions of the same row on disk at some time during the operation. So at some point in time you have to get rid of that duplicate. You can choose to do that after commit of a transaction (or the last transaction for which the row is still visible), but that would potentially make every transaction slower. So in PostgreSQL the choice was made to do this at an administrator determined moment (and I presume that choice also was the easy one).
In older versions of PostgreSQL VACUUM would lock the entire table and physically force all the valid rows to be rewritten consecutively and then reclaim the space at the end. This mode is still available as VACUUM FULL, but nowadays there is a new mode (sometimes called lazy vacuum) that only marks space safe to be overwritten. Subsequent updates/inserts will overwrite it eventually.
Regular running of this command will eventually lead to some steady state where there is some x% of bloat in the table, but there is no significant amount of locking required.
When I google looking for benchmarks comparing
PostgreSQL to MySQL, I can't find anything more
recent that June, 2001.
I know that PostgreSQL has come a long way in
the last 2 years, so I'm unwilling to form any
opinions on benchmark information that is out
of date.
*sigh* back to work...
Ok. I think I figured it out.
.CA
.COM
.ORG?
Microsoft puts the "." in
Sun puts the "." in
PostgreSQL puts the "E_fatalError - Database error" in
I have a test on this tomorrow, so I just wanted to make sure.
laugh.
HURD - Hurd's Under Research & Development
What you'll really missed in PostgreSQL for 24/7 is a good replication. But they are working on it.
By the way, are you sure you want 24/7/365? I think 24/7/52 will be more correct, no? I don't think that 7 years of uptime is a good idea when you want to upgrade your software (usually you stop/restart the service for it) about ever year.
Less is more !
PostgreSQL Inc. offers excellent support contract options, enterprise software additions (replication!), and traning, etc. for PostgreSQL. Check them out at:
http://www.pgsql.com/
...I can tell you without question that none of the effects associated with crack include the forming of erroneous conclusions regarding the current state of database field testing.
Marijuana, on the other hand, allowed me to accept such conclusions as valid, mostly because I was too lazy to doublecheck.
Unfortunately, I haven't found new data, but here is a list of January 2001. .com: 21,174,751 .net: 2,806,721 .uk: 2,078,474 .de: 1,732,994 .org: 1,614,740 .nl: 416,842 .kr: 325,203
...
The top ranks are:
1.
2.
3.
4.
5.
6.
7.
The numbers have certainly changed since then, but perhaps the ranks are still similar. Maybe someone has found new data?
The problem is it's hard to find a fair benchmark. Most SQL bencharks won't run on MySQL because it's missing so many features.
Postgresql can be tested by the OSDB suite found on source forge. It does well. But the most important benchmark is how well it runs YOUR query load. And no one other than you can benchmark that.
The real issue is how a database behaves under changing load conditions. How do both databases perform when you write once per second? What about 5 writes a second, 10 writes a second? Some database have serious contention issues between writes and reads.
Postgresql uses MVCC to reduce the contention to about zero on things like content management systems and what not. Which means it behaves well as write frequency increases. Try it and benchmark it for your load, it's the only way you can actually know.
--- It is not the things we do which we regret the most, but the things which we don't do.
That is a bold faced lie. You sir, are a liar.
pg_dump not only runs WHILE the database is up, it does so in such a way as to ensure completely transactionally pure backups (i.e. snapshots) with virtually no impact on performance.
And they do so in SQL.
If you don't know anything about a subject you should keep you mouth shut. You only convince people you're ill informed and ignorant when you post lies.
--- It is not the things we do which we regret the most, but the things which we don't do.
Do you know many thousands of .org domains are out there? With /etc/hosts, when you go to look up a domain name, it loads up /etc/hosts, and checks, line by line if the domain is in there.
/etc/hosts file has 50,000 hosts in it (which is NOT ALOT, considering the amount of existing domains out there). Now imagine the 2 billion people that are on the internet are hitting your /etc/hosts based nameserver to look up aolsucks.org.
Imagine that your
SQL servers, good ones, do table indexing and cacheing enableing lightning fast lookups even when there are hundreds of thousands of people accessing database (assumeing a fast enough server).
DNS does ALOT more then just mapping names to numbers. If you are interested head over to the dns rfc over here
The goal of computer science is to build something that will last at least until we've finished building it.
I run a text-chat site that is -- please don't lynch me -- based on Win2K and MS SQL Server. The site does about 10-12 DB transactions a second on a slow day and about 100-150/sec on a fast day. At peak hours we have something like 30% CPU usage on the average (it's a 700 Mhz box, not bleeding-edge).
A friend of mine put someone in touch with me who was trying to build a vaguely similar system and was having no end of problems. Transactions were timing out left and right, and his machine was more than twice as fast as mine. From his experiences -- and from what I've seen in a lot of parallel setups -- there is a difference between being able to code something functional and being able to code something that functions intelligently. I'd learned a lot of ways to cut down massively on system overhead -- use stored procedures, turn off locks when they're not required, don't use transactions unless they're absolutely needed, etc., etc. -- and all of them add up and pay off.
As far as PostgreSQL goes, it's probably going to depend on how good a job they do coding it into their system. If they do it well, I'd imagine PostgreSQL is gonna be quite solid. If they do it like idiots, not even the best database solution in the world -- not Oracle, nothing -- is going to save them.
Heck, even Oracle is going to break if you try to fetch a billion rows at once; the trick is to find smarter ways to partition and subdivide the data, to cut down the amount of time needed for every little step on the way. (I found out that adding ONE index in my system sped things up by about 30% alone, an index I would not have realized I needed until I ran a performance profile.)
Let's see how well they do before we sling tomatoes, OK?
Honorary Member of Jackie Chan's Kung Fu Process Servers
I didn't say the data was locked into Oracle. What I said was that you cannot create an SQL file containing the data using just a *simple* *Oracle* command. I can write a one-line command that will dump the database into a proprietary Oracle binary file, but I cannot do that to dump the data to an SQL file. I *can* dump a postgres database to an SQL file using an one-line postgres command. That SQL file could be used (maybe a few small modifications would be needed) to import all my data into a MySQL database, for instance.
Check out DirectNIC.
I don't work for them or know anybody who does, but I've had all my domains on there for a couple years (after getting fed up with Networ... uh I mean Verisi... uh I mean Network Solutions) and have been very happy with the price and performance. Quick and clean management interface.
...amusing when someone mispells...
Is this real irony or Alanis irony?
-- You see, there would be these conclusions that you could jump to
One of the PostgreSQL developers is at Linux.conf.au right now. During his talk on Wednesday he mentioned this and that Oracle accused the .org registry guys of "criminial negligence" if they switched to PostgreSQL over Oracle. All I can say is: "HAH!" Feeling the pressure...
I did an informal benchmark on "enterprise level" queries when PostGreSQL 7.2 came out, and found that PostGreSQL came within a third of Oracle's speed on hash joins and within half of Oracle's speed on sorts, both on DSS type queries. Not bad at all for free, but not a cost-effective replacement for Oracle either.
From what I understand, Oracle stores numeric data in such a way that a straight byte-compare will return the proper order, and it looked to me like PostGreSQL was doing conversions for every compare. Oracle's hash joins are just mind-blowingly fast. Other operations are mind-numbingly slow.
Note however this is meaningless; Oracle performs differently on different hardware (this was Tru64/Alpha stuff) and different versions (8,8i,9i) can perform very differently on the same hardware.
There are lies, damn lies, and benchmarks.
1) .com ORA-00936: missing expression .net mySQL:Cannot Connect to Local mysql server .de Filemaker Pro: 813, Record Synchronization error on network .org jdbc:postgresql:postgres
Exception caught 101, error: Network is unreachable .nl "errr, I think I have that number scribbled on that big wooden shoe..." .kr "ENLARGE YOUR PENIS!!!!"
2)
3)
4)
5)
6)
There aint no pancake so thin it doesn't have two sides.