×

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!

MySQL 5.1 Released, Not Quite Up To Par

ScuttleMonkey posted more than 5 years ago | from the time-to-fix-the-org dept.

Databases 175

Mad Merlin writes "It's no secret that MySQL 5.1 has been a long time in the making, with the first beta release being in Nov 2005, but MySQL 5.1.30 has finally been released as GA. MySQL users can expect new features such as table/index partitioning, row based replication, a new plugin architecture, an event scheduler and a host of performance improvements from 5.1." Monty also had a blog post outlining some of the challenges faced in 5.1, including crashing bugs and a beta quality to most new features.

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

175 comments

"Fair and balanced" summary?? (3, Interesting)

toby (759) | more than 5 years ago | (#25947309)

Ryan Thiessen, a long-time 5.1 user, strongly rebuts Monty on his blog. [hideandsql.com]

I would go further and suggest that the MySQL organization has if anything been too conservative about declaring 5.1 GA. ...

I have been developing for and administering MySQL 5.1 production instances for 18 months, ... we have not seen *any* table corruption or random server crashes relating to mysqld, despite having tables with hundreds of million of rows. ...

Obviously 5.1 is not a perfect release. Quality is critically important to a database and I hope MySQL/Sun takes note of Montyâ(TM)s concerns, ...
However in my opinion MySQL 5.1 a very good release, long ready for general production usage.

Re:"Fair and balanced" summary?? (4, Insightful)

scribblej (195445) | more than 5 years ago | (#25947869)

Obviously 5.1 is not a perfect release. Quality is critically important to a database and I hope MySQL/Sun takes note of Montyâ(TM)s concerns, ...
However in my opinion MySQL 5.1 a very good release, long ready for general production usage.

You call THAT a rebuttal? My goodness... it no wonder MySQL sucks if he can admit on the one hand it's bugridden (not in those words, sure) and then say at the same time, it's ready for general production usage. What the hell does that mean?! It just makes me ANGRY to think people like this are DBAs! Does he mean to suggest your "general production usage" server is OK with lost rows and table corruption... if the chances of it happening are rare enough? Does he mean to suggest "general production usage" is a separate category from "people who use the advertised features of the product?" Seriously.... arrrrgh..... I think I'm having a stroke, I need to go take a valium or something.

Re:"Fair and balanced" summary?? (3, Insightful)

theantix (466036) | more than 5 years ago | (#25948101)

What you responded to was an out of context quote, which by omission seemed to combine two sentences. In context my words might be less valium-inducing to you.
"""
Obviously 5.1 is not a perfect release. Quality is critically important to a database and I hope MySQL/Sun takes note of Montyâ(TM)s concerns, especially about core developers working on fun new projects like Drizzle and leaving relatively inexperienced developers fixing bugs in their core business product.

However in my opinion MySQL 5.1 a very good release, long ready for general production usage. Definitely test it before you use it, like you should also test new kernels, Apache versions, distribution releases, etc. But do not alow this sensationalist blog post to overshadow what should be considered a solid engineering accomplishment by the MySQL team.
"""

Re:"Fair and balanced" summary?? (3, Funny)

Em Ellel (523581) | more than 5 years ago | (#25948349)

...it no wonder MySQL sucks if he can admit on the one hand it's bugridden (not in those words, sure) and then say at the same time, it's ready for general production usage.

I think that just brings it up to the major leagues. I mean Oracle managed to ship production versions of its DB with developer's home directory hardcoded into startup script [oracle.com] which without modifications would not allow you to start DB. How does something like THAT pass QA?

-Em

Re:"Fair and balanced" summary?? (4, Funny)

Sleepy (4551) | more than 5 years ago | (#25949077)

>How does something like THAT pass QA?

That's REALLY unfair to blame Oracle for QA processes... they outsource SQA process, so it's a SUPPLIER problem.

Re:"Fair and balanced" summary?? (2, Insightful)

Anonymous Coward | more than 5 years ago | (#25951151)

>they outsource SQA process

I gathered that, just from the username.

I must say, I'm heartened lately, since several clients have become willing to admit that their outsourcing-to-India adventures have worked out to be net liabilities. I mark this as the end of a trent that I saw coming, warned about, experienced the first (and last) time I managed an offshore team, and I have a special little "I told you so" dance for the situation.

Yeah, I know, you're reading this in Bangalore and I'm an insensitive clod.

Re:"Fair and balanced" summary?? (1)

HannethCom (585323) | more than 5 years ago | (#25950061)

MS SQL Server 2000 and I believe 2005 if you have a SQL query greater than 64k with out a Go before the 64k mark, some of the data will only be partially written to the database, or read from it. MS SQL Server 2000 and 2005 will sometimes loose a database. I think they finally fixed this in 2000, but every once in a while in 2005 we have to re-attach a database to the server. I'm not even going to get into it's "standards" support and the many really strange and unexplainable quirks when you combine some basic SQL functionality.

Re:"Fair and balanced" summary?? (5, Interesting)

dfdashh (1060546) | more than 5 years ago | (#25947923)

With all due respect to Ryan, I agree with Monty here. Not just 5.1, but the whole MySQL 5.x tree has been shipping with release critical bugs. What's more, some of those bugs (like the one [mysql.com] that has been open since 2003) have lowered priority now because "people know about them."

It sounds like MySQL could benefit from a more debian-like release criteria [debian.org].

5.0? that so? (2, Informative)

toby (759) | more than 5 years ago | (#25948279)

I've been using 5.0 in production for well over a year and found no 'critical' bugs. (For most of that time I had access to MySQL's paid support.)

As Ryan said there is no such thing as bug free software but there is such a thing as production-ready software. MYSQL 5.0 HAZ IT.

Re:5.0? that so? (4, Insightful)

dfdashh (1060546) | more than 5 years ago | (#25948399)

You call software that can bring down multiple slaves with a drop table statement [mysql.com] in a transaction production-ready? Have fun with that.

Re:5.0? that so? (4, Insightful)

MindStalker (22827) | more than 5 years ago | (#25951013)

If you allow your users direct access to SQL and rely on SQL permissions you probably shouldn't. Most MySQL setups have no way of allowing untrusted users to run SQL directly so they can't run a drop table statement. So yes, if your letting complete strangers run SQL on your database you might want to look somewhere else.

Re:"Fair and balanced" summary?? (2, Insightful)

reginaldo (1412879) | more than 5 years ago | (#25949221)

I would really like to read about a specific bug Monty spoke of, but it looks like they secured this bug information from the public. Bug #37936 "Crash when executing a query containing date expressions" http://bugs.mysql.com/bug.php?id=37936 [mysql.com] It seems to me like this is an extremely major bug, and would keep me from using 5.1 altogether.

Re:"Fair and balanced" summary?? (0)

Anonymous Coward | more than 5 years ago | (#25949835)

Too bad your blog name doesnt make sense. "SQL" is pronounced "ES QUE EL" and not SEQUEL - which, was a completely different language. Thats the lazy way to pronounce it.

SQL is pronounced "SQUEAL" and always has been. (-1, Troll)

Anonymous Coward | more than 5 years ago | (#25950155)

Too bad your blog name doesnt make sense. "SQL" is pronounced "ES QUE EL" and not SEQUEL - which, was a completely different language. Thats the lazy way to pronounce it.

Uh, partly wrong n00b. SEQUEL is Microsoft's implementation of an SQL-accessible DB. Piece of junk last time I tried to use it, but perhaps it's improved since then.

SQL is pronounced "SQUEAL" , of course, so you can use products like Tandem's "non stop squeal" or make your database "squeal capable" etc., etc., etc.

C'mon, inject a little fun in your life, Mr. Asperger. Kin y'all squeal lahk a peeg?

Re:"Fair and balanced" summary?? (0)

Anonymous Coward | more than 5 years ago | (#25950863)

I bet you're a blast at parties.

well (2, Interesting)

stoolpigeon (454276) | more than 5 years ago | (#25947329)

maybe they are just trying hard to be more like the commercial enterprise databases. my experience with oracle was that they have a lot more bugs than this - it's just you can't actually find out about them until you call support. Then you find out they have known about it for some time, they just don't publish it. They hide all this stuff instead and only let certain things out.

Re:well (1)

wiedzmin (1269816) | more than 5 years ago | (#25947449)

Like we don't have enough of those around. If I wanted a commercial enterprise database, I would pay for MS SQL. There is a reason people use mySQL, and bugs & bloating is not it.

Re:well (1)

stoolpigeon (454276) | more than 5 years ago | (#25947523)

that was tongue in cheek - the truth is with that list MySQL is still doing better than what one will get with a lot of commercial dbs. MySQL still lags in features (all the FOSS rdbms solution do) but it is catching up fast. When partitioning and master/master replication fully arrive it will be an incredible option. Those are expensive features anywhere else.
 
I remember being at the MS SQL Server 2005 launch and the presenter had to mention that one of their new replication options would be "included but not supported" because it didn't really fully work yet. Licensing and development models differ but at the end of the day software is still software.

Re:well (4, Insightful)

hey! (33014) | more than 5 years ago | (#25947879)

Well, you'd be a fool to buy MS SQL for its enterprise capabilities.

It has its strengths, of course, but it's most important strength is it is the default database slice of the Microsoft deployment stack and is well integrated with Microsoft development tools. For modest projects it provides the kinds of advantages MySQL does in the LAMP stack.

I'm not saying it is a bad product, depending on your needs. Nor am I saying that you can't do "enterprise applications" (whatever those are) if you design around its limitations. I'm just saying that if I weren't developing around a completely Microsoft based solution, I wouldn't give MS SQL a second glance. There are cheaper (open source) solutions on the low end, and more scalable solutions on the high end.

If maximum upward scalability from a PC host starting point was required, I'd go with Oracle. The fit on the low end is a bit awkward, but it's workable. You've got to be careful when you license Oracle because you can spend too much money very easily, but if you know what you're doing Oracle is scalable and cost-efficient. If you don't know what you're doing, that's a different affair altogether.

Re:well (-1, Offtopic)

Anonymous Coward | more than 5 years ago | (#25947583)

It's not the quantity, it's the quality of the bug. Not saying either product is better than the other but you're acting like a guy selling you a BMW 325i with a burtn out headlight is selling you the same thing as the other guy who is trying to sell you a 1982 Yugo Cabrio with a blown engine. After all, they both only have one problem...

Re:well (0)

Anonymous Coward | more than 5 years ago | (#25947651)

>quality
Open sores preacher detected. The correct word is severity.

Re:well (1)

Renegade88 (874837) | more than 5 years ago | (#25947737)

Not saying either product is better than the other but you're acting like a guy selling you a BMW 325i with a burtn out headlight is selling you the same thing as the other guy who is trying to sell you a 1982 Yugo Cabrio with a blown engine

It depends. What kind of blower does the Yugo have? Turbo or supercharger? Is a hole cut out hood to accommodate? The Yugo might be pretty sweet!

Re:well (5, Insightful)

stoolpigeon (454276) | more than 5 years ago | (#25947801)

I'm not sure what you are trying to say. If we have to play car analogy - lets say both cars engines will fail if you go over 80 kmh on a sunday while wearing blue. One vendor will tell you before you buy the car - the other waits until you've been on the phone with roadside assistance for a couple days. The severity of the issue is the same - it's just how the manufacturer handles it that is different.
 
To step away from the metaphor for a second - I have had severity 1 service tickets open with Oracle support for over a day that ended up being unpublished bugs that were fixed with a patch that was not available until you knew you had run into the bug. Sev 1 to be clear is production systems down.
 
I worked on a project with an Oracle consultant who had been on his own before he joined Oracle. I asked why he made the switch and he told me it was for one main reason - so that he would get full access to all the documentation, including all the bugs and open issues.

Re:well (2, Funny)

Windows_NT (1353809) | more than 5 years ago | (#25948277)

While we are using car analogies:
If your car dies, just do what microsoft suggests, and close all of the windows. maybe the car will then restart?

Re:well (4, Informative)

nabsltd (1313397) | more than 5 years ago | (#25949881)

To step away from the metaphor for a second - I have had severity 1 service tickets open with Oracle support for over a day that ended up being unpublished bugs that were fixed with a patch that was not available until you knew you had run into the bug. Sev 1 to be clear is production systems down.

I'll second this. We just ran into such a bug when trying to restore a database.

The application connecting to the database was upgraded, and something went wrong when it tried to modify the schema, so we rolled back to the backup taken immediately before the start of this. Normally, this would have been simple, but apparently there's a bug with our version of Oracle that caused the restore to fail. Luckily, it only took an extra couple of hours to work around and we were still in our planned outage window, but it still sucked that it was a bug known to Oracle.

Of course, we didn't hit the Oracle bug in our development and test systems, because the application didn't fail in the schema update on those, thank's to Mr. Murphy.

OpenSores balls suxor (-1, Troll)

Anonymous Coward | more than 5 years ago | (#25947339)

You gets what you gets. If you don't like it, you get all your money back. God what a great idea!

Good News (-1, Flamebait)

Anonymous Coward | more than 5 years ago | (#25947373)

Too bad I already migrated to Postgres (and so should you).

PostgreSQL ftw (0, Troll)

Jizzbug (101250) | more than 5 years ago | (#25947663)

Seconded.

Been usin' PostgreSQL for ages because I couldn't figure out MySQL. When I was a newbie, PostgreSQL was EASIER TO LEARN!

lrn2postgres

Re:PostgreSQL ftw (0)

Anonymous Coward | more than 5 years ago | (#25948709)

"I use PostgreSQL because I'm too stupid to figure out MySQL" is not exactly a ringing endorsement.

Re:PostgreSQL ftw (1)

Medievalist (16032) | more than 5 years ago | (#25950191)

"I use PostgreSQL because I'm too stupid to figure out MySQL" is not exactly a ringing endorsement.

I dunno, works for me.

If a retarded monkey can use it, that makes it less likely that I will have to personally maintain it.

Beta Quality (1)

Archangel Michael (180766) | more than 5 years ago | (#25947439)

beta quality to most new features

Beta quality is meaningless term now with Google in permanent "Beta" mode for many of its stuff.

If it is "Google Beta Quality" (tm) then who cares????

Re:Beta Quality (-1, Flamebait)

Anonymous Coward | more than 5 years ago | (#25947497)

And your life is google centered? If google says jump, you say how high? You, mam, are an idiot.

Re:Beta Quality (2, Insightful)

moderatorrater (1095745) | more than 5 years ago | (#25947765)

Everyone here knows what he's talking about when he says "beta". It'll be a few years at least before people who know the term "beta" will get confused by TFA's use of it, and it'll be much longer than that before anyone on this forum will get confused. It's entirely possible, even likely, that the trend will reverse itself in that time. I haven't seen any other site abuse the term as badly as Google, and most places use it properly.

Re:Beta Quality (0)

Anonymous Coward | more than 5 years ago | (#25950639)

I beg to differ!

At least locally I had to set a large number of people right about the meaning of Beta, they seemed to think that it means "hot great product." When I asked them how they got the idea they pointed to Google.

Re:Beta Quality (1)

dfdashh (1060546) | more than 5 years ago | (#25948039)

The thing is that it isn't "Google Beta Quality." It truly is beta quality in the traditional sense. How would you like to cause a crash by simply looping over a view [mysql.com] in a stored procedure?

Wow (5, Insightful)

Whitemice (139408) | more than 5 years ago | (#25947477)

Impressive, now MySQL can have features other databases (PostgreSQL among others) have had for *years*. I've never understood; people like MySQL because it is "light", "simple", "easy", blah, blah.... and yet they add all these enterprise features that then everyone will laud about how MySQL is "growing up" or some such. MySQL is one of the best examples of self redefined success I think I've ever seen.

If you want these features why not use a database that has had them for a long time, where they are better tested, and possibly get better performance under concurrent load as a side benefit.

Re:Wow (1)

stoolpigeon (454276) | more than 5 years ago | (#25947703)

I love PostgreSQL - it's my personal favorite. But that doesn't stop me from realistically looking at features. I'd love to see them implement real partitioning but it's not there yet. Last I checked master/master replication was still not really there for PostgreSQL either. If these features came to MySQL first would you change your tune?
 
Then there is just the reality of the fact that MySQL did gain a huge amount of momentum and there are lost of people out there (myself included) who have to work with it. Whether I really prefer it or not is irrelevant.

Re:Wow (4, Interesting)

mooingyak (720677) | more than 5 years ago | (#25947999)

I think his argument is more marketing/PR driven. His main point is valid, in that MySQL claims simplicity/lightness when they don't have the features, and claims maturity when they add them.

Re:Wow (2, Insightful)

moderatorrater (1095745) | more than 5 years ago | (#25947877)

Because different people have different needs. At the beginning of an application's lifecycle, it's very likely that they'll want a simple database that anyone can set up and use. MySQL is very easy to use and configure the first time. Postgres isn't nearly as simple. However, as the application grows up and the developers get more experience and more experienced developers get hired on, they start to wish for some of the more advanced features.

In addition, since MySQL got so popular so quickly, developers were coming into jobs with experience in it but not in other databases. If you have five developers, each of which has used MySQL and nothing else, you're probably going to go with MySQL unless upper management puts their foot down, and in that instance they're almost certainly going to choose Oracle.

However, I see that changing more and more. The established programs and sticking with MySQL, but a lot of newer programs are using Postgres.

Re:Wow (2, Insightful)

Anonymous Coward | more than 5 years ago | (#25948113)

MySQL is very easy to use and configure the first time. Postgres isn't nearly as simple.

On what do you base this statement? Having used both, I do not agree and think they are about the same. Would be nice to hear what other find hard with Postgres set up.

However, I see that changing more and more. The established programs and sticking with MySQL, but a lot of newer programs are using Postgres.

I would prefer if the programs were written so that you could use the RDBMS you already have installed. For me this is a small hint that the developers might have a thought when it comes to design.

Re:Wow (2, Insightful)

moderatorrater (1095745) | more than 5 years ago | (#25948549)

On what do you base this statement?

Experience. I've used MySQL for years and didn't have any problems with configuration. It worked out of the box for everything I needed. Just last night I was configuring Postgres and had some issues with the configuration that I had to look up in their manual. The same thing in MySQL would have taken me thirty seconds now, and no more than 15 minutes when I was starting out. With Postgres, it took me upwards of 20 minutes when it should have taken much less time. MySQL is more willing to hold new users hands and has a lot of easy shortcuts built into it. Postgres does things well and gives you a lot of options, but it's not as forgiving to new users. Things like "SHOW TABLES" are either considerably more difficult in Postgres or harder to find out.

I would prefer if the programs were written so that you could use the RDBMS you already have installed. For me this is a small hint that the developers might have a thought when it comes to design.

When you're using MySQL for applications that aren't being distributed and installed by your customers, but are running on servers you control, there's no real need to make it work with any database other than the one that you're using.

Re:Wow (4, Informative)

jmusits (727995) | more than 5 years ago | (#25949435)

.... Things like "SHOW TABLES" are either considerably more difficult in Postgres or harder to find out. ....

More difficult? Harder to find out? Consult help by typing \? and you will see this:
[snip]
Informational
    \d [NAME] describe table, index, sequence, or view
    \d{t|i|s|v|S} [PATTERN] (add "+" for more detail)
                                  list tables/indexes/sequences/views/system tables
[snip]

Then type \dt to show the tables. To me that does not present it seld as more difficult or hard to find out.

Re:Wow (2, Informative)

moderatorrater (1095745) | more than 5 years ago | (#25949845)

That's only using the client which hides the actual queries from you. If connecting through code, \dt doesn't work; in mysql, show tables does.

Re:Wow (2, Insightful)

cyber-dragon.net (899244) | more than 5 years ago | (#25949897)

I think you proved his point... to an inexperienced user what you just posted is gibberish where "show tables" is plain english and something you might type as a guess.

To someone very familiar with reading option syntax sure that makes sense... but that is a much smaller group. Just figuring out that \d{t|i|s|v|S} means /dt or /di or /ds etc assumes a certain level of knowledge.

Re:Wow (0)

Anonymous Coward | more than 5 years ago | (#25951285)

You were configuring postgres!? Why? It basically needs zero configuration until you are putting it through some very very serious work. Stuff that MySQL wouldn't even be capable of handling regardless of configuration.

Re:Wow (1)

Dog-Cow (21281) | more than 5 years ago | (#25948639)

I would prefer if the programs were written so that you could use the RDBMS you already have installed. For me this is a small hint that the developers might have a thought when it comes to design.

That's a good goal when designing a system that has to integrate into and with 3rd-party systems. I.E. an app designed to be sold to 3rd parties.

However, doing so for an in-house app is stupid, as you won't be able to take advantage of any of the features of any particular RDBMS. In that instance, I think it's better to simply isolate the RDBMS-specific bits rather than leaving them out altogether.

Re:Wow (4, Informative)

TheRaven64 (641858) | more than 5 years ago | (#25948517)

MySQL is very easy to use and configure the first time. Postgres isn't nearly as simple

I've heard this a few times. I've installed PostgreSQL on Windows, Linux, FreeBSD and OpenBSD. Every time, the process has been:

  1. Install from the package
  2. Run initdb to initialise a new storage location (sometimes done by the package - I think it was under RedHat).
  3. Run createuser and createdb for each DB user and each DB that needed to exist.

How does MySQL simplify this?

Re:Wow (1)

Sxooter (29722) | more than 5 years ago | (#25949031)

To be honest, and I'm a total pgsql fan, you usually wind up needing to edit pg_hba.conf and reload to allow external access. But yeah, it is about as easy to me as mysql.

Now, 6.5 was a bit more of an exercise to install.

Re:Wow (0)

Anonymous Coward | more than 5 years ago | (#25949515)

And that's a valid security feature anyway.

The PostgreSQL way is simply better. I started out on MySQL, but moved to PostgreSQL about three years ago. It took some time to get used to it (just as it took time to get used to MySQL), but it wasn't difficult. \dt is so hard, wahhh ;)

Now I'm stuck on Oracle, for no appreciable benefit but a high initial license cost, and someone to blame. Admittedly the data is the most important aspect of many businesses and thus it is worth spending money here to be sure. It's certainly a lot more difficult to install though!

MySQL look like they have a really nice schema designer now however, in MySQL Workbench.

Re:Wow (1)

Tweenk (1274968) | more than 5 years ago | (#25949711)

It just does things differently, the storage space is configured in files and databases are created with SQL queries. Essentially, after you install the MySQL package, you can just run the `mysql` client and create databases and users as you wish. I see that compared to this, pgsql requires some additional setup before getting at the SQL prompt.

Re:Wow (1)

TheRaven64 (641858) | more than 5 years ago | (#25950135)

You can create users and databases from inside pgsql. The createuser and createdb scripts are just wrappers around this.

Re:Wow (2, Insightful)

larry bagina (561269) | more than 5 years ago | (#25948643)

If they've used MySQL and nothing else, they're probably self taught and don't really understand what they're doing.

Re:Wow (-1, Redundant)

Anonymous Coward | more than 5 years ago | (#25947941)

I completely agree, it is some kind of psychological self-preservation mechanism. People have a very hard time accepting that something else than what they have already chosen MIGHT be better in some regards, instead they argue to convince (themselves?) that their choice is superior.

I find it kind of funny that MySQL-advocates once bashed on Postgres for having unneccesary "heavy" features. Now they are praising MySQL for implementing these same features. This convinces me that the self-preservation theory has validity.

Once upon a time MySQL was perhaps the easiest free RDBM to set up since you could download binaries for an impressive number of platform, a lot of projects are written exclusively (and often very poorly) for MySQL which now has a great userbase "locked in", many which does not want/care/are able to check out alternatives when appropriate. Sadly.

MySQL is nice sometimes, but I recently cursed over and over again when a FOSS webshop solution running on MySQL croaked due to too many items in the webshop. The trouble was MySQLs lack of intelligence in the query planner when it comes to subselects. Using a fraction of the items due for inclusion in the final webshop I could optimize MySQL to get the standard search down to a few seconds from well over a minute. But rewriting the SQL-statements not to use subselects cut it down to a few hundreths of a second. These subselects were nothing fancy, things other RDBMs I have used execute swiftly.

Re:Wow (1)

edmicman (830206) | more than 5 years ago | (#25948011)

I've wondered about this in the past. Is there a good resource for comparing MySQL, PostgreSQL, and MS SQL Server? I work for an MS shop, and have a lot of experience with SQL Server. My personal hobby website uses MySQL, and I've dabbled in it some. But I'm looking to gain more experience and want to work on a PHP/database web app. Should I be working with Postgre instead? What are the compelling differences, and how do they stack up against SQL Server with things like stored procs, triggers, and management/query tools?

Re:Wow (0)

Anonymous Coward | more than 5 years ago | (#25948333)

You will find that postgresql is very mature and is much much more roughly equivalent to mssql than mysql in features and keeping your data safe.

Re:Wow (3, Informative)

larry bagina (561269) | more than 5 years ago | (#25948979)

One thing I like about postgresql vs MS Sql is the triggers. MS SQL triggers are after-insert, per statement only, IIRC. Pg triggers are per statement or per row, before or after. There's also a rule system and the ability to rewrite the query, for updateable views or other tricks. The lacking features are clustered indexes, replication, and partitioning. I'll also mention hash indexes -- it has them, but they're not journaled, and they're not generally recommended. I'm not going to comment on MySQL since I haven't used it since 4.x and it sort of has triggers now.

Oh, also, the pgpsql stored procedure language is similar to oracle's psql and fairly fun to program in.

Re:Wow (1)

kuzb (724081) | more than 5 years ago | (#25948147)

Because then we wouldn't be able to read venomous posts by people who can't handle the fact that someone else is trying to write a database server, such as yourself.

Sure, other databases are nice (1)

toby (759) | more than 5 years ago | (#25948359)

PgSQL is not the only, nor necessarily the best open source choice. There are DB2, Firebird, Ingres, and dozens more. Some of them have mature implementations of the features new to 5.1.

MySQL is a very valid choice also, for a variety of reasons that you may not have considered. Or are you saying Facebook, Flickr, Yahoo!, Google, Slashdot, SABRE, Wikipedia, YouTube are all stupid?

The world just isn't as simple as you think.

Re:Sure, other databases are nice (1)

nxtw (866177) | more than 5 years ago | (#25950689)

PgSQL is not the only, nor necessarily the best open source choice. There are DB2, Firebird, Ingres, and dozens more. Some of them have mature implementations of the features new to 5.1.

DB2 isn't open source. They do have a limited free-to-use version (like Oracle and SQL Server), although DB2 has no connection or storage limits.

MySQL is a very valid choice also, for a variety of reasons that you may not have considered. Or are you saying Facebook, Flickr, Yahoo!, Google, Slashdot, SABRE, Wikipedia, YouTube are all stupid?

Windows 95 and Macintosh System 7 were valid choices at some point. Was this ever the case with MySQL?

Pet peeves (0)

Anonymous Coward | more than 5 years ago | (#25947561)

-Can we do inserts with the value NOW()?
-Does it silently accept CONSTRAINTS other than FOREIGN KEYs and then not use them? ...

Re:Pet peeves (1)

boredhacker (1103107) | more than 5 years ago | (#25948845)

-Can we do inserts with the value NOW()?

Do you mean to say this is broken in 5.1?!?

Curious because it works fine for me w/ ver 5.0.27-standard and I'd be quite shocked if something so trivial didn't work in the new release.

news flash (4, Insightful)

girlintraining (1395911) | more than 5 years ago | (#25947625)

Just about every major non-open source project that has shipped with major bugs, the /. crowd jumps on for releasing poor quality products due to bad planning, poor communication, legal reasons, marketing deadlines, oh and the list goes on. When an open source project is shipped with major bugs though, what do I hear? Excuses. Is it just possible that people who develop open source are human, and make the same decisions, for the same reasons, as their closed-source counterparts? Which might lead to the conclusion that different methods don't necessarily yield different results; ie, that open source innately presents no inherent technical advantage over closed source, only social and legal advantages. Uh oh... they're getting a duck and a large scale out. I think that's my cue to post and run now...

Re:news flash (1, Insightful)

jd (1658) | more than 5 years ago | (#25947911)

I think the difference is that a lot of open source projects operate on a release-early-release-often philosophy - what software engineers refer to as the waterfall model. In such a scenario, bugs will appear in earlier releases and decline in number sharply over time. Closed source projects tend to operate on the more classical release schedule, which tends to be a lot slower with a lot more expansive software lifecycle, but SHOULD produce far far fewer bugs in each release.

MySQL, with the current Oracle owners, seems to have moved to more of the classical mindset. That's fine and I personally don't think there's anything wrong with it if it's done right. But to be done right, you need fewer bugs in a release than the rapid-cycling of the RERO approach, and should aim for code of a quality comparable to RERO over the same timeframe.

It is clear in this case that MySQL has failed the test. It is a good product, but the new methodology is fixing less than the old methodology. That needs to be when the developers stop and think about whether they want to try switching to something else or go back to what had worked well in the past.

Re:news flash (1, Informative)

Anonymous Coward | more than 5 years ago | (#25948043)

I think the difference is that a lot of open source projects operate on a release-early-release-often philosophy - what software engineers refer to as the waterfall model. In such a scenario, bugs will appear in earlier releases and decline in number sharply over time. Closed source projects tend to operate on the more classical release schedule, which tends to be a lot slower with a lot more expansive software lifecycle, but SHOULD produce far far fewer bugs in each release.

MySQL, with the current Oracle owners, seems to have moved to more of the classical mindset. That's fine and I personally don't think there's anything wrong with it if it's done right. But to be done right, you need fewer bugs in a release than the rapid-cycling of the RERO approach, and should aim for code of a quality comparable to RERO over the same timeframe.

It is clear in this case that MySQL has failed the test. It is a good product, but the new methodology is fixing less than the old methodology. That needs to be when the developers stop and think about whether they want to try switching to something else or go back to what had worked well in the past.

Just two things.

1) The waterfall model is the old slow model for software development.

2) Sun MicroSystems owns MySQL, not Oracle.

I think your post is now totally invalid...

Re:news flash (0)

Anonymous Coward | more than 5 years ago | (#25947945)

I don't disagree, but you imply that people will read your post and think critically about their own dogma. Those that need to do it most will not, it is immune to logic. Kind of a vicious cycle, unfortunately.

Re:news flash (4, Interesting)

scribblej (195445) | more than 5 years ago | (#25948055)

Oh, I agree, every product that's ever shipped has shipped with bugs.

But you gotta put this all in perspective, some glib talk about how everyone is equal in the eyes of bugs just doesn't apply here.

First off, the context. We're talking about a database, your warehouse for your most valuable asset. This is not a place where you want to encounter mistakes, and caution is the word. You might hear excuses for some, but those people are idiots. This is /inexcusable/.

If you read the article, the things he says basically boil down to "this product is as stable as a house of cards and if you use it, treat it with all the care and caution you'd give a newborn child." I'd love to pick an excerpt from the article and copy it here, but it's just TOO RICH. Every single thing this "Monty" says would make your average MySQL apologist cringe, and makes normal people and DBAs stomachs turn.

Honestly, I think I'm gunna be sick. I don't care if MySQL is a good product or a bad product as such, I only use it for stupid things that do not matter at home, like my MythTV, never ever on anything that could be called "production." But having read this article and gotten a picture of what is, evidently, the thoughts of the minds supporting the creation and use of MySQL, it makes me ill. These people should just come out and say "there's no explanation we can give, this is crapware and we're really sorry if you got hosed by it. Don't use it at all if you aren't already." Instead this guy bends over backwards to explain how this broken database is actually quite useable, and ready for "general production" - how that's different from just "production" is clear: apparently "general production" refers to systems with zero value (less than my MythTV box, which will NOT be getting an update to this version).

Re:news flash (1)

girlintraining (1395911) | more than 5 years ago | (#25949923)

This is not a place where you want to encounter mistakes, and caution is the word. You might hear excuses for some, but those people are idiots. This is /inexcusable/.

Like this [slashdot.org], that [slashdot.org], and the other thing [eweek.com]?

Instead this guy bends over backwards to explain how this broken database is actually quite useable, and ready for "general production" - how that's different from just "production" is clear: apparently "general production" refers to systems with zero value.

I think it would be better to simply say -- this is not ready for enterprise or mission-critical usage and will not be for some time. My little Saturn will get me to and from work without much complaint for cheap, though it isn't engineered as well as other vehicles and breaks more often. And for me, that's all I need. Many businesses are like that -- they need something cheap that mostly works and if it breaks it can be fixed without too much trouble. It doesn't have to be the best, it just needs to be good enough.

Re:news flash (1)

nxtw (866177) | more than 5 years ago | (#25950657)

I only use it for stupid things that do not matter at home, like my MythTV, never ever on anything that could be called "production."

I wish applications like that would stop using MySQL (and server-based databases in general), but I don't think there's a good alternative that isn't written in Java that supports multiple simultaneous connections. I like the approach used by the Java embedded H2 database engine [h2database.com] with its automatic server mode - you can open the database like a file, but the first client to connect to the database will start up an embedded server and create a lock file that instructs any other clients to connect to the server running on the first client. If the first client closes the database while there are other clients connected, one of the others will take over.

Re:news flash (1)

FooBarWidget (556006) | more than 5 years ago | (#25948083)

That's only true if you use number of bugs as a measurement of overall quality.

Re:news flash (0)

Anonymous Coward | more than 5 years ago | (#25949353)

You know, you're right. How about we use the "just works" factor, that is, does it stay out of the user's way as much as possible?

Oops, not doing so hot in that area, either.

Re:news flash (1)

dfdashh (1060546) | more than 5 years ago | (#25948125)

...because we didn't jump all over the KDE team when they released 4.0 [slashdot.org]? How soon we forget!

Re:news flash (1)

O('_')O_Bush (1162487) | more than 5 years ago | (#25948619)

...yes, and probably the single most repeated key word in those comments were "Gnome". A vast amount of those comments were just continuing the Gnome vs KDE war.

You really can't deny that Slashdot is flooded with Linux/FOSS fanboys.

Re:news flash (1)

dfdashh (1060546) | more than 5 years ago | (#25951007)

I find that we here on Slashdot are extremely critical of all applications, regardless of whether they are closed source or not.

So Gnome vs. KDE that thread may be, but it is still criticism, no?

Wrong! (0)

Anonymous Coward | more than 5 years ago | (#25948221)

Is it just possible that people who develop open source are human, and make the same decisions, for the same reasons, as their closed-source counterparts?

Incorrect, puny human. 9/10 open source developers are cyborgs, and we do not make mistakes.

MySQL is a special case, however, as it is developed entirely by the humans responsible for IE6. When given the push from Microsoft, they all went to work on MySQL. If you have ever used MySQL you'll realise this answers many questions, 'Why are there all these "helpful", non-standard extensions to the SQL standard included, but no proper support for sub-queries?' for example.

If you want a cyborg written RDBMS, use PostgreSQL. It is essentially perfect, follows the SQL standard, and has zero bugs (mostly because we kill anyone who dares raise one).

Re:news flash (1)

moderatorrater (1095745) | more than 5 years ago | (#25948667)

Maybe when you're out of training you'll see the difference.

But seriously, if the quality of the programs is the same, then the openness alone should make the decision. As someone else pointed out, sometimes it takes a lot of work to find out there's a bug in a proprietary program, and then you're at the mercy of the corporation that made the program. When something's wrong in an open source program, the backers of the program are usually more open about it and you can go into the source and fix it yourself if you want to. I would consider those technical advantages.

Re:news flash (1)

Attila Dimedici (1036002) | more than 5 years ago | (#25949483)

First off, it is important to remember that slashdot represents the opinions of many different people. It is quite likely that the people who jump all over proprietary software that has a poor quality release are not the same people as the one's who are defending MySQL
Second, there is an important difference between MySQL and a proprietary database solution. I don't have to pay any money for MySQL. If I try MySQL and it chokes on my database, all I am out is my time. If I buy proprietary, I am out money AND my time.

MySQL x.1 releases gives me the creeps (3, Funny)

julie-h (530222) | more than 5 years ago | (#25947735)

I'm I the only one that get the creeps when a 1 is followed after the . in the version?

Re:MySQL x.1 releases gives me the creeps (-1, Offtopic)

Anonymous Coward | more than 5 years ago | (#25948157)

Obama is a nigger

Re:MySQL x.1 releases gives me the creeps (1)

stickystyle (799509) | more than 5 years ago | (#25948935)

I think so. 4.1 still has a strong foot-hold with deployments, and is pretty stable.

Re:MySQL x.1 releases gives me the creeps (2, Informative)

Anonymous Coward | more than 5 years ago | (#25949291)

So, you're waiting for MySQL 5.11 for Workgroups?

mTare (-1, Offtopic)

Anonymous Coward | more than 5 years ago | (#25948537)

of the founders of That shoul3 be stupid. To the are tied up in is mired in an Fear the reaper a full-time GNAA of an admittedly was at the same anyone t4at thinks a fact: FreeBSD clear she couldn't the system clean incompatibilities quarreled on posts. Therefore that supports happen. 'At least a dead man walking. Around are in need New core is going

Not a question forum (1)

ittybad (896498) | more than 5 years ago | (#25948733)

I know it peeves some of y'all off when people ask these kinds of questions. Is there a query that can be sent to MySql from PHP that will tell you if a field has data without actually passing the data back? I have a BLOB field that I want to know if it is occupied but not retrieve the data...just know if there is data to be had.

Re:Not a question forum (2, Informative)

Muad'Dave (255648) | more than 5 years ago | (#25948903)

Uh, if you're trying to interrogate a BLOB column on a particular row that you have criteria for, wouldn't this work?

select count(myblob) from myTable where field1='criterion1' and field2='criterion2' ... and myBlob is not null

If it returns 1, the column has data. If it returns 0, it's null.

Re:Not a question forum (1)

MattBurke (58682) | more than 5 years ago | (#25949305)

Do you need the "and myBlob is not null"?

IIRC count(foo) returns the count of rows where foo is not null hence why a lot of the time where foo is a column name, it should really be * because the coder mistakenly thought specifying a column meant the db server has to do less work

Re:Not a question forum (1)

Muad'Dave (255648) | more than 5 years ago | (#25950317)

Excellent point. The 'and myBlob is not null' was brought to you by the unnecessary, unneeded, and redundant department.

Re:Not a question forum (1)

ianare (1132971) | more than 5 years ago | (#25949345)

select `id` from `table` where `blob_field` is not null

all tables should have an 'id' column (that's just standard practice), the above query will tell you which rows contain data.

Heh (2, Insightful)

Trailer Trash (60756) | more than 5 years ago | (#25949403)

MySQL 5.1 Released, Not Quite Up To Par

Depends on what you call "par", but for my values of "par", MySQL has never been there.

PostgreSQL has the same issues (4, Interesting)

Sxooter (29722) | more than 5 years ago | (#25949447)

It just has them on a different scale and there's a different release. If you look through the past release notes for pgsql, you'll see that occasionally one release would come out with some horrific server crashing bug, get reported and get fixed.

Now, the timeframe is what is the key. For MySQL there are server crashing bugs that have been in place since 2003 or before.

For PostgreSQL, once such a bug is documented and reproduce-able, it is generally squashed in hours, days, and occasionally, for really complex problems, in a week or so.

Sounds familiar (0)

Anonymous Coward | more than 5 years ago | (#25950183)

MySQL 5.1 was declared beta and RC way too early. The reason MySQL 5.1 was declared RC was not because we thought it was close to being GA, but because the MySQL manager in charge *wanted to get more people testing MySQL 5.1*.

KDE 4.0 anybody?

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...