Slashdot Mirror


Has MySQL Forked Beyond Repair?

snydeq writes "Fatal Exception's Neil McAllister questions the effect recent developments in the MySQL community will have on MySQL's future in the wake of Oracle's acquisition of Sun. Even before Oracle announced its buyout, there were signs of strain within the MySQL community, with key MySQL employees exiting and forks of the MySQL codebase arising, including Widenius' MariaDB. Now Widenius' Oracle-less Open Database Alliance adds further doubt as to which branch of MySQL will be considered 'official' going forward. 'Forks are a fact of life in the open source community, and arguably an entirely healthy one,' McAllister writes. 'Oracle just better hope it doesn't end up on the wrong side of the fork.' To do so, he suggests Oracle will have to regain the the trust and support of the MySQL community — in other words, 'stop acting like Oracle.'"

89 of 334 comments (clear)

  1. Cue postgres fan bois by Anonymous Coward · · Score: 3, Funny

    In 3, 2, 1

    1. Re:Cue postgres fan bois by danomac · · Score: 5, Insightful

      It's not so much fanboys. When you develop for something, you want to develop for a stable feature set. If there's going to be a dozen forks of a database, it becomes much more work to test all the versions and apply patches.

      It now makes far more sense to develop using a different DBMS.

      Note: I've never installed or used PostgreSQL.

    2. Re:Cue postgres fan bois by Moblaster · · Score: 5, Funny

      It is more accurate to characterize the recent burst of minor MySQL variations as a sporking of the code base.

    3. Re:Cue postgres fan bois by mikael_j · · Score: 5, Insightful

      Clearly this is a troll but regardless of all other features that MSSQL may have that MySQL doesn't there is one thing that is missing: LIMIT. No, TOP is useless for a lot of stuff and the fact that LIMIT is missing results in lots of painful hacks with nested SELECTs and other crap in stored procedures.

      /Mikael

      --
      Greylisting is to SMTP as NAT is to IPv4
    4. Re:Cue postgres fan bois by amicusNYCL · · Score: 3, Insightful

      That's entirely correct. MSSQL has several nice features, but the lack of LIMIT.. well.. really limits its usefulness. The concept of a LIMIT clause is so useful that the lack of it is essentially a dealbreaker. The hacks to implement some sort of limiting using TOP are very inefficient and don't result in any sort of performance increase comparable to the one you get with LIMIT.

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    5. Re:Cue postgres fan bois by iluvcapra · · Score: 5, Funny

      When you develop for something, you want to develop for a stable feature set.

      Or in the case of MySQL, a featureset at all. I keed! I keed!

      --
      Don't blame me, I voted for Baltar.
    6. Re:Cue postgres fan bois by houstonbofh · · Score: 4, Insightful

      Both MySQL and PostgreSQL are junk compared to Microsoft SQL Server.

      No, that's YourSQL.

      No, it's Bill's SQL.

    7. Re:Cue postgres fan bois by K.+S.+Kyosuke · · Score: 2, Insightful

      Come to think of it, MySQL had been forked on the inside long before that - a thousand and one storage engine and none of them complete... (Just stating the facts.)

      --
      Ezekiel 23:20
    8. Re:Cue postgres fan bois by Jurily · · Score: 3, Insightful

      When you develop for something, you want to develop for a stable feature set. If there's going to be a dozen forks of a database, it becomes much more work to test all the versions and apply patches.

      The very existence of these forks proves MySQL could easily be better, and/or there are major problems with the development method. Either way, it's a sinking ship. OTOH, a dead project provides the ultimate stability.

    9. Re:Cue postgres fan bois by Anonymous Coward · · Score: 5, Insightful

      Dude, maybe you should wake up: SQL Server supports ANSI SQL windowing function ROW_NUMBER() OVER (ORDER BY) and, of course, when you apply a predicate to the resulting row number all optimization are done.

      Then again if LIMIT is The Thing that make you choose a DBMS you may as well get a b-tree indexing library and play around with offset by yourself...

    10. Re:Cue postgres fan bois by Locke2005 · · Score: 4, Funny

      One thing I can say for SQL Server: it sure beats the hell out of Access!

      --
      I've abandoned my search for truth; now I'm just looking for some useful delusions.
    11. Re:Cue postgres fan bois by Rhapsody+Scarlet · · Score: 2, Insightful

      Both MySQL and PostgreSQL are junk compared to Microsoft SQL Server.

      No, that's YourSQL.

      No, it's Bill's SQL.

      Isn't it really more Steve's SQL these days?

      [Insert overdone chair-throwing joke here]

    12. Re:Cue postgres fan bois by shutdown+-p+now · · Score: 4, Informative

      Clearly this is a troll but regardless of all other features that MSSQL may have that MySQL doesn't there is one thing that is missing: LIMIT.

      Perhaps it's because LIMIT isn't ANSI SQL? Before SQL-2008, you were supposed to use ROW_NUMBER() for that, which MSSQL does support. And no-one supports SQL-2008 yet.

    13. Re:Cue postgres fan bois by itlurksbeneath · · Score: 3, Funny

      Considering that they just licensed the technology from Sybase, isn't that "We couldn't write it ourselves (look how Access turned out) so we bought it"SQL?

      --
      Have you ever considered piracy? You'd make a wonderful Dread Pirate Roberts.
    14. Re:Cue postgres fan bois by Cico71 · · Score: 3, Interesting

      Why doesn't SQL server have BEFORE triggers?

      Well, you can use INSTEAD OF triggers. But you still have to do the actual operation in the trigger body, so yes it would be nice if they implemented it. Reality is that features gets prioritized and although it may seem a very popular thing, it's actually not.

      Or row-level triggers?

      Because the preferred approach with (almost) relational technology is set based instead of row-based? You can still have a row based approach in the body of the trigger if you want with a cursor and a loop. However, in most cases you simply deal with the whole set (inserted and deleted virtual tables instead of :new and :old virtual aliases). Maybe I should ask why in Oracle the examples for statement based triggers are always the same: they log the fact that an action triggered, they never deal with the data...

      Anyway, a couple of better trigger questions (or rather a better flaming questions) are:

      • Why MSSQL doesn't support trigger with predicates? (where conditions)
      • Why it doesn't support columns triggers?

      In both cases you have to test conditions inside the trigger body, but the trigger always fires.

      Want other, better, flaming questions?

      • Sequences?
      • Autonomous transactions?
      • Packages?
      • Polymorphism for functions and procedure?

      and so on....

    15. Re:Cue postgres fan bois by ppanon · · Score: 4, Insightful

      OTOH, a dead project provides the ultimate stability

      Not when it comes to security vulnerabilities.

      --
      Laissez lire, et laissez danser; ces deux amusements ne feront jamais de mal au monde. - Voltaire
    16. Re:Cue postgres fan bois by Anonymous Coward · · Score: 2, Informative

      Assuming you have a unique key on the table called ID,

      SELECT * FROM Table LIMIT 20, 10

      becomes

      SELECT TOP (10) * FROM Table WHERE ID > 20 ORDER BY ID

      ?

      No, this is not the same. Your example relies on the fact that you have a monotonically increasing numeric attribute called ID without gaps in the numbering.

      It may be the case, or it may be not. To the point that, afaik, you can LIMIT just relying on physical ordering (sic).

      The correct implementation would be something like

      SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY id) as rn, * FROM dbo.test_deadlock ) AS T WHERE T.rn BETWEEN 20 and 20+10

      Of course you always have to provide and attribute for the ORDER BY otherwise it doesn't really make any sense to "limit" the result set in the first place (unless someone is so dumb to rely on physical ordering defeating completely the idea of having a DBMS with an optimizer etc. etc.)

    17. Re:Cue postgres fan bois by Anonymous Coward · · Score: 3, Insightful

      Have you USED SQL Server? Have you USED Enterprise Manager? Do not say "Yes" Because making the comment you did proves you have not, or that you are an imbecile. Enterprise Manager is quite possibly the single best thing Microsoft has ever turned out. Were it able to interface with other Databases with a fraction of the functionality it currently has, MS would be selling a copy to every damned database developer who values their time. SQL Server might not be ORACLE for scalability, but it comes real close, and it sure is a hell of a lot more scalable than MySQL, and yes, I am/was a MS Certified DBA who now develops apps based on MySQL. I am not fanboi, but I DO know both. SQL Server FTW without doubt

    18. Re:Cue postgres fan bois by Anonymous Coward · · Score: 3, Informative

      MSSQL supports the (cumbersome) ISO rownumber operator doesn't it? The syntax to apply a limit is a bit bodgy, but it does work neh?

      This gets rows 100 through 200.

      SELECT * FROM (
                                    SELECT
                                                ROW_NUMBER() OVER (ORDER BY key ASC) AS rownumber,
                                                columns
                                          FROM tablename
                                ) AS foo
                WHERE rownumber > 100 and rownumber = 200;

    19. Re:Cue postgres fan bois by Evets · · Score: 2, Informative

      I've used it plenty. I've scaled MySQL better, and more importantly - without any question as to how much I need to pay for licensing.

      Enterprise Manager has changed remarkably little since it was taken over by Microsoft.

      DTS portability and authoring is poor within EM to say the least. SQL Agent scheduling of DTS scripts is lacking as well. Querying, user management, etc. are all more intuitive than Oracle, but still the interface is quite poor.

      MS SQL has it's place. But it certainly doesn't separate itself as significantly better than OSS solutions for 90% of database usage scenarios (at least 90% of the ones that I've been involved with).

    20. Re:Cue postgres fan bois by Requiem18th · · Score: 3, Interesting

      I had to work with MS SQL for almost two years for a living and used enterprise manager daily and I have to say that I was terribly unimpressed. Granted, I didn't use all of it's features, but it largely struck me as a clutch around the incompetence of its users.

      The most impressive uses I saw for it was using it to pipe data to another server and scheduling backups. In Linux I could do both with cron/python or simple mysql scripts or a web service and apache etc.

      Enterprise manager is essentially another "programming by gui" tool for people who can't use a command line or write scripts who surprisingly --considering they are programmers-- constitute the majority of my coworkers, except for a java guy (a solaris fan) and a php guy (another linux fan).

      Needless to say we used to run circles around the other developers, and I am a lazy ass slacker.

      --
      But... the future refused to change.
    21. Re:Cue postgres fan bois by Anonymous Coward · · Score: 2, Funny

      So does snorting cockroaches.

    22. Re:Cue postgres fan bois by kilodelta · · Score: 2, Informative

      Say what? In my experience an MS-SQL server could NOT keep up with heavy hits for a corporate database. We had to replicate the MS-SQL tables to MySQL in order not to have to restart a server every 30 minutes.

    23. Re:Cue postgres fan bois by richlv · · Score: 2, Funny

      ChairSQL.
      if you do things it doesn't like, it hurls a table at you, though.

      --
      Rich
    24. Re:Cue postgres fan bois by maxwell+demon · · Score: 5, Insightful

      OTOH, a dead project provides the ultimate stability

      Not when it comes to security vulnerabilities.

      OTOH, a dead project provides the ultimate stability

      Not when it comes to security vulnerabilities.

      It's stable in respect to security vulnerabilities as well. No need to create new exploits just to keep your malware compatible.

      --
      The Tao of math: The numbers you can count are not the real numbers.
    25. Re:Cue postgres fan bois by AftanGustur · · Score: 2, Insightful

      It's not so much fanboys. When you develop for something, you want to develop for a stable feature set. If there's going to be a dozen forks of a database, it becomes much more work to test all the versions and apply patches. It now makes far more sense to develop using a different DBMS.

      Microsoft has said exactly the same thing about Linux ..

      What will happen is that developers will support one "brand" of MySQL. Just like things are today with Linux distributions.
      Most corporate offerings support Only Redhat Enterprise Linux,or SuSE, although their products work (and are run on) different distributions.

      That will also probably be the case with MySQL.

      --
      echo '[q]sa[ln0=aln80~Psnlbx]16isb572CCB9AE9DB03273snlbxq' |dc
    26. Re:Cue postgres fan bois by Cico71 · · Score: 2, Interesting

      Interesting... but it seems NASDAQ and the London Stock Exchange, among several others, do not agree with your field experience.

      As another example take the Bwin case study:

      The bwin Data Management Systems group uses SQL Server 2008 to continue its tradition of providing world-class performance for its sports betting customers. During peak loads SQL Server handles more than 6,000 financial transactions per second, which Grohser says translates into more than 30,000 database transactions per second.

    27. Re:Cue postgres fan bois by CrashandDie · · Score: 2, Insightful

      SELECT * FROM customer ORDER BY last_name LIMIT 5, 10

      This shows records 6-10 from the customers table.

      No it doesn't. It's going to show records 6 - 15.

      Flame all you want, but at least do it properly.

    28. Re:Cue postgres fan bois by Anne+Thwacks · · Score: 4, Interesting
      Both MySQL and PostgreSQL are junk compared to Microsoft SQL Server.

      Have they finally fixed date handling in MSSql server? Personally, I'd say MySQL and MSSql are junk compared to PostgreSQL, but that is just because I have used all three. (I have also used DB2 which beats all three, and Oracle, which is just annoying).

      --
      Sent from my ASR33 using ASCII
    29. Re:Cue postgres fan bois by asdf7890 · · Score: 2, Insightful

      You're supposed to be using SQL Server Management Studio. (I don't know if you'd consider that better or worse, but... at least it's "remarkably changed" from Enterprise Manager.)

      I wouldn't agree there. From what I see SSMS is basically the old Enterprise Manager and Query Analyzer programs integrated, with some useful but minor UI improvements along the way. Oh, and a simple "project" abstraction for grouping script files and connection settings, and hooks to make other tools look more integrated.

      Not what I would call remarkably changed. Certainly better, but an evolution rather than a revolution.

      Caveat: I'm using SSMS as provided with SQL2005, we have yet to move towards SQL2008 so for all I know there could be more siginicant changes in the latest revision of the tool.

    30. Re:Cue postgres fan bois by kilodelta · · Score: 2, Insightful

      I do not trust a study done by Microsoft. I'd much prefer an independent agency. Granted, their newer product (MS-SQL 2008) might have solved some of the issues had with older.

      My fundamental issue with MS and databases is that it's just too expensive in terms of money and hardware.

  2. Oracle needs to cater to business not the communit by Anonymous Coward · · Score: 2, Insightful

    If Oracle provides what business needs/wants .. and that's what they have been doing thus far. They will be fine. Nothing to see hear move along.

  3. Re:Oracle needs to cater to business not the commu by houstonbofh · · Score: 4, Interesting

    Point taken... The do not need to provide the wining fork, just support it. They actually have a cost advantage if the winning fork is developed by someone else. The downside is that they can't just merge the open code back into the commercial database, and that is a significant downside.

  4. Already Planning my project for MariaDB by Foofoobar · · Score: 2, Interesting

    I've already started planning my open source project to support Maria. I'll probably still support MySQL but I expect the community version will have fewer options and functionality over time and will fall out of use so it's probably just easiest to start making the switch to MariaDB right now.

    From my understanding, it already supports PHP and is far faster than 5.1.

    --
    This is my sig. There are many like it but this one is mine.
    1. Re:Already Planning my project for MariaDB by tnk1 · · Score: 4, Interesting

      I'd hope that in the short to mid term, neither side of the fork introduces something that would make either one become incompatible. That may happen eventually, but I think if one side does that too soon, it will be the end of their fork.

      I think a fork here is certainly an appropriate action, but I hope that the ODA people don't go so far down the "we're not Oracle path," that they end up on the wrong side of existing users.

      I personally support well over a hundred major MySQL installations right now which serve content, and my company operates hundreds more. So, obviously, any talk of divided support makes me uneasy.

      In the short term, we're likely to stay with the official MySQL, but we are very interested in not getting stuck in vendor lock-in or abandonment. We definitely are trying to get away from Sybase and Oracle DBs as much as possible, so the Oracle purchase concerns me. As long as we don't have to re-code to move to Maria, it will always remain an option.

      And who knows, if its faster and better, it may be a no-brainer to switch to it even if MySQL does not get marginalized or subverted. Still, that is only something that is going to happen after a full evaluation period with both sides of the fork. In the meantime, they need to be interchangeable enough so all my code on one works on the other. I cannot stress that enough.

    2. Re:Already Planning my project for MariaDB by Foofoobar · · Score: 3, Informative

      Well they want to be compatible with existing MySQL versions as Monty has stated and not be a fork but they also want to fix broken functionality on the backend that SUN has been unwilling to do thus far. MariaDB from my understanding is just a community version but they would like to see their commits go up to Oracles version as well.

      If they make improvements and Oracle refuses to be part of the community, then guess who is going to have the better version in the long run? I'm putting my money on that community of developers rather than the company with the overblown ego. We all know how companies with overblown ego react to the open source community after all.

      --
      This is my sig. There are many like it but this one is mine.
  5. Fork it by sakdoctor · · Score: 5, Funny

    If I could only think up a cliched pun using the term forked, I would be sure to get the converted +5 funny mod.

    If only.

    1. Re:Fork it by amicusNYCL · · Score: 2, Interesting

      I didn't realize that any mod got you mod points.

      Funny does nothing for your karma, though.

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    2. Re:Fork it by value_added · · Score: 2, Funny

      If I could only think up a cliched pun using the term forked ...

      You're way ahead of me. I'm stuck at figuring out what "wrong side of the fork" means. Where's BadAnalogyGuy when you need him?

    3. Re:Fork it by h4rm0ny · · Score: 4, Interesting


      I got a +5 funny post once.

      When I was being serious. :(

      --

      Aide-toi, le Ciel t'aidera - Jeanne D'Arc.
    4. Re:Fork it by derGoldstein · · Score: 4, Informative

      Just once? I usually get modded "funny" when I'm serious, and "informative" when I'm joking.

      Most /. mods are very bored individuals. It gives them something to do. They're not like us, the /. posters, who are intelligent, thoughtful, handsome, and socially adept.

      --
      Entomologically speaking, the spider is not a bug, it's a feature.
  6. Re:Oracle needs to cater to business not the commu by Anonymous Coward · · Score: 4, Interesting

    Funny you should say that. We're working on dumping Oracle licenses where they're not needed in favor of MySQL. That was going to be expanding our Sun support contract. Oddly enough - it might end up expanding our Oracle contract. That is, unless Oracle gives us reason to look elsewhere for MySQL support.

  7. What the fork? by Anonymous Coward · · Score: 5, Funny

    Just tell me which one to use for the salad, so my ignorance doesn't trip me up like it did with that bidet that one time.

  8. Not as serious... by Anonymous Coward · · Score: 5, Interesting

    This really isn't as serious as is implied. MySQL is GPL. The forks are GPL. Therefore, if Oracle wishes, they can just cherrypick the best patches from all forks and integrate them back into their codebase, community involvement or not. I expect MySQL to remain the official MySQL, unless it completely stagnates, simply due to name recognition if nothing else.

    1. Re:Not as serious... by dvice_null · · Score: 4, Interesting

      > The forks are GPL. Therefore, if Oracle wishes, they can just cherrypick the best patches from all forks

      They can. But then they can't dual license it anymore as they don't own copyright for the whole source.

    2. Re:Not as serious... by harryandthehenderson · · Score: 3, Insightful

      But they can't integrate it back into a proprietary commercial product like MySQL AB or Sun could do if they don't hold the copyrights to the contributed code to the forks. Oracle isn't stupid like Sun and just gives shit away. If they can't integrate the work back into a sellable commercial product they just aren't going to bother.

    3. Re:Not as serious... by Your.Master · · Score: 2, Insightful

      Doesn't work so neatly as that. GPL is a copyright and you can infringe copyright without using literally identical material.

      I'm not so sure the ethical argument works out either. Just because some GPL advocates say they want others to study and learn from it, doesn't mean that the people who actually contributed to it intended for it to be studied, learned from, and then essentially plagiarized without the license. I doubt even most advocates who speak those words are intending that you do this.

    4. Re:Not as serious... by idontgno · · Score: 2, Insightful

      Personally, I believe the bought Sun just to get control of MySQL so they could kill it, since it was taking sales away from them.

      A cogent and insightful theory, except that it's precisely like Mack buying out Segway because it was taking truck sales away from them.* Oracle doesn't have a credible product (or even a foot in the door) in any market where MySQL is already effective.

      But this won't be totally effective

      For the basic reason I stated above

      we need to get all the MySQL users to rally behind one of the forks not controlled by Oracle.

      Fair enough; I dislike Oracle's business dealings and basic arrogance enough to get me behind a genuine grassroots fork. But don't succumb to Amiga Persecution Complex. If it happens, the non-Oracle fork's ultimate poor uptake and small community won't be because of some sinister Oracle Trilateral Commission keeping the little guy down; it'll be the little guy just being little.

      *I'd like to point out the nifty Slashdot-compliant car analogy. OK, technically, truck analogy.

      --
      Welcome to the Panopticon. Used to be a prison, now it's your home.
  9. PostgreSQL: Why don't people use it that much? by bogaboga · · Score: 5, Interesting

    I have always wondered why people do not use PostgreSQL that much. It is better than MySQL in terms of stability and scalability.

    You might wonder how I came to this conclusion. Well, I have used MySQL with MythTV and I have gotten sick and tired of corrupted databases/tables.

    I have a read a reviews of PostgreSQL's stability and scalability beyond two cores and have no doubts it is better than MySQL on this front, though there have also been crowds here at Slashdot who think MySQL is better. My experience suggests otherwise.

    1. Re:PostgreSQL: Why don't people use it that much? by diegocgteleline.es · · Score: 4, Informative

      Postgresql has a terrible marketing and image, mysql doesn't.

    2. Re:PostgreSQL: Why don't people use it that much? by Anonymous Coward · · Score: 5, Insightful

      Religious debate. Way back in the Olden Days, postgres was an unstable mess. Absolutely godawful. Corrupted databases, lost data, slow as moleasses, constant need to restore from backups. Completely worthless.

      At the same time, MySQL was fast, stable, fast, worked well enough, slightly feature incomplete, and fast.

      Those old stereotypes have stuck. MySQL nowadays? Actually pretty feature complete. PostgreSQL nowadays? Pretty stable and solid.

      But nobody updates their perceptions, so the old ideas shine through.

    3. Re:PostgreSQL: Why don't people use it that much? by jd · · Score: 2, Insightful

      Well, yes, PostgreSQL is good. So is Ingres, now that there's a GPL version. Even fewer people use that. (Hell, I don't even know a distro that has Ingres packages.)

      And, of course, those are only a few of the database engines out there. When you consider the sheer number of different types of database there are (hierarchical, relational, OLAP, object-oriented, indexed sequential flatfile, random access sequential, and so on), it's obvious that there's a lot of room for specialist engines.

      Chances are, though, that users don't have meaningful access to even a fraction of the engines out there, or any sensible way to compare what their requirements are with the types of engines they can choose between.

      Open Source is all about choice, but without the information or the means to make that choice, the choice is essentially an empty one.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    4. Re:PostgreSQL: Why don't people use it that much? by K.+S.+Kyosuke · · Score: 2, Informative

      I am not certain whether any form of "feature complete" counts when "final releases" are filled with bugs. MySQL might have been stable when its feature set was next to nil, but I will sooner return to FoxBase than to prefer MySQL 5. over Firebird (or PostgreSQL). PostgreSQL is has been actually *designed*. And it shows. Without good design, sustained performance improvements such as these and feature improvements such as these are unthinkable.

      --
      Ezekiel 23:20
    5. Re:PostgreSQL: Why don't people use it that much? by vadim_t · · Score: 5, Insightful

      And then there's the increment functions. MySQL is a bit lacking, with only AUTO_INCREMENT and LAST_INSERT_ID. SQL Server has a similar setup to MySQL using IDENTITY(start, step) and SCOPE_IDENTITY(). But PostgreSQL uses that atrocious monstrosity of SERIAL data types and a damned Sequence object. And heaven help you if the Sequence gets out of sync. Your data is fucked at that point. The DB engine won't fix it. You aren't allowed to fix it. And the next time your app tries to use it, there's a good likelihood that it will lose data.

      There's no SERIAL datatype. It's simply a shortcut for creating a sequence, and is equivalent to saying "integer DEFAULT nextval('tablename_colname_seq') NOT NULL".

      Also, I'm feeling really curious about this, because:

      1. Why would the sequence get out of sync in the first place?
      2. If it does, why doesn't using nextval and setval work for fixing it?
      3. How will the app lose data? If somehow it generates the same number twice, any attempt to INSERT a row would simply fail.

      So please explain how you get what you said to happen.

    6. Re:PostgreSQL: Why don't people use it that much? by larry+bagina · · Score: 3, Interesting

      debian has packages for firebird. Two in fact, classic (uses separate processes) and superserver (uses threads).

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    7. Re:PostgreSQL: Why don't people use it that much? by ppanon · · Score: 2, Funny

      Yeah, having Dick Cheney as a spokesman really hurt them. Potential customers confuse "extensible data types for queries" with "enhanced interrogation techniques".

      --
      Laissez lire, et laissez danser; ces deux amusements ne feront jamais de mal au monde. - Voltaire
    8. Re:PostgreSQL: Why don't people use it that much? by Ragica · · Score: 5, Interesting

      Funny, I just got back from the first day of PgCon 2009 (in Ottawa). One of the presentations I went to today was regarding OpenStreetMap's switch from MySql to PostgreSQL last month. I think theywould beg to differ about feature completeness. It was kind of sad looking at their schema: one could really sense the limitations of mysql they had to design around. Ouch. Apparently in the end it was lack of MyISAM transactions causing constant problems with their volume of updates combined with InnoDB's lack of text search (can't have your cake and eat it too, apparently) that pushed them over the edge.

    9. Re:PostgreSQL: Why don't people use it that much? by Blakey+Rat · · Score: 2, Insightful

      Because web hosting companies don't install it. They install MySQL, or MS SQL (if they're .net hosts.) That's it.

    10. Re:PostgreSQL: Why don't people use it that much? by shutdown+-p+now · · Score: 3, Informative

      And then there's the increment functions. MySQL is a bit lacking, with only AUTO_INCREMENT and LAST_INSERT_ID. SQL Server has a similar setup to MySQL using IDENTITY(start, step) and SCOPE_IDENTITY(). But PostgreSQL uses that atrocious monstrosity of SERIAL data types and a damned Sequence object.

      PostgreSQL seem to have copied that bit from Oracle, which also uses sequences. But sequences are actually superior, and here's why.

      With sequences, you can emulate auto-increment behavior easily (you use the NEXTVAL or whatever the syntax in a specific implementation is, right in your INSERT). On the other hand, with sequences, you can generate the IDs first, and then generate a bunch of INSERTs with those IDs, with only two roundtrips: one for SELECT NEXTVAL - for as many records as you want - and another for multi-record INSERT. Why would you want a bunch of IDs? When you are batch-inserting records into a bunch of tables that reference each other (e.g. 10 records into table A, each of which has 10 new child rows in table B, each of which has 10 more new rows in table C). In MSSQL with auto-generated keys, you have to go about it that way:

      1. INSERT records into A and retrieve the generated keys.
      2. Use retrieved keys to generate INSERTs for new records in B; retrieve generated keys.
      3. Use retrieved keys to generate INSERTs for new records in C.

      For more tables in the hierarchy, you do more roundtrips. Now the same with sequences:

      1. Request generation of keys for all records you'll be inserting, and retrieve generated keys.
      2. Generate INSERTs for all new records using retrieved keys.

      And it doesn't matter how deep the tree is, it's only 2 batches.

      Of course, for MSSQL you can do away with generated keys completely, and use GUIDs, which can be generated on the client in the first place. But that makes indexes that much bigger, and queries that much slower...

      nd heaven help you if the Sequence gets out of sync

      This bit I don't understand at all. What do you mean by "sequence gets out of sync"? It's not really in sync with anything, it's just a simple counter that's guaranteed to safely produce unique incrementing values even for concurrent requests.

    11. Re:PostgreSQL: Why don't people use it that much? by Anonymous Coward · · Score: 3, Informative

      Actually not really true. Postgres in the early days always was way more stable than MySQL, the speed however was less, because it always supported transactions, while MySQL started as an ISAM system with some sqlish language on top of that. But I never ever recall having the problem of corrupted data on postgres not even in version 6. The main issue was simply, that there was no decent windows port and postgres had to rely on Cygwin which made the db slow und unstable while it was not!

      Add to that that early PHP versions were hardcoded against MySQL, and PHP as well got loads of momentum!

      Things have changed by now. While the MySQL quality still is questionable, PostgresSQL has accellerated tremendously and also has a native windows port and good installation and UI maintenance tools but the problem persists while being leagues better, and believe me I have seen big installations where postgres chugs along happily never failing their users, MySQL still has the mindshare.

      If you are looking for a real enterprise ready db in the OSS area PostgreSQL is the way to go!

    12. Re:PostgreSQL: Why don't people use it that much? by bytesex · · Score: 2, Insightful

      Are you trolling ? You don't have to quote your identifiers if they don't contain spaces in postgres. And if you don't know what sequences do or why they're useful, then you probably don't use any normalization anyway and you're better off using BerkeleyDB. I suppose your sequence gets 'out of sync' after an import (which doesn't include setting the sequence), and that by 'losing data' you mean that your inserts start failing on your unique constraints. This is why you reset your sequence after an import. If it's the 'holes' in your numbering that you're concerned about, then you haven't understood what primary keys are for. You don't count() with them, for example.

      --
      Religion is what happens when nature strikes and groupthink goes wrong.
  10. MySql by inKubus · · Score: 5, Interesting

    Personally it's just more of the same from MySql in general. MySql AB didn't do much of anything with it since 5.0 came out. They wasted a lot of time on a complete rebuild, on adding more features no one cared about. The thing about MyQql 5.0 is that it's really not a very good database. MyISAM sucks (but it is small and fast..) and InnoDB is bloaty. So I think that really MariaDB is going to be the future. Of the codebase. That is the nice thing about MySql is that really it's a wrapper around the Storage Engines. But the problem is the wrapper sucks. No kerberos/LDAP authenication?! What?

    I could see Oracle taking one of their open databases and adding a Mysql compatibility layer so basically you can run stuff designed for Mysql on Oracle. This is really their bread and butter already, they move legacy stuff off old UNIX and IBM databases into their DB. Look at all the gateways 9i had. MySql only implements a subset of what Oracle can do. And with no support for the more modern, more object orientated practices, along with trees, etc, I don't see MySql making it out of it's current place as a cheap small database for non-critical applications.

    That's not to say you can't make it quite stable and fast but it's not that out of the box. And the fact that 5.1 shipped with a crashing bug really makes me doubt Sun's desire to continue the brand. Which brings me to the forks, which are really the only thing keeping a stable 5.1 version alive out there.

    Postgres is really not a viable replacement because it's a database nerd's database. I like it, but the data analysts at work won't be able to deal with its quirks. It does do a lot, but not small and fast like MySql. It comes from a long line of great database researchers, all of whom are well known around the Valley. A lot of all the major players' databases in the valley are based on ideas from Ingres including Oracle.

    Personally, I think SQLite3 (4) is going to be the database of choice for small web hosts very soon. Small, portable, fast enough. At that point MySql will no longer have a purpose unless they can move into the middle tier dominated by MS-SQL.

    --
    Cool! Amazing Toys.
    1. Re:MySql by loufoque · · Score: 3, Insightful

      Personally, I think SQLite3 (4) is going to be the database of choice for small web hosts very soon. Small, portable, fast enough.

      SQLite is fast all right, but it doesn't scale at all.

      PostgreSQL scales well, but is fairly slow on average.

      The thing with MySQL is that you were supposed to have both.

    2. Re:MySql by Just+Some+Guy · · Score: 5, Insightful

      SQLite is fast all right, but it doesn't scale at all.

      MySQL does?

      PostgreSQL scales well, but is fairly slow on average.

      Honestly, that hasn't been true in years.

      The thing with MySQL is that you were supposed to have both.

      And yet somehow ended up with neither.

      --
      Dewey, what part of this looks like authorities should be involved?
    3. Re:MySql by shish · · Score: 2, Informative

      PostgreSQL scales well, but is fairly slow on average.

      I spent months making my queries ugly and hacky and optimised for mysql, and my website would still grind at about 500 concurrent users. Out of curiosity I switched to postgres, code unchanged other than the minimum to be compatible and it ran fine up to around 1000. Then I rewrote the queries in order to make them simple and elegant, and postgres ran them /even faster/ :P

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    4. Re:MySql by Carnildo · · Score: 4, Informative

      SQLite is fast all right, but it doesn't scale at all.

      MySQL does?

      In comparison? Yes. When you're doing simultaneous writes from multiple threads, SQLite's lack of fine-grained locking kills performance.

      A couple of months back I did some benchmarking of MySQL and SQLite3 as possible storage backends for a website. The test load was a task consisting of two SELECTs, an UPDATE, and an INSERT. With only one or two simultaneous clients, SQLite3 was faster. With three clients, they were tied. At 50 clients, SQLite3 was taking over 100 times longer than MySQL.

      --
      "They redundantly repeated themselves over and over again incessantly without end ad infinitum" -- ibid.
    5. Re:MySql by mcrbids · · Score: 5, Informative

      PostgreSQL scales well, but is fairly slow on average.

      Really? Because any recent review of Postgres shows that it stomps the pants off MySQL in all cases except very simple queries against very small tables. (And really, who gives a !@#% about that scenario?)

      Also....

      1) It's data validation is excellent.

      2) It's extremely stable. In YEARS of working with it, I've had ZERO integrity issues despite managing rather large data sets.

      3) Particularly important: it maintains good performance as the query complexity soars. While it can take a bit of tuning, I've done 12 table joins with combined inner, outer, and subqueries and millions of records, with an average return time of around 0.2 seconds. The statement alone was two pages, printed form, on a single-core Athlon 64 with ATAPI drives and 1 GB of RAM.

      4) It's FREE FREE FREE!

      5) It includes excellent near-realtime replication. (functionally analogous to MySQL replication, which is nice when it works, but since it usually doesn't, well...)

      1994 called. It wants its stale information back.

      --
      I have no problem with your religion until you decide it's reason to deprive others of the truth.
    6. Re:MySql by Requiem18th · · Score: 2, Funny

      (And really, who gives a !@#% about that scenario?)

      Why sqlite of course! And they are unbeatable in that niche.

      --
      But... the future refused to change.
    7. Re:MySql by Cico71 · · Score: 2, Insightful

      The result is that PG is almost always faster than MySQL in the general case.

      Amen. And that is exactly why DBMSs where built in the first place: to handle efficiently, and independently from physical implementations, the the general case. A lot of solutions that implements very specific, hard-coded, physical access paths are faster than any DBMS.

      MySQL is also loaded with gotcha's and odd behavior based on the "back end" or what settings you use.

      And this is exactly what a DBMS should prevent: dependencies on physical implementations.

      If someone think this is only theory, then he should do a reality check and see what good optimizers in the Oracle, DB2, MSSQL (and I guess PostgreSQL but I have not experience there) space can do with extremely complex queries

      If I need to be extremely fast just a bunch classes of queries for a web back-end, then I may as well replicate data and just use an indexing engine.

  11. Re:Oracle needs to cater to business not the commu by amicusNYCL · · Score: 5, Interesting

    Your company must be run by morons.

    Obviously. In fact, the people who run Wikipedia, craigslist, youtube, Slashdot, Apple, Cisco, Cray, Dell, Intel, HP, Motorola, NEC, TI, Xerox, Adobe, Symantec, Novell, McAfee, Citrix, Continental, Orbitz, Priceline, Amazon, ebay, Google, iStockphoto, Pricegrabber, Yahoo, ZipRealty, Linden, Audiogalaxy, Digg, del.icio.us, Facebook, Flickr, Freshmeat, LinkedIn, Photobucket, Stumbleupon, Twitter, and WordPress are clearly morons for using MySQL. These people don't know anything about databases.

    In fact, I'm pretty sure you're the only person who's not a moron.

    --
    "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
  12. How healthy are forks? by rockmuelle · · Score: 3, Interesting

    Are forks really a fact of life for healthy open source projects?

    Most open source tools I use on a regular basis have never been (successfully) forked. More importantly, none of the other members in the LAMP stack have undergone a forking of the scale that MySQL is about go through. Sure, there are multiple 'L' distributions, but there isn't a healthy eco-system of production forks at the kernel level.

    -Chris

    1. Re:How healthy are forks? by Kompressor · · Score: 2, Interesting

      For one (admittedly extreme) example, GCC -> EGCS. The fork was so successful that it was eventually accepted by the FSF as the official GCC.

      --
      kmem russian roulette: Aquillar> dd if=/dev/urandom of=/dev/kmem bs=1 count=1 seek=$RANDOM
    2. Re:How healthy are forks? by RevDiaBLo · · Score: 2, Informative

      I guess it depends how you define a fork. If you consider a patch set a fork, then most distributions fork a large majority of the software they ship. And for the kernel, there are actually many many forks--it's the development model they actively encourage with git.

    3. Re:How healthy are forks? by Grishnakh · · Score: 5, Interesting

      The two biggest success cases are XFree86->X.org, and GCC->egcs->GCC. Both of these were resounding successes.

      XFree86 was widely criticized for moving too slow, not integrating enough new features, and having someone in charge that everyone hated. Finally, XFree86 instituted a license change that was incompatible with GPLed projects, so they forked it to X.org. All the best developers abandoned XFree86 and moved to X.org. Now, just about every Linux/BSD distro uses X.org, and no one pays attention to XFree86 any more. X.org has tons of updates, improvements, and additions which were being held back by the XFree86 leadership.

      GCC has a similar story, though it's a few years older. gcc was getting decrepit, so a new renegade team started egcs. This incorporated new features, revamped the codebase, etc., and eventually everyone was using egcs instead of gcc. Finally, the gcc team just disbanded as they were no longer relevant, and egcs was renamed to gcc.

      Of course, there's probably some cases of forks where the forked version went nowhere, and no one remembers it. But that doesn't matter, as it didn't hurt to have the fork (except the guy who started the fork, and ended up wasting his time on it, but that was the risk he took).

      Forking generally works extremely well. The ability to fork keeps projects competitive and responsive, lest some pissed-off developers decide to fork it. It keeps maintainers from becoming dictators who only hinder the project's development, instead of fostering it, because it allows the developers to take control away from the maintainer when they've had too much.

      It's too bad companies can't work more like this. There's plenty of companies where the company's owners or management are idiots and drive the company into the ground, and all that work wouldn't be lost if the employees could stage a coup, so to speak, and take over. Since software can be copied at zero cost, and OSS licenses allow forking, this can and does actually happen in the open-source software world.

    4. Re:How healthy are forks? by Grishnakh · · Score: 3, Insightful

      Sorry for replying to myself, but another fork in the making is OpenOffice.org->Go-OO. This one is interesting because it's more similar to the MySQL fork, in that the main project is controlled directly by a big corporation, rather than a nonprofit entity as GCC and XFree86 were. Apparently a lot of OO.o contributors weren't happy with the control Sun had over OO.o, and believed that Sun wasn't very accepting of patches contributed from outside Sun. So they forked it to "Go-OO", which is now included by default in several Linux distros.

    5. Re:How healthy are forks? by shutdown+-p+now · · Score: 4, Informative

      And one more fork in the making that looks like it is going to have the same impact as XFree/X.org eventually, if not bigger: EGLIBC

  13. Oracle doesn't care by Reality+Master+201 · · Score: 4, Insightful

    Oracle doesn't care about losing the trust of the MySQL community. They already have a database to sell; they're probably more interested in the vertical integration with OS, hardware, and programming language tools.

    I wouldn't be surprised if they were happy to sell the MySQL business unit, or kill it completely.

  14. Re:Knowing Oracle... by h4rm0ny · · Score: 5, Insightful


    That's an interesting point of view. I saw things slightly differently, so say what you think of my take on it. I agree that Oracle might not actually care so very much that they got a free MySQL when they bought SUN. But in so far as they do pay attention things, I would think they'd steer people away from PostgreSQL toward MySQL rather than the other way around. My reasoning is that there is a clear and significant gap between MySQL and Oracle DB. MySQL is never going to draw many customers away from using Oracle DB, and mostly the other way around as well. But I see the gap between PostgreSQL and Oracle as being much smaller, both in the capabilities of the two databases and the easier time you have moving from one to the other (in either direction). I think that makes PostgreSQL more of a threat to the Oracle install base and thus something they would prefer to keep people away from. Using MySQL as a stalking horse makes more sense to me. Thoughts? Matches the real world or too conspiracy?

    --

    Aide-toi, le Ciel t'aidera - Jeanne D'Arc.
  15. Re:Oracle needs to cater to business not the commu by dabooda · · Score: 3, Funny

    haha that sounded like the 'things I care more about than you' rant by Dr Cox in Scrubs! ... oh wait, I'm the only one that watches that show

    --
    "Yeah Tommy, before Zee Germans get here ..."
  16. Database abstraction layers people by cenc · · Score: 3, Insightful

    The LAMP stack was always fundamentally flawed because the 'M' was not really an open source public project, where everything else was. We need to replace the M with a true open source project, and I hope the best project wins.

    What everyone failed to do, that they should have done years ago, as a standard was build database abstraction layers. I know people will argue about performance bla, bla, bla but I don't buy that. We should have been doing it for years, exactly for this reason. Instead everyone was lazy, picked MYSQL because it was free/cheap/easy to learn.

    Now, hopefully get off our lazy collective asses and build in database abstraction layers in to our web apps the way we should have from the start, or replace the 'M' with something really open source and public that does not belong to a company.

    My only hope is that Oracle might do the right thing and cut it loose as a fully open source project to develop to its fully potential.

  17. Re:Oracle needs to cater to business not the commu by growse · · Score: 5, Informative

    I've heard the arguments that postgres is as easy as MySQL, and they're bullshit.

    Lets see:

    Postgres has no good GUI applications that can compare with MySQL's

    Why you need more than one is beyond me. Isn't Pgadmin enough?

    their command line application is just as good in its own way

    Well, ok. Whatever 'in its own way' means.

    and the market share that ensures you need to google multiple times to find the info you're looking for.

    Postgres has some of the best documentation of any open source project I've seen. Sure, MySQL is good as well, but lets not spread bullshit here.

    Installing postgres is also a nightmare compared to MySQL.

    You mean in a download-the-msi-and-double-click-on-it way, or the apt-get-install-it way?

    To sum up: free > $millions, easy > full-featured (in many circumstances).

    Well, it's fully-featured, but not necessarily all of those features at the same time. Try doing full-text indexing on a database with foreign-keys on it in MySQL sometime.

    --
    There is nothing interesting going on at my blog
  18. Re:Oracle needs to cater to business not the commu by Achromatic1978 · · Score: 2, Insightful

    Don't believe me? Go ahead and create a multi-TB database (on one server) with a few tables that are >100GB each. Do some performance benchmarking after scaling as best you can with each DB System and let me know how that works out for you. Oh, did I mention that this has to be on one server that you replicate to the other side of the world with less than 30s of change difference between the two and that you also need local HA and global DR OUTSIDE of the replication you just setup? Oh yeah; your data change rate is ~500MB /min. Good luck!

    One server? Why? Your company is big enough that it can afford to be running OC-12 links at your site and OC-3 to both the remote, and the DR sites (500MB * 3 = 1.5GB/min, with TCP/IP overhead, in the order of 300mbps) for your database alone, let alone email and other connectivity, at going market rates of over $600k/mo, and yet you can't/don't want to cluster a couple of servers?

  19. Re:Oracle needs to cater to business not the commu by shish · · Score: 4, Informative

    Wikipedia

    Is 99% cached content, served as effectively static files

    Google

    Has some developers who have it installed; none of their major services are based on it

    Facebook

    According to the video of how it works, is basically a graph database, on top of a giant key:value table, on top of memcache, on top of mysql -- ie, they do their best to avoid actually hitting the database, and when they do, they only make use of the most basic functions (and it isn't even good enough for that, so they're working on a replacement)

    Twitter

    While large, it's hardly complicated in terms of database schema, and it /still/ falls over all the time :P

    The other sites, I've never seen any behind the scenes reports on.

    While "we have at least one copy of mysql installed somewhere in our organisation" is common, "we are using mysql as the central database for our heavily stressed mission critical systems, and it works great" is much rarer :-P

    --
    I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
  20. Re:Oracle needs to cater to business not the commu by klubar · · Score: 2, Insightful

    With most of the exanmples mentioned, a small number of DB errors (lost records, index errors, sychronzation errors) are accepttable. For applications like youtube, slashdot, etc. it really doesn't matter if records are lost. I'd be more interested in hearing about major financial or business systems that run on MySql. MySQL is a nice database--good for hobby projects--even big ones--but nor really the choice for heavy lifting DBs. Most of those examples started with MySQL because they needed free more than reliable.

  21. Re:Oracle needs to cater to business not the commu by Bill,+Shooter+of+Bul · · Score: 4, Interesting

    Facebook issues reports everynow and then, but its a moving target as most of the sites are. Somethings only scale so far. Facebook & Google seem to be on the Map Reduce train for the majority of their services. Yet, Google is one of the major third party contributers to Mysql, although its not clear exactly where they use it ( I've heard rumors of adwords being done via mysql). They've reported uptimes of 2-6 years ( for the whole stack Hardware, OS & Mysql under load) here

    --
    Well.. maybe. Or Maybe not. But Definitely not sort of.
  22. Comment removed by account_deleted · · Score: 2, Insightful

    Comment removed based on user account deletion

  23. Irrelevant by kriston · · Score: 2, Insightful

    It's irrelevant. We moved everything to PostgreSQL and life is as uncomplicated and standards-compliant as life can get.

    --

    Kriston

  24. Re: Ingres by butlerm · · Score: 2, Informative

    Oracle and Ingres were serious competitors about 25 years ago. However, Oracle quickly adopted a significantly better design that put Ingres-like databases (Ingres, Informix, Illustra, the original Postgres, etc.) virtually out of business.

    Not only that, the internal MVCC architecture of PostgreSQL is *much* closer to Oracle than any of the other Ingres derivatives - including Postgres itself. The original Ingres hit the wall in large part due to the lack of multiversion concurrency control and row level locking (among many other things). In other words, it was practically useless for running large transactions concurrent with other activity, an area where Oracle shines.

    Page level locking and no MVCC means that writers block readers (and other writers) until the first transaction to lock the page commits. Page level locking means that which rows will be incidentally locked up by a transaction is essentially random.

    Such databases worked well if you were read mostly, and ran small quick transactions during the day, and large long running transactions in appropriately scheduled batch jobs at night. Unfortunately, technologically speaking, MySQL is about to catch up to where Ingres was just prior to entering its terminal decline twenty years ago. The InnoDB engine is the only major exception. Of course people typically use MySQL for rather different applications than they use Oracle for, and MySQL is radically less expensive.

  25. Comment removed by account_deleted · · Score: 2, Informative

    Comment removed based on user account deletion