Slashdot Mirror


Reports from the MySQL Users Conference

Eh-Wire writes "OnLamp is reporting on the MySQL Users Conference that is currently underway. Among the highlights are the announcement that the code for MySQL 5.0 is now complete. Axmark and Widenius suggest that squashing bugs is the key behind the success of MySQL. Michael Tiemann from Red Hat and the OSI delivered a keynote on "Defining Open Source". He suggests that Microsoft's "shared source license" has been a complete failure at the design level."

30 of 109 comments (clear)

  1. MySQL's New Slogan by Anonymous Coward · · Score: 5, Funny

    "We're catchin' up!"

  2. ...Reports from the MySQL Users Conference by waldoiverson · · Score: 4, Funny

    i don't think i've ever seen MySQL output a report like this...must have been a weird query.

  3. Squashing Bugs Good? by mwkaufman · · Score: 5, Funny

    Who knew? Maybe Microsoft should follow this brilliant business plan.

  4. Objection, redundant by Tackhead · · Score: 5, Funny
    > Microsoft's "shared source license" has been a complete failure at the design level.

    Due to the rising cost of energy, ink, and/or toner, we urge all authors to reduce their word count wherever possible. For instance, the string ('s "shared source license") in the preceding article is redundant and may be eliminated.

    Thank you for your co-operation.
    - The Management

  5. From the Article by DarkHelmet · · Score: 4, Interesting
    "MySQL 5.0 is code complete"

    So does this mean they're still doing bugfixes? Or they're doing testing? Or it's going to come out any moment?

    Or does it mean that they're no longer implementing new features, which means they're in beta. If that's the case, we knew that much already.

    --
    /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i
    1. Re:From the Article by Surt · · Score: 2, Informative

      Traditionally code complete means all features implemented, alpha testing can begin.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  6. Mysql needs to Improve by RedElf · · Score: 4, Interesting
    It still has a long way to go, over the last weekend I spent several hours trying to recover data from a backup (mysqldump) because of dataloss due to mysql database corruption on server version 4.0.20.

    Sure it seems ok if you want to run a small, fast, dynamic website that doesn't contain any real valueable data.

    For serious data needs, in my projects I'll choose Sql-Server over mysql any day of every week. I'm not saying Sql-server is the best choice, but its ahead of mysql when it comes to data integrity.

    --
    You know, I have one simple request. And that is to have sharks with frickin' laser beams attached to their heads!
    1. Re:Mysql needs to Improve by eakerin · · Score: 3, Informative

      Data corruption has nothing to do with data integrity.

      Data corruption is caused by either a software bug, or hardware problems, and it's a problem with the data as it's layed out in the database's backing file. This type of failure can happen with any RDBMS. I've personally had it happen a few times with MSSQL server. All times were easily repaired with either a re-index of the table, or a partial table restore.

      Data integrity is the database ensuring that when you want to have an entry in another table for each row in a table, that you do.

    2. Re:Mysql needs to Improve by superpulpsicle · · Score: 2, Interesting

      While people mark that as Funny. Most people/companies/mission-critical-places still choose Oracle over MS SQL and MySQL. I really would like to see MySQL 5.0 compete and actually topple oracle in the market place.

    3. Re:Mysql needs to Improve by bluGill · · Score: 3, Insightful

      If you are looking for an Oracle replacement try postgresql. Depending on what your needs are it might be better than Oracle, though if you needs are typical of what a business wants Oracle is likely better. Being open source (and more free than MySQL is, as the license is BSD) people do hack it to add weird things to their database.

      There are a number of open source databases. MySQL gets the press. That does not mean it is best for your purpose, so you really should examine them all yourself.

      Which is best is partially a matter of opinion. Mine is that between sqlite on the low end and postgresql on the high end there isn't much room for more general purpose SQL databases. Of course there are others, I'm not going to list them all because I'll forget at least one if I try.

    4. Re:Mysql needs to Improve by TexVex · · Score: 4, Informative
      Data integrity is the database ensuring that when you want to have an entry in another table for each row in a table, that you do.
      That's referential integrity. For example, if your database enforces referential integrity between an accounts payable and a payable entities table, if you delete a payable entity then all associated payables records would be cascade-deleted along with it.

      And, as an aside, generally if you're going to maintain a record-for-record relationship between two tables, you might as well combine them into a single table.

      Data integrity is making sure your data is complete and accurate. The database can assist with this by the enforcement of rules when entering, deleting, and updating information. Extending the above example, you might preserve data integrity by disallowing deletion of a record from the payable entities table when there is a non-zero balance on that account or there has been activity on that account in the past three years.
      --
      Fun with Anagarams! LADS HOST, SHALT DOS. HAS DOLTS. AD SLOTHS, HATS SOLD. ASS HO, LTD.
    5. Re:Mysql needs to Improve by Michalson · · Score: 4, Insightful

      Your perception of "data integrity" seems very limited, either that or you don't a thing and you're just bullshitting based on your knowledge of "data integrity" in other fields.

      In the professional world of databases data integrity is ensured by the ACID compliance of the database. In your post though you only seem to understand the C in ACID, "Consistency". The problem is that out of the box MySQL will often fail the Atomicity and Durability requirements of ACID (and doesn't even attempt I). That means the database or a table can be left in a corrupt, unrecoverable state if interrupted by any number of things (you don't just lose the latest additions, you lose everything, forcing you to restore from a hard backup as grandparent did).

      To properly understand this, look at another area where ACID is used. If you are using a disk formatted with FAT32 or ext2 and your computer crashes, you'll end up being forced to run scandisk/e2fsck, which has to go over the entire disk structure looking for errors. In many cases the errors it finds (due to an operation being interrupted leaving the disk in a corrupt state) are not recoverable and if left unchanged will mess things up even more. So you get little chunks of the disk (CHK files when using scandisk) that the system has no idea what to do with (databases are far more interconnected, making one unrecognizable element break the whole thing). On the other hand more modern disk systems (NTFS and ext3) borrow methods from the database world, resulting in a disk system that is ACID compliant. When the system crashes or is rebooted by a power failure, it doesn't spend 20 minutes checking the disk for errors it won't even be able properly fix, it just uses it's Durability feature to "instantly" restore the disk to the last good state (on a standard ext3 formatted 7200rpm drive "instantly" is less then 2 seconds).

      The only way to make MySQL ACID compliant (and thus durable enough to store information that's actually important) is to use InnoDB tables instead of MySQL's fast default MyISAM tables. Even then, by InnoDB's own documentation, its particular form of ACID compliance is heavily dependent on how and when the OS writes to disk - you can still end up with unrecoverable InnoDB tables if the system crashes, making InnoDB more a device for its transactional programming capabilities and row level locking then it's long term data integrity features (A, C and I). With real world databases a crash simply means you lose the latest changes, not the whole table (to be redundent, the D in ACID, Durability).

    6. Re:Mysql needs to Improve by Michalson · · Score: 2, Informative

      I = Isolation
      Basically it means that when multiple users are performing operations on the database they should not be able to screw each other up (for example if two users execute an UPDATE on a table, they should not overlap and produce crazy results).

      To be technical MySQL does perform the basics of isolation - individual operations are properly isolated from one another by way of ugly full table locking (this is why MySQL [the default MyISAM tables] does so poorly at concurrent inserts and other write operations). However to properly fufill the requirements of isolation you need to actually be able to do entire human operations in isolation. For example executing a series of SELECT/INSERT/UPDATE/DELETE operations (that together do an actual job) knowing that the data won't change right in the middle. These are called transactions, and you'll need to switch to InnoDB tables to get them (InnoDB also has row level locking).

      As for other databases that pass that ACID test, well basically all of them do. MySQL is the exception to the rule, owing mainly to the fact that it's more of a fast selecting engine with database like features, instead of a stripped down database built for speed. Off the top of my head SapDB is GPL (and ACID of course), though all of the other big open source databases I can think of are under some other more free licence (Firebird [ACID], Postgre [ACID], SQLite [ACID!])

    7. Re:Mysql needs to Improve by gumbi+west · · Score: 2, Insightful

      To be fair, you would have to include MySQL in that list since you cau use the InnoDB tables as well. Also, if you lock all the tables you are using with MyISAM tables you can get isolation... just not so nice for other users.

  7. well.. by quark007 · · Score: 3, Insightful

    >> He suggests that Microsoft's "shared source license" has been a complete failure at the design level." I agree with what Tiemann says..but to an extent. MySql an JBOSS are now commercial companies who employ team of developers to develop the code much like a proprietory software. The real value in open source is the amount of feedback you get from the developers which in turn improves the quality. Microsoft with its license is trying to just that. And it would succeed..(just like JBoss and MySql have).

    --
    - Sh!t
  8. MySql 5.1 by 514CK3R · · Score: 3, Funny
    Among the highlights are the announcement that the code for MySQL 5.0 is now complete.
    So that means we should expect 5.1 to come out next week as planned?
  9. Great, no bugs, ... SQL Injection? Crap by crowemojo · · Score: 2, Informative

    It's great that bugs are fixed, but how about investing more in user education, so that people at least realize that they could have every patch imaginable installed but still be owned by SQL injection, a problem with whoever wrote their webpage or app that interfaces with the SQL server and not the SQL server it self.

    MySQL is a lot better about it then MSSQL due to the lack of comments, but disastrous things can still be done with this.

    For those that are curious, more info on SQL injection can be found here and here.

  10. People give MySQL too much crap... by Anonymous Coward · · Score: 5, Interesting

    Really, it sort of annoys me. We use MySQL in a live, production environment. We have tables with close to five billion rows in them. MySQL has only given us a problem once. A table was mysteriously corrupted about two years ago. The fix? I opened up a HEX editor and repaired the damage. Restarted MySQL, ran some checks with the included tools, and we were all done. Quicker than pulling tapes, let me tell you.

    I am really tired of all the hate around here. Every other comment is "If you're serious you will use Postgres because it has feature x, y, and z which make it a better product and you will suffer the consequences if you use MySQL because it's a bad thing for bad people because they don't like penguins and hot grits and bacon shit!"

    Actually, it's not that bad... but it's damn near.

    1. Re:People give MySQL too much crap... by prog99 · · Score: 3, Interesting

      You think hacking a table with a hex editor is good?

      Think I'll stick with known good backups , glad I'm not working with your prod environment.

    2. Re:People give MySQL too much crap... by vadim_t · · Score: 4, Interesting

      Well, it might just be me, but I definitely don't look forward to hex editing databases when the thing goes down and the whole company grinds to a halt.

      Now, I will readily say that mySQL has its uses. If you're simply aiming to logging data it works well. IIRC, that's what it was designed for in the beginning.

      But it's still quite far from being a good database. Doing crap like silently ignoring things it doesn't like is one of the things that makes sure I'll never use it for anything important.

    3. Re:People give MySQL too much crap... by Anonymous Coward · · Score: 5, Informative

      When the number of items on the "gotchas" list for MySQL (http://sql-info.de/mysql/gotchas.html) is less than or equal to the same list for PostgreSQL (http://sql-info.de/postgresql/postgres-gotchas.ht ml) I'll consider using MySQL.

    4. Re:People give MySQL too much crap... by snorklewacker · · Score: 3, Informative

      Dude, MySQL doesn't support foreign keys. At all. Though it's good at ignoring them. It doesn't even have VIEWS, mmkay?

      There's reasons for the hate, and a lot of it has to do with MySQL AB flogging their mediocre system as the sine qua non of OSS databases, to the point of openly disparaging things like transactions at the time when MySQL didn't support those.

      And you thought using a hex editor was acceptable. Wow.

      --
      I am no longer wasting my time with slashdot
    5. Re:People give MySQL too much crap... by Anonymous Coward · · Score: 2, Informative

      yes, you have to explicitly say the table should be innodb, which isn't really a major issue.

      Actually, yes, it is a major issue. If you ask for an innodb table, and for some reason it's not available (e.g. innodb isn't compiled in, common in hosting environments), then MySQL will go ahead and create a myisam table without warning you. The result? Your foreign keys, which "work just fine" under MySQL, are simply ignored.

    6. Re:People give MySQL too much crap... by jesterzog · · Score: 2, Interesting

      Most of the problems pointed out should never hit the database engine and if they do, you get what you deserve.

      Of course they shouldn't hit the database engine. When they do, however, I'd like to know about it rather than have the database engine silently determine the semantics of something that's supposed to be undefined.

      It sounds as if MySQL 5 has dealt with a large amount of this criticism, now, which is good.

    7. Re:People give MySQL too much crap... by snorklewacker · · Score: 3, Insightful

      > Most of the gotchas are non-existant when you run MySQL with a brain larger than that of a legume in your head as well.

      This is the same tired old argument old-style MacOS zealots always pulled when called on the lack of memory protection: "properly written apps don't crash".

      The whole fucking PURPOSE of integrity constraints is to protect your data from stupid mistakes. Databases are designed with improperly written apps in mind. That's why the database manages the data, and the apps don't.

      Yes, if a schema is designed by morons, then you don't have much recourse. If a database ENGINE is designed by morons, then everyone downstream is screwed.

      --
      I am no longer wasting my time with slashdot
  11. currently underway, eh? by donutz · · Score: 4, Funny

    "OnLamp is reporting on the MySQL Users Conference that is currently underway."

    But the conference website says it finished yesterday...

  12. Re:microsoft by bluGill · · Score: 2, Insightful

    It has been on slashdot before. Shared Source does not mean what you think it does. In fact shared source is so bad that I have to recommend you quit your job if ever told to look at something under that license.

    Shared source licenses cannot touch Samba. It isn't clear if you could touch Samba if you look at code completely unrelated to networking. It is not clear that someone who has ever seen shared source code can ever hack linux. I wouldn't recommend trying, at least not without a lawyer advising you.

    The name shared source was chosen to confuse people who know about open source and make you think it is a variation. The whole idea behind them is different.

  13. Re:Unfortunately for me... by onlyjoking · · Score: 2, Insightful

    You shouldn't compare MySQL to M$ Access because Access isn't a client-server database. It's a desktop database for work with other desktop/office applications and the closest comparison is the new Java datbase which comes with OpenOffice 2. MySQL should be compared with M$ SQL Server, though it has less features at present, because both are distributed, client-server architectures.

  14. God likes Oracle! by EvilStein · · Score: 3, Funny

    The weather here has been *beautiful* for a while. Today, during the MySQL Users Conference right down the street, we basically get the following:

    SPECIAL WEATHER STATEMENT
    NATIONAL WEATHER SERVICE SAN FRANCISCO CA
    344 PM PDT FRI APR 22 2005

    CAZ005>008-065-075-230000-
    -SANTA CLARA COUNTY-
    344 PM PDT FRI APR 22 2005

    STRONG THUNDERSTORMS HAVE DEVELOPED OVER THE EAST BAY THIS
    AFTERNOON.. EXPECT
    STRONG GUSTY WINDS TO 40 MPH...FREQUENT LIGHTNING AND SMALL HAIL WITH THESE STORMS.

    ---

    I'm telling you, the almighty one himself has made his database choice, and it ain't MySQL!

  15. Two words by Obstin8 · · Score: 2, Funny

    Post Gres. Gracias Oops, that was three. Sorry...