What version of MySQL and what table engine do you use? Have you used MySQL 3.23 and MyISAM (which was the only viable alternatives for several years if you used MySQL)?
Have you tried googling for 'mysql corruption' or 'cannot open.MYI' or 'myisamchk corrupted'? See how many results? Compare the results with the same keywords, replacing mysql with postgresql.
Basically I agree with your points. Automatic vacuum management has, for far too long, been one of Postgres' quirks. Even older databases like Interbase/Firebird (and newer ones like InnoDB) never impose this manual vacuuming 'labor' onto their users. I hope Postgres solves this problem (along with the OID wrap thingy) once and for all.
One other thing Postgres will need to work on to catch up with the other kids (especially Interbase/Firebird) is international support (Unicode and friends, among others).
Then there are smaller things like easier/more integrated full-text indexing (like in MySQL), more efficient TEXT and BYTEA, and other enterprise features like partitioning, XA conformance, parallel queries, etc.
With the fast pace of Postgres development, one might wonder what will happen 6 years from now:-)
I tried 1.0PR (20050427) on Debian/Linux the other day. Sorry, but God, what a piece of crap. I used to be ashamed for using MS Frontpage, but after seeing this, I'm glad I do. Nvu is sloooow, buggy, basic things like selection, copy-paste, and typing Enter doesn't work very properly.
I'd rather put hope on Quanta, but its VPL (WYSIWYG) editor is still largely unfinished.
I don't believe RPM has fundamental flaws (compared to DEB). The examples you provided are mostly anecdotal and don't explain exactly why RPM is flawed.
Debian is more popular compared to Fedora probably more because Fedora is new, while Debian has been around for 10+ years.
GWA also doesn't prefetch GET with query strings. The problem is that apparently Basecamp/Backpack uses short/pretty URLs that don't contain query strings, e.g. http://host/account/delete/121 instead of http://host/account?action=delete&id=121.
It's not prohibited to use GET for delete/add/whatever links.
Well, Windows is much worse than Linux. Package management (RPM, dpkg, etc) is much better than "installers", which are basically programs to copy files manually into the filesystem. How old-fashioned.
I think the grandparent post defended Java by saying that RoR *lacks* hype and buzz. Well, Java is not really hyped and buzzed again these days (at least not as much as in the 1990s).
Current Ruby interpreter does support only green threads, but real OS threads will be support in the new Ruby VM, slated to be integrated at the end of this year.
It's too bad that a single character has prevented you to explore a nice language more. I guess some people are more convenient in writing:
self.foo = 1
self.bar = 1
self.baz = 1
than:
@foo = 1
@bar = 1
@baz = 1
which wonders me to no end:-)
Let's wait for YARV to be merged with Ruby at the end of this year. Comparing current Ruby interpreter (which is AST-based) compared to Python compiler (VM/bytecode-based) is not exactly fair. Plus Python and Perl have been around longer and have undergone much more optimization tweaks.
That's why the TTL is set to a low value (60 seconds) so caching period is kept short. See yahoo.com, google.com, gmail.com, etc. They both set low TTL value too for A records.
God I'm sick with this stupid form. Why would a solution not work if it's useless against brute force attack. So SSL, http, and virtually every existing protocol out there is useless?
I also suspect the master data is stored in a different place (either in another MySQL machine or other DB). So the MySQL machines that serve finance.yahoo.com are basically for read-only simple queries (but involve lots of rows). MySQL is perfect for this.
And the data is not really mission-critical. It's just a bunch of numbers (exchange rates, stock prices) aggregated from various places. Database crash? Just repopulate by querying the various data sources.
Unfortunately, many (quite a large percentage) of applications running MySQL *do* need MySQL features that don't exist in SQLite. Full text indexing, for one, which is utilized by many Forum web app.
Postgres has the auto vacuum daemon that does this manually. It's not integrated/activated yet by default, due to beta status. It'll probably be, in 8.1. I agree it's a bit late because most other DBs (InnoDB, Firebird) do this for you in the background.
It's not a patch, it's a contrib module that provides a function. And why would it be "less elegant" (whatever that means)? It comes with Postgres' distrib and you just need a line or two to use it.
Also, adjacency model for medium to large trees is sloooooow. Use materialized path or nested set model.
What version of MySQL and what table engine do you use? Have you used MySQL 3.23 and MyISAM (which was the only viable alternatives for several years if you used MySQL)?
.MYI' or 'myisamchk corrupted'? See how many results? Compare the results with the same keywords, replacing mysql with postgresql.
Have you tried googling for 'mysql corruption' or 'cannot open
It's NOT an urban legend. It happens (a lot!)
Basically I agree with your points. Automatic vacuum management has, for far too long, been one of Postgres' quirks. Even older databases like Interbase/Firebird (and newer ones like InnoDB) never impose this manual vacuuming 'labor' onto their users. I hope Postgres solves this problem (along with the OID wrap thingy) once and for all.
:-)
One other thing Postgres will need to work on to catch up with the other kids (especially Interbase/Firebird) is international support (Unicode and friends, among others).
Then there are smaller things like easier/more integrated full-text indexing (like in MySQL), more efficient TEXT and BYTEA, and other enterprise features like partitioning, XA conformance, parallel queries, etc.
With the fast pace of Postgres development, one might wonder what will happen 6 years from now
Yahoo! Groups search is unbelievably pathetic. Could you talented people at Yahoo! do something about this, please, please, please?!?
Damn, and just when I thought I'd switch to Opera due to its built-in Bittorrent client...
I tried 1.0PR (20050427) on Debian/Linux the other day. Sorry, but God, what a piece of crap. I used to be ashamed for using MS Frontpage, but after seeing this, I'm glad I do. Nvu is sloooow, buggy, basic things like selection, copy-paste, and typing Enter doesn't work very properly.
I'd rather put hope on Quanta, but its VPL (WYSIWYG) editor is still largely unfinished.
I don't believe RPM has fundamental flaws (compared to DEB). The examples you provided are mostly anecdotal and don't explain exactly why RPM is flawed.
Debian is more popular compared to Fedora probably more because Fedora is new, while Debian has been around for 10+ years.
Ok, so for laymen like us, if we have important data on an IDE drive managed by Linux+PostgreSQL 8+ext3, should we turn on write caching or not?
GWA also doesn't prefetch GET with query strings. The problem is that apparently Basecamp/Backpack uses short/pretty URLs that don't contain query strings, e.g. http://host/account/delete/121 instead of http://host/account?action=delete&id=121. It's not prohibited to use GET for delete/add/whatever links.
It can do anything it wants...
Which makes me like it less. Things will break due to faulty or stupid installers.
Well, Windows is much worse than Linux. Package management (RPM, dpkg, etc) is much better than "installers", which are basically programs to copy files manually into the filesystem. How old-fashioned.
Well, the Cherrypy guys should start publishing blogs and saying how Cherrypy kicks {Java,J2EE,Hibernate,Spring,Struts,JWhatever}'s ass.
I think the grandparent post defended Java by saying that RoR *lacks* hype and buzz. Well, Java is not really hyped and buzzed again these days (at least not as much as in the 1990s).
So what do you define as "serious" caching or "serious" transaction capabilities? From what I read, you are just throwing buzzwords at people's face.
Oh and RoR is really the buzz nowadays, while Java has been perceived as 'old'...
True. I've been getting 50x errors at random for countless number of times in recent months.
Current Ruby interpreter does support only green threads, but real OS threads will be support in the new Ruby VM, slated to be integrated at the end of this year.
It's too bad that a single character has prevented you to explore a nice language more. I guess some people are more convenient in writing: self.foo = 1 self.bar = 1 self.baz = 1 than: @foo = 1 @bar = 1 @baz = 1 which wonders me to no end :-)
Let's wait for YARV to be merged with Ruby at the end of this year. Comparing current Ruby interpreter (which is AST-based) compared to Python compiler (VM/bytecode-based) is not exactly fair. Plus Python and Perl have been around longer and have undergone much more optimization tweaks.
That's why the TTL is set to a low value (60 seconds) so caching period is kept short. See yahoo.com, google.com, gmail.com, etc. They both set low TTL value too for A records.
God I'm sick with this stupid form. Why would a solution not work if it's useless against brute force attack. So SSL, http, and virtually every existing protocol out there is useless?
By your argument, we don't need Perl, or C. Just use assembler and machine language.
I also suspect the master data is stored in a different place (either in another MySQL machine or other DB). So the MySQL machines that serve finance.yahoo.com are basically for read-only simple queries (but involve lots of rows). MySQL is perfect for this.
And the data is not really mission-critical. It's just a bunch of numbers (exchange rates, stock prices) aggregated from various places. Database crash? Just repopulate by querying the various data sources.
Unfortunately, many (quite a large percentage) of applications running MySQL *do* need MySQL features that don't exist in SQLite. Full text indexing, for one, which is utilized by many Forum web app.
Postgres has the auto vacuum daemon that does this manually. It's not integrated/activated yet by default, due to beta status. It'll probably be, in 8.1. I agree it's a bit late because most other DBs (InnoDB, Firebird) do this for you in the background.
It's not a patch, it's a contrib module that provides a function. And why would it be "less elegant" (whatever that means)? It comes with Postgres' distrib and you just need a line or two to use it. Also, adjacency model for medium to large trees is sloooooow. Use materialized path or nested set model.
COUNT(*)/SUM()/etc performance: Well, try doing that in MySQL's InnoDB. It's the consequence of MVCC, not Postgres' fault.