Slashdot Mirror


Why You Shouldn't Panic About Closed Source MySQL Extensions

jfruhlinger writes "Oracle has released proprietary extensions to the open source MySQL database, seeming to reinforce the worst fears of those in the open source community who opposed Oracle's acquisition of MySQL in the first place. But open source observer Brian Proffitt urges you not to panic: This dual source strategy really isn't unusual in the commercial open source world, Oracle has already released a bevy of open source improvements to the database, and anyway the EU extracted a commitment to keep MySQL open for another four years when it approved the Sun-Oracle merger."

171 comments

  1. lol by Alex+Belits · · Score: 4, Funny

    open source observer Brian Proffitt

    lol

    --
    Contrary to the popular belief, there indeed is no God.
    1. Re:lol by Anonymous Coward · · Score: 0

      open source observer Brian Proffitt

      lol

      Really? Really? What are you like 10 years old? I would expect more from someone who has been here for a while. Maybe you're just taking your anger out on others because people keep making fun of your fro. I've met Brian Proffitt and read some of his columns. He is not a joke, nor should he be portrayed as one.

    2. Re:lol by MrNaz · · Score: 0

      C'mon man. Laugh a bit. You'll live longer.

      --
      I hate printers.
    3. Re:lol by ryanov · · Score: 0

      Don't see a BIT of irony in either being an open source/impartial observer with the name Proffitt or someone with the name Proffitt assuring us that there's nothing to fear?

      Something tells me if you mentioned it to the guy, he wouldn't burst into tears or anything.

    4. Re:lol by tomhudson · · Score: 0

      There is a difference between a joke and making fun of someone. Which is what the OP was doing. I would think geeks would be sensitive to that.

      All jokes ultimately make fun of somebody. It's the nature of the beast^human sense of humor.

      You're either making fun of a 3rd party, or yourself, or the listener. We learn that at a really young age.

      Q: Why did the chicken cross the road?
      A: To get to the other side.
      Gets bystanders to laugh at the kid who missed the "obvious" answer, or pokes fun at the sole listener because "gee, aren't you stupid!"

      "Take my wife, please!"
      Making fun of both his wife and himself.

      Slapstick, the latest episode of Big Bang Theory or 2-1/2 Men, Hitler jokes ... it's all the same. It's an evolutionary adaptation to channel our aggression, because we really are the most dangerous animal on the planet - unlike pack animals in the wild, we don't generally know when to stop. Notice how we smile and bare our teeth when we laugh? Try doing that to a great ape.

    5. Re:lol by leamanc · · Score: 1

      Brian, is that you?

      --
      :q!
    6. Re:lol by Rhacman · · Score: 1

      As a geek who's name is very frequently compared to that of a character from folklore I have to say that the OP's comment does not sound out of line to me, particularly towards a seemingly fun loving individual who starts a technical article with "Avast ye scurvy dogs!" in celebration of Pirate day. Now I can't speak to Mr. Proffitt's personal attitude towards this but I hardly see the pun as a personal attack on him, just a novel irony that demands to be pointed out in keeping with Slashdot traditions.

      --
      Account -> Discussions -> Disable Sigs
    7. Re:lol by TheVelvetFlamebait · · Score: 1

      All jokes ultimately make fun of somebody.

      I disagree. This thesis tends to spring from the fact that jokes must have a subject, and if the subject is not human, then it is often associated with, created by, maintained by, nurtured by, protected by, or advocated by some human or group of humans. As a counterexample, I once watched Jimeoin poke some good-natured fun at moths!

      I also don't like the instant assumption that making fun is derogatory. Like in this case, nobody is disparaging Proffitt as a person. It's really just his name, in relation to his chosen line of work.

      --
      You know, there is a difference between trolling and pointing out the flaws in your reasoning. Just saying.
    8. Re:lol by TheLink · · Score: 1

      Some are funny not because they make fun of something/anything, but because you suddenly "get it" and see things differently.

      Those that don't get it, won't find it funny. Whether you laugh at them (those who don't get it) or not, does not have to be related to why the joke in itself is funny or not.

      --
    9. Re:lol by Anonymous Coward · · Score: 0

      Oh lovely. Another thin-skinned Republican who feels attacked and victimized.

      Did we hurt your feelings sweety? Mum-mum will get you some warm milk now.

    10. Re:lol by overlordofmu · · Score: 1

      Barbara is a big fan of personal attacks and insults. This is her rationalizing her behaviour so she doesn't feel so guilty about the evil she does.

    11. Re:lol by Anonymous Coward · · Score: 0

      For the record, no, the replier was me and I'm not Brian Proffitt. But I have talked to him and read some of columns. He's a nice guy who knows his stuff. Regarding the irony of his last name. I thought that the OP was making fun of someone being an open source observer, like it wasn't a legitimate title or something. I don't really get the irony part because open source can be profitable. Sure its not normally, but it just seemed lame and childish that the first comment was making fun of that and it got modded up. I guess Slashdot is still full of children.

    12. Re:lol by tomhudson · · Score: 1
      Let's see ... last week, I called Bruce Perens a liar because ... he lied. His "new covenant license" is not new (it's from his failed kiloboot.com project from February 2008) and he won't answer why he wants copyright assignments, same as kiloboot, when Novell vs SCO proved they're not necessary to protect a commercial product, etc.

      Last month, I called out the FSF for generating FUD about Android and Linux using the GPLv2 and trying to get people to put pressure on the Linux devs to "upgrade" to GPLv3, which would, if it were to happen, immediately cause Google to ship their BSD+Android alternative stack.

      And lastly, I called out RMS for his own anti-Android/pro-GPLv3 attacks. Yes, that makes me really evil. I should instead be good and ignore the truth. Riiiight .....

      The fact is that humans are dangerous, even when compared to a pack of dogs. It's one reason I trust my dogs a lot more than I trust most people - dogs have a much simpler (and better) concept of loyalty that I happen to prefer.

    13. Re:lol by Anonymous Coward · · Score: 0

      Brian is a douce canoe.

  2. Just another 4 years... by unixisc · · Score: 3, Insightful

    ... after which Oracle will be @ liberty to digest MySQL as closed, and the EU will have nothing to say about it.

    1. Re:Just another 4 years... by d4fseeker · · Score: 4, Insightful

      And, as with OpenOffice, the community will fork the Database and add a bunch of useful features to it.
      Finally Oracle will either "donate" MySQL back to the community or keep it closed source and everyone will move over to PostgreSQL.
      4 years is 2 Server and, depending on your scneario, 1-3 Software Generations away so let's not panic before Oracle has committed to anything.

    2. Re:Just another 4 years... by Anonymous Coward · · Score: 5, Informative

      Its already forked :)
      http://mariadb.org/

    3. Re:Just another 4 years... by GPLHost-Thomas · · Score: 1

      Why do you care since we have MariaDB, which is already better (multi-threaded), and ABI compatible?

    4. Re:Just another 4 years... by Dark$ide · · Score: 3, Informative

      Its already forked :) http://mariadb.org/

      And to http://www.drizzle.org/

      --

      Sigs. We don't need no steenking sigs.

    5. Re:Just another 4 years... by Tsingi · · Score: 1
      PostgreSQL rocks, and it is the base of PostGIS. It competes on par with the major commercial databases.

      I used msql back in the day, the precursor of MySQL. But never for anything serious.

      It's good to have competing projects, but I think we need to look to a fork of MySQL rather than something that FOSS developers won't want to get behind.

    6. Re:Just another 4 years... by Anonymous Coward · · Score: 0

      >>
      >>Its already forked :) http://mariadb.org/
      >>
      >
      >And to http://www.drizzle.org/
      >

      Call me when drizzle runs on something besides Linux.

    7. Re:Just another 4 years... by dokc · · Score: 1

      On the homepage is clearly written: "Drizzle - a database for the cloud"
      It's not written "Drizzle - a database for Azure"

      --
      In love, war and slashdot discussions, everything is allowed.
    8. Re:Just another 4 years... by symbolset · · Score: 1

      It's a network service. Who cares what it runs on?

      --
      Help stamp out iliturcy.
    9. Re:Just another 4 years... by CastrTroy · · Score: 1
      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    10. Re:Just another 4 years... by cHiphead · · Score: 1

      I think mariadb is probably a better choice... from the site:

      MariaDB is primarily driven by developers at Monty Program, a company founded by Michael "Monty" Widenius, the original author of MySQL

      --

      This is my sig. There are many like it, but this one is mine.
    11. Re:Just another 4 years... by Anonymous Coward · · Score: 0

      Tell me why should I trust the man who sold the MySQL to Oracle, then complained, got kicked out and finally forked the code? Why should I wait for him to close the source code for himself?

    12. Re:Just another 4 years... by Anonymous Coward · · Score: 0

      Yeah, I switched over to mariadb about a year ago. It runs faster, has fewer bugs, and the one thing that really moved me over: Oracle moved from the open source (GNU) build stack to the proprietary cmake build stack. That ended mysql for me. I supported it for a long time. I was reluctant to switch, but when Oracle makes it hard to stay, then you switch.

    13. Re:Just another 4 years... by zsitvaij · · Score: 1

      Oracle moved from the open source (GNU) build stack to the proprietary cmake build stack. That ended mysql for me.

      1. cmake? proprietary? you might want to let KDE know. (hint: it ain't.)
      2. if you call it GNU stack, call it Free Software, not Open Source.

    14. Re:Just another 4 years... by Dark$ide · · Score: 1

      Call me when drizzle runs on something besides Linux.

      You may be right. I'd been messing with Drizzle for a few weeks (it was the lack of PHPMyAdmin that was stopping me). Today I switched from MySQL to MariaDB in less than an hour and PMA V3.4 works with no trouble.

      Lets hope Canonical stick it into Oneiric

      --

      Sigs. We don't need no steenking sigs.

    15. Re:Just another 4 years... by kmoser · · Score: 1

      Its already f**ked :)

      FTFY

    16. Re:Just another 4 years... by Anonymous Coward · · Score: 0

      Its already forked :)
      http://mariadb.org/

      And to http://www.drizzle.org/

      and Percona: http://www.percona.com/software/percona-server/

  3. Migration Window by Anonymous Coward · · Score: 1

    and anyway the EU extracted a commitment to keep MySQL open for another four years when it approved the Sun-Oracle merger.

    In other words, in 4 years all bets are off so you better start migrating to Postgres, a community fork or something else now.

    1. Re:Migration Window by mwvdlee · · Score: 1

      Or just stick to current generation MySQL and move to whatever fork will inevitably be created when time is due to upgrade.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    2. Re:Migration Window by GPLHost-Thomas · · Score: 3, Informative

      Wake up. MariaDB has been around for some time already!

    3. Re:Migration Window by Anonymous Coward · · Score: 0

      No , thanks. No PostgreSQL for me.

      If the purpose is to have a light, simple SQL database, MySQL will do it (enough for my life time). MySQL is being used on millions of web applications and I ensure you that not even 10% of them are interested to move to Oracle or even PostgreSQL.

      I manage 2 million members and 200 million page views a month (up to 8000 concurrent along with apache) on a single 2xQuadcore server. Last time we checked we would need at least 3-4 times the hardware if we wanted to move to PostgreSQL.

    4. Re:Migration Window by Anonymous Coward · · Score: 1

      Last time we checked we would need at least 3-4 times the hardware if we wanted to move to PostgreSQL.

      You're either lying or you're incompetent.

    5. Re:Migration Window by Anonymous Coward · · Score: 0

      If he's using MySQL then I suspect it's the latter.

    6. Re:Migration Window by Anonymous Coward · · Score: 0

      Jesus dude, you need to relax with the post spamming. We get it... there are already forks of mysql.

    7. Re:Migration Window by Talderas · · Score: 1

      That doesn't mean another fork won't happen in another years. What features will be added to MySQL that MariaDB doesn't have? Either those features get merged into MariaDB or a fork happens when Oracle wants to shut down MySQL.

      --
      "Lack of speed can be overcome. In the worst case by patience." --Znork
    8. Re:Migration Window by znrt · · Score: 1

      If he's using MySQL then I suspect it's the latter.

      Wow. This statement qualifies you as a classic incompetent. Are you lying too? :D

    9. Re:Migration Window by Tsingi · · Score: 1

      Jesus dude, you need to relax with the post spamming. We get it... there are already forks of mysql.

      He's being an advocate of his project. Maybe he is a little enthusiastic about it, but it's part of the job.

    10. Re:Migration Window by Tsingi · · Score: 1

      Wow. This statement qualifies you as a classic incompetent. Are you lying too? :D

      It's an AC thread, they're prolly both incompetent liars.

      It strikes me that PostgreSQL may well be the bigger load. 3-4 times the hardware? Not under the same conditions.

    11. Re:Migration Window by dokc · · Score: 1

      Wow, AC, you are such a big shot! 2m members and 200m page views! Of course we will respect your opinion!

      --
      In love, war and slashdot discussions, everything is allowed.
    12. Re:Migration Window by cpghost · · Score: 2

      Last time we checked we would need at least 3-4 times the hardware if we wanted to move to PostgreSQL.

      I've migrated dozens of BIG sites from MySQL to PostgreSQL over the last couple of years, and I can confirm that more RAM was needed in some cases. But since this was on enterprise-class servers running 64-bit OSes (on SPARC and amd64), adding some GB RAM wasn't a big deal. The result was even better performance, both on Solaris and FreeBSD. The applications were never short of CPU cycles though.

      So if you need 3-4 times the hardware, you're doing something wrong. Definitely wrong.

      --
      cpghost at Cordula's Web.
    13. Re:Migration Window by GPLHost-Thomas · · Score: 3, Informative

      What features will be added to MySQL that MariaDB doesn't have?

      Oh, maybe you meant "what killer features that have been already in MariaDB are still not in MySQL"? Yeaaarh, I'm sure you made a mistake. In this case...

      Ever wonder why MySQL is still stuck with a single core taking 100% of your CPU, while other cores are idling doing nothing? MariaDB, and it's been more than a year it does, had multi-threading. If you didn't know, it's been written by one of the main authors of MySQL in the first place, that felt he shouldn't stay in this Oracle world. And he's doing very well, by himself... The good thing: MariaDB is ABI compatible. Yes, it's a pure replacement. Remove MySQL, install MariaDB instead, and there you go, you got a multi-threaded MySQL. That alone is enough to convince any decent admin.

    14. Re:Migration Window by Anonymous Coward · · Score: 0

      Any decent admin would know that MySQL has been multithreaded for years and laugh. MariaDB is by the same founder of MySQL who introduced the GPL dual licensing that Oracle is using. That's obviously not the place for anyone who doesn't like a dual license model to go to.

  4. I just migrated... by Kagetsuki · · Score: 4, Interesting

    from MySQL to PG. It was easy. You should do it too.

    1. Re:I just migrated... by Errol+backfiring · · Score: 1

      Ah. And how do you convert the duplicate key / ignore inserts? I looked at postgress, but I did not think it was feasible for agile development.

      --
      Nae king! Nae laird! Nae yurrupiean pressedent! We willna be fooled again!
    2. Re:I just migrated... by Anonymous Coward · · Score: 1

      Can you elaborate?
      Why would you want to ignore inserts? That just sounds like sloppy programming.

      I use postgresql for agile development and find it much nicer than mysql (one random example: ddl changes don't force a commit and can be rolled back - useful in intergration tests)

    3. Re:I just migrated... by Ja'Achan · · Score: 1

      For one, INSERT ... IGNORE is atomic, saves you locking over your "does it exist yet?" and your "no? Then add it" queries.

    4. Re:I just migrated... by Anonymous Coward · · Score: 0

      atomicity is what transactions are for.

    5. Re:I just migrated... by Anonymous Coward · · Score: 1

      So why not use unique keys and handle the fallout (i.e. failed insert) afterwards?

    6. Re:I just migrated... by shish · · Score: 1

      I'm using postgres in what I'd consider an agile way -- I guess if you were typing SQL by hand then its strictness might hold you back (it also ensures that your data is valid, which I consider a worthwhile tradeoff), but we've been using an ORM to handle those sorts of details for us.

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    7. Re:I just migrated... by Errol+backfiring · · Score: 2

      Because there are a lot of types of data:

      Live data Should off course not be in an upgrade SQL script Settings Insert-only, should not be updated when present. This is where you would use INSERT IGNORE (or INSERT .. ON DUPLICATE KEY UPDATE somedummyfield=somedummyfield if you dislike INSERT IGNORE) System data For instance, Object-Relational-Mapping data. Should be set to the new value. INSERT .. ON DUPLICATE KEY is perfect for this. What's more, with MySQL's multirow inserts, you can make statements that are legible even if you set more than one field. Standard SQL's MERGE command is the least legible command I ever saw, and as far as I know Postgress does not even support MERGE.

      In agile programming, both structural and content changes are often necessary. These must be done on both local development databases, test databases and live databases. So you would want the SQL script in your source code control system and be able to run non-interactively. For an example, see Evolving A Database With MySQL.

      --
      Nae king! Nae laird! Nae yurrupiean pressedent! We willna be fooled again!
    8. Re:I just migrated... by Anonymous Coward · · Score: 0

      Right.

      We handle all of this above the ORM layer, so don't need such features in the db.

      Whether using mysql or postgresql, the amount of hand-written SQL is actually very small indeed.

    9. Re:I just migrated... by Anonymous Coward · · Score: 0

      Sanitize your Data.
      Copy your raw data to a temporary table, join with the final table to get those rows, that are no douplicates and insert them in the final table.

    10. Re:I just migrated... by buchner.johannes · · Score: 4, Informative

      Migrating from MySQL to PG may be easy, but migrating from MySQL to MariaDB is trivial.

      --
      NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
    11. Re:I just migrated... by myurr · · Score: 1

      It's a very worthwhile tradeoff, and something that we rely upon for the majority of our complex projects. Knowing that your data is always integral and internally consistent, enforced by rules in the database itself, is an enabler for rapid development of the various interfaces and processes that interact with that data. Need to use a better tool for the job for one aspect of the system? No worries, interface directly with the same database knowing it won't break anything instead of being limited to accessing your system via a single ORM (or maintaining the configuration of two or more).

      INSERT IGNORE etc. are nice to haves but hardly a deal breaker or a hinderance to rapid development when the other database features are taken into account such as performance under concurrent load or the far more intelligent query planner - both features that enable you to stop having to worry about these things in your code.

    12. Re:I just migrated... by Kagetsuki · · Score: 1

      I converted using some tools and a short guide, it was simple. I'm also using ORM (ActiveRecord), which brings me to your last statement there: "but I did not think it was feasible for agile development." -- So you are doing so much development IN the DB/DBMS you would even consider something like that? Just what kind of development are you doing? (I'm not attacking you here, I'm honestly interested - I touch the DB and raw SQL as little as possible)

    13. Re:I just migrated... by Kagetsuki · · Score: 1

      Excellent heads up. Somebody mod this guy up!

    14. Re:I just migrated... by Anonymous Coward · · Score: 0

      Transactions + stored proc ... Many ways to do this. It's a special case of invalid data, therefore there's no dedicated function for it.

      http://www.tek-tips.com/viewthread.cfm?qid=1493070&page=2

    15. Re:I just migrated... by Anonymous Coward · · Score: 0

      Use INSERT ... SELECT ... WHERE NOT EXISTS ...

      (Defeat idiot filter: Filter error: Don't use so many caps. It's like YELLING.)

    16. Re:I just migrated... by Anonymous Coward · · Score: 1

      This is quite possibly one of the stupidest technical statements I have read on Slashdot in quite some time. Handle the failed insert... good lord. *slaps people*

      Another individual who responded got it right: transactions (read: START TRANSACTIO / COMMIT / ROLLBACK) can help here. But if you're using MySQL these are only available if you use InnoDB, which is a fucking nightmare in itself. Does this mean switch to PG like the thread implies? Absolutely not. Until PG's administrative and userland utilities improve, users will continue to use MySQL. Not to mention, open-source SQL engines suffer from the same problem most of the PC industry does: whoever comes first is usually who will win the battle (read: MySQL came first, PG loses no matter how technically superior it is).

      Anyway, use transactions. Cleaning up after insert/delete/update/yourmom statements, manually, is *not* an easy task. It might sound easy, but it's really not.

    17. Re:I just migrated... by znrt · · Score: 1

      So you would want the SQL script in your source code control system and be able to run non-interactively. For an example, see Evolving A Database With MySQL.

      Ditto: you are tying yourself (unnecesarily) to specific implementations (that incidentally are going to be propietary soon, as it seems). That's not agile programming, it's shortsightness, or agile getting-in-trouble. Don't be lazy, write your data morphing scripts in whatever language you are using and ... fcuk Oracle :-)

    18. Re:I just migrated... by vlm · · Score: 1

      from MySQL to PG. It was easy. You should do it too.

      OK I call forth the combined wisdom of /. to advise me how to do this.

      There's gotta be the perfect wiki / website / script / blog / checklist / incantation / whatever for this, right?

      I am completely uninterested in migrating databases at the level of "SELECT name, phonenumber FROM t_phonebook WHERE name=vlm;". I think I can handle that by myself, thanks.

      I am worried about my replication system, my vast collection of weird indexes and their possible expanding obesity on the NAS, my triggers which are mostly used as a transparent logging system, and frankly most worried that little gotchas that probably exist that I couldn't possibly know about in advance. Maybe VARCHAR doesn't exist or it explodes on PG, maybe my favorite hashing functions don't exist inside PG, I donno that is the whole point.

      I can't (easily) migrate a couple tables at a time from mysql to pg because that would make joins difficult to impossible across the two DBMS, correct? And I have a true relational database system, required for consistency (the codd normal forms and all that)

      I am not worried at the point that I must hire a consultant and stay at work all weekend rolling it. But I am worried enough to "buy a book" or study a website for awhile, and maybe think about rolling to PG.

      Obviously I'm not the first or only to consider this.

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    19. Re:I just migrated... by outsider007 · · Score: 1

      And wait for Oracle to buy them too? No thanks.

      --
      If you mod me down the terrorists will have won
    20. Re:I just migrated... by rtaylor · · Score: 1

      You can do something like this:

      INSERT INTO (col1) foo SELECT * FROM (VALUES (1),(2),(3)) AS newdata(col1) WHERE col1 NOT IN (SELECT col1 FROM foo);

      This will create a record for values 1, 2 and 3 if and only if they do not already exist.

      Yes, the syntax is considerably longer.

      FYI, the normal process for scrubbing during dataload is to create a temporary table holding the data, massage it there, then insert into the real structure.

      --
      Rod Taylor
    21. Re:I just migrated... by Anonymous Coward · · Score: 0

      Do you want to rewrite that application for him/her?

    22. Re:I just migrated... by Anonymous Coward · · Score: 0

      Ah. And how do you convert the duplicate key / ignore inserts? I looked at postgress, but I did not think it was feasible for agile development.

      Thanks, this is the best argument against "agile development" I have ever heard.

    23. Re:I just migrated... by Anrego · · Score: 1

      Transactions are good for handling this, but if you already have a large code base using MySQL (and as such are probably not using transactions) then there is a point there about migration not being all that simple.

      That said, I don't really get the agile argument.

    24. Re:I just migrated... by tomhudson · · Score: 1
      "Insert into usr blah blah blah on duplicate key update usr blah blah blah."

      Very handy.

    25. Re:I just migrated... by shish · · Score: 1

      I can't (easily) migrate a couple tables at a time from mysql to pg because that would make joins difficult to impossible across the two DBMS, correct?

      Funnily enough, postgres does actually support foreign tables with mysql as a backend.

      For the few migrations I've done. I've found custom scripts to be the easiest way of getting good results -- you're unlikely to find an automated tool that will look at your VARCHAR(15) column and realise that it should be translated into postgres' native "IP address" data type, or that your column of integers represents a number of seconds so it should really be an "interval" type, or that the "lat" and "lon" columns should be combined as a "2D point" so that you can take advantage of all the geometry & geography manipulation functions, etc etc.

      In general I've found moving from mysql to postgres to be similar to moving from unstructured text files to mysql -- it can be a lot of effort to massage everything into place in a better defined structure, but your data will thank you :-)

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    26. Re:I just migrated... by TheLink · · Score: 1

      Try it in two different transactions and you'll find it does NOT work.
      e.g.
      -- Do following in psql #1
      begin;
      INSERT INTO (col1) foo SELECT * FROM (VALUES (1),(2),(3)) AS newdata(col1) WHERE col1 NOT IN (SELECT col1 FROM foo);
      -- then this in psql #2
      begin;
      INSERT INTO (col1) foo SELECT * FROM (VALUES (1),(2),(3)) AS newdata(col1) WHERE col1 NOT IN (SELECT col1 FROM foo);
      commit;
      -- Then go back to psql #1
      commit;

      The way to do this without having to rollback is to use locks (postgresql allows locks that don't block all selects).

      --
    27. Re:I just migrated... by TheLink · · Score: 1

      Because postgresql rolls back the transaction when there are errors (e.g. failed insert).

      Yes you can use savepoints but you now need to write extra code:
      1) to handle the savepoint.
      2) to correctly distinguish between "retryable" errors and "nonretryable" errors.
      3) to retry transactions.

      More code to debug, test, document and support.

      In contrast, the "lock table, insert if row does not exist, update if it exists" and rollback everything if "stuff happens" seems simpler to do correctly.

      You SHOULD still use unique keys to enforce data integrity (it is good to be paranoid when it comes to databases), but it's better to avoid handling fallout as the norm.

      --
    28. Re:I just migrated... by Errol+backfiring · · Score: 1

      Given that I am using a database, "whatever language I am using" is SQL. Or should I write a program that writes a program that programs a database server? That is plain silly.

      --
      Nae king! Nae laird! Nae yurrupiean pressedent! We willna be fooled again!
    29. Re:I just migrated... by Anonymous Coward · · Score: 0

      Do you know what you are even talking about? "not think it was feasible for agile development". Sounds smart to the layman, but a DB has very little to do with a methodology. What difference does writing a query or insert for MySQL vs. PG present to the pigs or chickens (basic Agile tenets regarding stakeholders and developers). Change your ID to "Errol misfiring" ...and if you worked in my shop, you would be fired.

    30. Re:I just migrated... by Anonymous Coward · · Score: 1

      It sounds like you might want to stay with MySQL for a while yet.

      To be fair, if you had designed your database to use PostgreSQL and take advantage of lots of PostgreSQL specific features, I would tell you to stay on that platform as well.

      There are certain core features that cross over very well between all SQL databases. Then there are things that seem to be handled differently on every single database (dates, database specific functions, replication, stored procedures, etc).

      I have been involved with database conversion projects before. You don't just import your MySQL databases into PostgreSQL and flip a switch. It's a matter of porting over the database schema, developing migration plans, finding and addressing various issues in the SQL and the code that interacts with your database, and developing a full migration plan.

      Having used several of the most popular databases on the market (MySQL, PostgreSQL, Oracle, and MS-SQL) for years, I can say that MySQL is no panacea. Each database has their pros and cons, and it's really up to the people developing a system to choose a database that is appropriate for the task at hand. They can all be made to work, but they all have their quirks.

      Personally, my favorite database to use is PostgreSQL, but I spend a lot of time using MySQL at work.

    31. Re:I just migrated... by M1FCJ · · Score: 1

      Wave a hand to your performance.
      Of course it doesn't matter when you're working with toy databases and data sets.

    32. Re:I just migrated... by WuphonsReach · · Score: 1

      Until PG's administrative and userland utilities improve, users will continue to use MySQL.

      Eh, pgAdmin III is already pretty darned good - the only thing missing is the ability to import/export data sets through the UI to other ODBC data sources (which would rock).

      Setting up pgsql is not that hard anymore either - there's enough understanding out there now of how pg_hba.conf works (and why you want to configure stuff like that in a way that can't be touched by the database).

      --
      Wolde you bothe eate your cake, and have your cake?
    33. Re:I just migrated... by vlm · · Score: 1

      Funnily enough, postgres does actually support foreign tables with mysql as a backend.

      This could work... then I could gradually move them over into native tables... interesting.... I think I'm developing a plan here...

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    34. Re:I just migrated... by Anonymous Coward · · Score: 0

      That's what dev servers are for. You don't do it in production first. It isn't trivial as postgres is picky about join syntax, date types and functions are different and you have to test your app completely but it can be done

    35. Re:I just migrated... by nabsltd · · Score: 1

      In addition, the PostgreSQL syntax gets even uglier if you want to insert a new row if it doesn't exist, but update the existing data if it does. For MySQL, it's (parametrized query):

      INSERT INTO sometable (field1, field2, field3)
      VALUES (?, ?, ?)
      ON DUPLICATE KEY UPDATE field1 = ?, field2 = field2 + 1, field3 = SomeComplexFunction(field3,field4)

    36. Re:I just migrated... by rycamor · · Score: 1

      Having migrated a few applications from MySQL to Postgres, the truth is, it will be painful, but the result is you will be a LOT more confident in the quality and manageability of your data. Start here

      PostgreSQL has all the datatypes that MySQL has, and more (see especially the ), and usually with far less limitations. Any character type can be up to 1GB in size if needed, for example.

      The biggest sources of pain will likely come from character set handling (some MySQL oddities there) and MySQL's ready acceptance of NULL where it really shouldn't occur. Learn to love grep, sed and the 'iconv' utility.

      There are conversion utilities that will get you part of the way there with a DB structure dump, but they will hardly do justice to a complex database. You will have to reengineer your system--in fact you will want to, since PostgreSQL has many capabilities that you cannot take advantage of in MySQL.

      Triggers and stored functions are a little less 'wieldy' in Postgres, but far more capable once you get the concepts. For one thing, MySQL re-compiles all stored procedures for every instance of a connection (making SPs in PHP web-based apps almost pointless). One caveat: Postgres does not have 'true' stored procedures in the sense that they cannot span multiple transactions. Thus they are called functions, but aside from the transaction limitation, they are far more capable than MySQL stored procedures. For example, result sets from functions can be treated exactly like result sets from tables, and nested inside other queries and views, even in the FROM clause in ways that MySQL still does not allow. Full referential transparency.

      Postgres has many more indexing options than MySQL, which you will want to explore for performance tweaking.

      Postgres has the RULE system which allows for query rewriting in much the way that Apache's mod_rewrite allows for URL rewriting. It is a powerful tool, allowing you to potentially get rid of tons of stored procedure code. In some ways it works like an alternate triggering mechanism, but it is very lightweight.

      BTW, one way you might consider handling your migration is using PostgreSQL's new foreign data wrapper or SQL/MED functionality, which can allow you to query a MySQL table from within a PostgreSQL DB (read-only for now, but excellent for importing tables interactively)

    37. Re:I just migrated... by znrt · · Score: 1

      Given that I am using a database, "whatever language I am using" is SQL. Or should I write a program that writes a program that programs a database server? That is plain silly.

      If you say so ... since when is "INSERT IGNORE" SQL? You tie yourself to an implementation you don't control, then you cry when that implementation leaves you stranded. *That* is silly.

      Not that we aren't doing that all the time, whenever we stick to some implementation. What is silly is doing it for silly reasons, like the one you present. Your automated morphing scripts won't probably run in MySQL 7.0, if any. But they won't run in Oracle, DB2 or Postgres either. This is not an agile environment, it's a gratuituously constrained one.

    38. Re:I just migrated... by Unequivocal · · Score: 1

      I used Ruby/Rails with Postgres just fine on a very complex project, and I think that's a reasonably agile environment? The database migrations functions in Rails permitted management of state of database in dev, test, staging and production perfectly. It was actually the best setup I've ever had for that. You could see exactly what changes happened on each system, and you could very easily roll your code back to a particular date, roll the database back to the same date, and the structures and system data, lookups, etc would all get updated to reflect their state at that time. It made it so much easier to replicate a bug that might be happening in production, when your dev box was far in advance -- just check out the correct version, run your backward migration and you're testing on a system that's the same as production - no need to even create a new database or anything.

      Postgres worked very well for all this. I think what you're saying is that *the way you like to manage these issues* doesn't work in Postgres, and that may very well be true. But that's not to say that you can't easily manage those issues in Postgres.

    39. Re:I just migrated... by Anonymous Coward · · Score: 0

      And how do you convert the duplicate key / ignore inserts?

      Do you mean deferred constraints? If that's not what you mean, then you screwed up on your schema definition. And if you didn't screw up on your schema definition, then you've screwed something else up entirely. You can do lots of dumb things with any database - its just that doing dumb things is typically much harder with PostgreSQL. Either way, I seriously doubt a migration to PostgreSQL is all that difficult for you. Or if its a simple duplication issue, use INSERT WHERE NOT EXISTS and let transactions do their part; whereby you should fix your broken data and/or schema and/or DBA before doing so.

      Honestly, I can't conceive your issue to be anything other than ignorance for a lacking feature (deferred constraints) or general stupidity. Agile development does not require inconsistent data nor does it require lazy, inept, or ignorant developers.

  5. because by roman_mir · · Score: 3, Informative

    because of postgresql?

  6. "open for four years" by KiloByte · · Score: 5, Insightful

    By "keep MySQL open for another four years", they mean "pay lip service to its life support, then on day 1462 stop even that". Sorry, but unless one of independent forks really takes off, I'm not going to even look at something else than Postgres. For that "bevy of open source improvements", what exactly has been added? Heck, MySQL development has been dormant even during Sun days.

    --
    The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
    1. Re:"open for four years" by Anonymous Coward · · Score: 1

      "what exactly has been added"
      JUST
      high-impact enhancements to improve the performance and scalability of the MySQL Database, taking advantage of
      the latest multi-CPU and multi-core hardware and operating systems. In addition, with release 5.5, InnoDB is now the default storage engine for
      the MySQL Database, delivering ACID transactions, referential integrity and crash recovery by default.
      MySQL 5.5 also provides a number of additional enhancements including:
            - Significantly improved performance on Windows, with various Windows
                specific features and improvements
            - Higher availability, with new semi-synchronous replication and
                Replication Heart Beat
            - Improved usability, with Improved index and table partitioning,
                SIGNAL/RESIGNAL support and enhanced diagnostics, including a new
                PERFORMANCE_SCHEMA
      For a more complete look at what's new in MySQL 5.5, please see the
      following resources: MySQL 5.5 is GA, Interview with Tomas Ulin:
          http://dev.mysql.com/tech-resources/interviews/thomas-ulin-mysql-55.html
      Documentation:
      http://dev.mysql.com/doc/refman/5.5/en/mysql-nutshell.html
      Whitepaper: What's New in MySQL 5.5:
        http://dev.mysql.com/why-mysql/white-papers/mysql-wp-whatsnew-mysql-55.php

      Just....

    2. Re:"open for four years" by mwvdlee · · Score: 1

      How long did it take for LibreOffice to take over from OpenOffice?
      You'll probably see a perfect replacement fork for MySQL the day it's open source life ends.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    3. Re:"open for four years" by Anonymous Coward · · Score: 0

      Chill out...who's trying to convince you from not using PostgreSQL? You're free to use that if you aren't interested in "even look"ing at alternatives such as the already-active, MySQL-forked, Open-vs-LibreOffice-akin MariaDB.

    4. Re:"open for four years" by Anonymous Coward · · Score: 1

      Heck, MySQL development has been dormant even during Sun days.

      Just as well. Just because Jesus open sourced Judaism, doesn't mean that open source developers are Sabbath-exempt.

    5. Re:"open for four years" by hholzgra · · Score: 5, Informative

      As if PostgreSQL didn't have it's own ecosystem of commercial-only extensions, too (EnterpriseDB, GreenPlum, just to name a few) ... the big difference here is that in the MySQL ecosystem Oracle is the only one that can do such dual-license stunts while in the PostgreSQL ecosystem anybody can ... (whether that's good or bad is a different story)

      For "improvements"/"what's been added":

      * lots of multi CPU scalability work (although part of it came from Google/Facebook and other sources where Sun/Oracle 'just' did the integration work)
      * MySQL Cluster got a *lot* better in Sun/Oracle days
      * the InnoDB plugin improved InnoDB affairs a lot (and this has been Oracles baby even in the Sun days)
      * connectors, e.g. PHP/mysqlnd
      * more interesting InnoDB improvements (e.g. fulltext indexes, finally) are in the queue, how these are going to be licensed remains to be seen though

      It's not that everything is going into the optimal direction with MySQL under Oracle (i'm not working for them anymore for a reason), but saying there has been no development ever since the Sun acquisition is not fair, and i don't see any reason to believe that things will radically change on day 1462 either ...

    6. Re:"open for four years" by JustOK · · Score: 3, Funny

      The original version had a default Sabbath value of SAT, while the two common forks use either FRI or SUN.

      --
      rewriting history since 2109
    7. Re:"open for four years" by KiloByte · · Score: 0

      InnoDB has been added in 2001. Replication has been there since forever. You're listing old features of MySQL, not additions done by Oracle.

      --
      The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
    8. Re:"open for four years" by Just+Brew+It! · · Score: 1

      Heck, MySQL development has been dormant even during Sun days.

      And yet it still seems to be the most popular FOSS database, in spite of this. I'd say this is an indication of a mature product that already meets many users' needs. Even if Oracle orphans it, the situation going forward won't be much (if at all) worse than it already was under Sun. Users who had a problem with the stagnation of MySQL have already moved on (or are in the process of moving on) to something else.

    9. Re:"open for four years" by Anonymous Coward · · Score: 0

      unless one of independent forks really takes off

      MariaDB seems highly likely to take over where MySQL has left off, given that Monty himself is involved. For those who want some commercial support, there's always Percona, who also have their own fork. It seems more likely that Maria & Percona will converge rather than diverge, so you're not in much danger if you chose one over the other right now.

    10. Re:"open for four years" by geminidomino · · Score: 1

      InnoDB has been added in 2001

      Yeah, but it's the DEFAULT now. They probably had to change a whole 10 LOC for that.

    11. Re:"open for four years" by Zontar+The+Mindless · · Score: 2

      InnoDB has been added in 2001. Replication has been there since forever. You're listing old features of MySQL, not additions done by Oracle.

      InnoDB becomes the default storage engine in MySQL 5.5, a non-trivial change from earlier versions (where MyISAM was the default).

      Semi-synchronous replication is a new feature of replication in MySQL 5.5.

      All of the other features mentioned by the AC are also either new or singificantly changed in 5.5.

      --
      Il n'y a pas de Planet B.
  7. Why you shouldn't panic? by eexaa · · Score: 3, Insightful

    ...because if you aren't already running some better DBMS, chances are that you are probably generally unable to panic about any DBMS quality.

  8. POSTGRESQL by Anonymous Coward · · Score: 1

    As I'm writing a new software application, I've chosen PostgreSQL for these reasons:

    1. Very good quality of PostgreSQL and very good features
    2. License (BSD)
    3. Officially supported pre-compiler for embedded SQL in C/C++. Ironically there was such a pre-compiler for MySQL, but after the buyout it has been dropped from the official MySQL website (now Oracle) , however you can still find it elsewhere.
    4. I don't want oracle men in suits asking me money

    1. Re:POSTGRESQL by fuzzytv · · Score: 1

      4. I don't want oracle men in suits asking me money

      There are far worse things men in suits can ask you ...

  9. Thet won't even keep it as closed, it'll be dumped by Viol8 · · Score: 1

    They have no good financial reason to support 2 seperate database systems. In those 4 years they'll simply migrate all their paying MySQL support customers to the Oracle DB and once thats done the MySQL codebase will no doubt be quietly forgotten about.

  10. wolf in sheep's clothes by Anonymous Coward · · Score: 0

    At the moment they are 'extensions'. In short order, core features will be added through extensions, and MySQL-GPL will just be a vessel for proprietary software.

  11. Short sighted numbskulls... by Stumbles · · Score: 1

    What happens after that fourth year? Pull your head out of the sand.

    --
    My karma is not a Chameleon.
    1. Re:Short sighted numbskulls... by Anonymous Coward · · Score: 0

      The EU at least gave 4 ye3ars. The US did not even ask for that.

    2. Re:Short sighted numbskulls... by Richard_at_work · · Score: 1

      Thats the point - four years is plenty of time to migrate to one of the forks, or off of the MySQL platform altogether.

      If it takes a fork more than 4 years to become viable, chances are its never going to become viable - so start supporting the forks now if you absolutely need to remain on the MySQL platform.

      This whole rigmarole has amused me from the start - there has never, ever been any guarantees that Sun would have kept MySQL going as a commercially supported project (lots of periods with very low rates of activity while Sun was in charge), so why should Oracle really be burdened with offering more of a guarantee than Sun (or even the original MySQL company) ever was?

      MySQL is open source, and the whole point of open source was to protect against being left out in the cold when the product is withdrawn - and yet here we are seeing that entire premise failing badly.

    3. Re:Short sighted numbskulls... by rnturn · · Score: 1

      "This whole rigmarole has amused me from the start - there has never, ever been any guarantees that Sun would have kept MySQL going as a commercially supported project (lots of periods with very low rates of activity while Sun was in charge)..."

      I always thought the Sun/MySQL arrangement was odd from the start. I've seen full Solaris installations include a "postgres" user and the PostgreSQL database software (which I was glad to see) so Sun was already working along side an open source database. So what was the deal with MySQL all about? Besides being some sort of half-cocked attempt at upping Sun's FOSS street cred, that is.

      --
      CUR ALLOC 20195.....5804M
  12. The problem is developers by Anonymous Coward · · Score: 1

    If any 'fork' is to be taken seriously, it has to remain binary compatible (eg, can't simply dump and re-import), there are too many programs that rely on MySQL and MySQL only (ex, wordpress, which is used heavily) and have no means of using an alternative DB since they weren't written with any DBAL. Or there are cases like Xaraya and phpBB3 where the DBAL itself only knows specific versions of MySQL and doesn't functionally work with other DB's even if the core does since extensions may not be written using the DBAL.

    As for switching to PostgreSQL, same as above, the products in question and many others, assume that the underlying DB is MySQL3 or MySQL4.

    In the case of IBM, IBM cannibalized some of it's internal proprietary software sales, but in turn sold more services, a lesson it learned back with the original IBM 5150 BIOS and MS-DOS. Trying to hold back innovation using copyrights and licences results in the ability to sell services being lost. Oracle is being rather dickish about Java, much like Sun was about Java, and I think in the end this doesn't bode well as it pretty much killed Java being adopted and the world has moved to JIT-LLVM types of development instead.

    Unlike Sun Office, OpenOffice, LibreOffice, you can't simply fork when you don't like the company that buys it. Yes there will be attempts at forks, but they won't replace the previous popular flavor of the year unless that new version offers something attractive to switch for. As we all know, people don't flock to Gimp and Inkscape over Photoshop and Illustrator just because it's free and not owned by dickish companies. People use these products out of necessity.

    So in the case of MySQL, there is a large installed base, just like the Apache HTTPD server itself, this is the norm, even if the underlying OS is MacOS, or FreeBSD. Low-end VPS systems only support Linux CentOS+Apache+MySQL+PHP and nothing else. You don't get to install anything that CPanel doesn't have unless you want to install everything manually by yourself.

    Nobody cares about licenses when they can just tick a "install database" box.

    1. Re:The problem is developers by jonwil · · Score: 1

      Given that MySQL is GPL and that all the users of MySQL you talk about are likely using the GPL version, nothing will change. People will keep using the MySQL version(s) in question.

      Should Oracle decide to be a dick about it and close the source or charge money for it, a fork will appear and (as happened with xfree86 when the license was changed in ways people didnt like) a fork will appear. People (and projects) using MySQL will keep using the same MySQL versions they are using or if they need a newer version, switch to the fork.
      VPSs and hosting providers using MySQL will keep using the same version they are now or switch to the fork with the "set up database" option being pointed at the new version.

      I seriously doubt any fork is going to want to change the binary format or query language for MySQL in a way that breaks things for existing MySQL users (not if they want the fork to be relavent anyway)

      Even LibreOffice hasn't changed things in ways that break binary compatibility as far as I am aware.

    2. Re:The problem is developers by mbkennel · · Score: 1

      "In the case of IBM, IBM cannibalized some of it's internal proprietary software sales, but in turn sold more services, a lesson it learned back with the original IBM 5150 BIOS and MS-DOS."

      I think this is trying to suggest that IBM intentionally opened the early 80's PC architecture and then sold more as services.

      That wasn't true. IBM certainly sued the first cloner (Compaq) early and often, but didn't win---maybe today it would. Then, because of the anti-trust restrictions that IBM was under at the time, it couldn't get an exclusive contract to buy-out PC-DOS (official IBM distribution of DOS) code, so Microsoft was allowed to sell for non PC computers. At the time, it was not anticipated that there would be compatible clones (i.e. MS-DOS on non-PC's would not run PC software). The combination of the two resulted in a very poor outcome for IBM, and they certainly didn't make it up in "services" in the slightest---it created a fierce and suddenly powerful competitor, Microsoft.

      If Apple 'opened up the iPad' to cloners and then try to sell "services", would it be as profitable for Apple? No way.

  13. Enjoy your crumbs. ...oh stop looking at the cake by ciaran_o_riordan · · Score: 2

    Free software is about setting minimum levels of respect: the four freedoms.

    Many projects go beyond this, by using copyleft, by assisting community participation, by being transparent, etc.

    By abandoning this standard, Oracle shows itself as just another free software freerider, not to be trusted and not worthy of community support or good will.

  14. VirtualBox by AdamInParadise · · Score: 3, Interesting

    In VirtualBox v4.0, Oracle released the core as an open-source projet and the proprietary extensions as a plug-in. This proprietary extension is free for home use but commercial users must by a licence. The extension is not 100% necessary but does provides some very useful features, such as being able to connect to the "console" of a headless VM. Cool right?

    Well, not really. There is at the moment no way to actually buy such a licence from Oracle, so all the people using VirtualBox v4.0 with this extension in a business are technically out of compliance.

    VirtualBox is cool, but they really need some leadership from Oracle.

    --
    Nobox: Only simple products.
    1. Re:VirtualBox by Jahava · · Score: 1

      In VirtualBox v4.0, Oracle released the core as an open-source projet and the proprietary extensions as a plug-in. This proprietary extension is free for home use but commercial users must by a licence. The extension is not 100% necessary but does provides some very useful features, such as being able to connect to the "console" of a headless VM. Cool right?

      Well, not really. There is at the moment no way to actually buy such a licence from Oracle, so all the people using VirtualBox v4.0 with this extension in a business are technically out of compliance.

      VirtualBox is cool, but they really need some leadership from Oracle.

      The VirtualBox guest extensions were released under the Oracle PUEL. IANAL, but the PUEL itself doesn't seem to say what you think it says.

      The actual PUEL seems to center around the following restriction (emphasis mine):

      2 Grant of license. (1) Oracle grants you a personal, non-exclusive, non-transferable, limited license without fees to reproduce, install, execute, and use internally the Product a Host Computer for your Personal Use, Educational Use, or Evaluation. “Personal Use” requires that you use the Product on the same Host Computer where you installed it yourself and that no more than one client connect to that Host Computer at a time for the purpose of displaying Guest Computers remotely. “Educational use” is any use in an academic institution (schools, colleges and universities, by teachers and students). “Evaluation” means testing the Product for a reasonable period (that is, normally for a few weeks); after expiry of that term, you are no longer permitted to evaluate the Product.

      In other words, it looks like the word "personal" is not a restriction on non-commercial versus commercial, but rather a limitation (of one) to the number of simultaneous users who may display guests remotely. The rest of the license doesn't seem to be changing this, so it seems to me that this is an accurate representation of their intentions. (On the side, it is one of the best-written comprehensible licenses I've seen in a while, so props Sun/Oracle). What they seem to want is for people to use this individually (commercially or non-commercially) and not try and use VirtualBox to set up an enterprise virtualization solution. This is consistent with the software itself, whose interfaces and features are very-much geared towards a single-user multiple-system scenario.

      Now, historically, prior to Oracle's acquisition of Sun, VirtualBox's still released closed extensions; this was just accomplished by releasing two versions of VirtualBox side-by-side. One of them was a limited open-source bundle, while the other was a full bundle released by Sun under a similar PUEL. The main difference is that the previous model released two separate versions, while the current model releases a single open-source core version and a set of closed extensions that augment the open-source version's functionality to that of the previously-separate closed-source PUEL bundle. In other words, VirtualBox under Sun seems to be operating roughly equivalently to VirtualBox under Oracle.

      VirtualBox is an excellent piece of virtualization software ... highly-recommended to those who are using VMWare Player to run/test multiple systems in a development context. I, personally, feel it beats VMWare's pants off in that specific scenario.

    2. Re:VirtualBox by Just+Brew+It! · · Score: 1

      The OSE edition of VirtualBox includes a VNC server (as opposed to the RDP server included in the proprietary extension) that provides similar headless console functionality. The VNC feature appears to be disabled in the binaries they distribute, but is available as a compile-time configuration option if you build from source, or (I believe) enabled by default if you install from your distro's repository.

  15. Open, but poisoned. by AliasMarlowe · · Score: 2

    How long did it take for LibreOffice to take over from OpenOffice?
    You'll probably see a perfect replacement fork for MySQL the day it's open source life ends.

    Perhaps the binary-only extensions from Oracle are part of an attempt to prevent that sort of thing. After all, if a large part of the user base is hooked on non-forkable proprietary extensions during the next few years, then forking MySQL when Oracle's commitment to keep it FOSS expires would be largely fruitless. Moreover, relying on these extensions may also make it harder to port one's DB and related applications to Postgres or other alternatives.

    For this reason, I'd say Mr. Proffitt is utterly wrong: there is much to worry about. Each proprietary binary extension is potentially a poisoned chalice, and should be viewed as such.

    --
    Those who can make you believe absurdities can make you commit atrocities. - Voltaire
    1. Re:Open, but poisoned. by idontgno · · Score: 1

      I agree. They're such amazingly obvious traps that you don't even need to be a Mon Calamari flag officer to spot them.

      Any organization inclined to pay for MySQL official support or non-free extensions is probably 3/4 of the way to buying the entry level of full Oracle anyway. Whatever you say about MySQL, the probable market for that strategy already doesn't care about free-as-in-libre and will probably just shrug and open the wallet wider when free-as-in-beer goes away. They've already drunk the kool-aid; they already don't mind the vendor lock-in.

      --
      Welcome to the Panopticon. Used to be a prison, now it's your home.
    2. Re:Open, but poisoned. by Arancaytar · · Score: 1

      Wouldn't anyone who cared about this issue enough to switch to a fork also avoid binary extensions in the first place? It's not as though they are essential to MySQL - or if they are, their functionality will be replicated in forks soon enough.

    3. Re:Open, but poisoned. by tepples · · Score: 1

      After all, if a large part of the user base is hooked on non-forkable proprietary extensions during the next few years

      Then they installed the extensions themselves. Under (say) Ubuntu Server, that's a separate step from the typical sudo apt-get install mysql-server mysql-client php5-mysqli.

  16. Guess it will no longer be in the linux repos by nzac · · Score: 2

    I would think most distros will have policies that will make this a second class DB or drop it entirely. It rules it out of Debian for the next release, openSUSE will drop it to non-oss, gentoo wont like binaries and so on.

    Having to go the Oracle website to get it would put off the majority of new non-commercial users or anyone wanting automatic update notification.

    1. Re:Guess it will no longer be in the linux repos by Errol+backfiring · · Score: 1

      I think just the enterprise features won't be available. So developers won't use them if they can avoid them. What's more, you would have to have an "enterprise" licence for each developer and test machine. Ouch!

      --
      Nae king! Nae laird! Nae yurrupiean pressedent! We willna be fooled again!
    2. Re:Guess it will no longer be in the linux repos by hholzgra · · Score: 2

      Does it rule out PostgreSQL from being released with Debian as there are commercial/non-oss extensions to it like EnterpriseDB?

      Sure, the non-GPL "Enterprise Edition" will not make it into any distribution, but for the GPL edition licensing would not be the reason for not distributing it any longer (although other reasons may lead to one of the forks becoming the default and Oracles GPL version only an alternative, but this will for sure be not for license reasons alone if/when it happens ...)

    3. Re:Guess it will no longer be in the linux repos by nzac · · Score: 1

      You are right the the core is still good (so I guess GP was alarmist) but the moment new releases are not GPL it will be rejected as foreign by a lot of distros*. Yes there are some that wont care as well i guess.

      Forking mySQL is not as likely as OO as there are other alternatives that could be work on instead and will not have the trademark.

      openSUSE has switched java versions due to lack to openness.

    4. Re:Guess it will no longer be in the linux repos by Anonymous Coward · · Score: 0

      An enterprise license for each developer? I think you need to read the license before sprouting bullshit.

      The plugins are rather dull anyway, authentication using pam etc.
      Rather pointless when you consider 99% of MySQL installations have 2 users: root and "the web server".

    5. Re:Guess it will no longer be in the linux repos by Just+Brew+It! · · Score: 1

      Ummm... what? Debian has no problem distributing dual-licensed code, as long as one of the licenses (the one which applies to the version in their repositories) is GPL-compatible. Oracle can't "take back" the GPL-licensed version, so where's the problem for Debian?

    6. Re:Guess it will no longer be in the linux repos by nzac · · Score: 1

      Well it appears there is still at least 4 more years for the base package. I should read the article and the extent of the extensions. But that does not change that some distros might use this as an excuse to drop the oracle product from first class support and the default install.

      Unless half the dev team defect there will be no devs able to release patches and security updates let alone new versions so it falls behind and will be less secure. There are no patches to from upstream.

  17. Poisoned chalice devalues forking... by AliasMarlowe · · Score: 5, Interesting

    And, as with OpenOffice, the community will fork the Database and add a bunch of useful features to it.
    Finally Oracle will either "donate" MySQL back to the community or keep it closed source and everyone will move over to PostgreSQL.

    I suspect the binary-only extensions from Oracle are part of an attempt to prevent that sort of thing. After all, if a large part of the user base becomes reliant on non-forkable proprietary extensions during the next few years, then forking MySQL when Oracle's commitment to keep it FOSS expires would be largely fruitless. Moreover, relying on these extensions may also make it harder to port one's DB and related applications to Postgres or other alternatives. Furthermore, a MySQL donated to the community would be worthless to those who need the extensions (and nothing prevents Oracle from making those extensions quite expensive later). Conceivably, the extensions could even make it easier to port to a commercial DB offering from Oracle, if they are cunning enough.

    For this reason, I'd say Mr. Proffitt is utterly wrong: there is much to worry about in these extensions. Each proprietary binary extension is potentially a poisoned chalice, and should be viewed as such.

    --
    Those who can make you believe absurdities can make you commit atrocities. - Voltaire
    1. Re:Poisoned chalice devalues forking... by znrt · · Score: 2

      I suspect the binary-only extensions from Oracle are part of an attempt to prevent that sort of thing. After all, if a large part of the user base becomes reliant on non-forkable proprietary extensions during the next few years, then forking MySQL when Oracle's commitment to keep it FOSS expires would be largely fruitless.

      That's an obvious possibility but for now its just "extensions": monitoring and and mostly fancy stuff for enterprise dba. Nothing the big majority of mysql base can't live without (if of any real interest at all). Anyway if your software depends critically on this kind of stuff (or any other propietary candy) then you have bigger problems to worry about than Oracle.

    2. Re:Poisoned chalice devalues forking... by Just+Brew+It! · · Score: 1

      I don't think it is as bad as you think.

      The part of the user base that would become dependent on these extensions would be the same users who are already OK with the idea of paying for MySQL. Isn't this a very small fraction of MySQL users? None of the myriad FOSS projects that depend on MySQL would be affected, and few (if any) of those FOSS projects would ever move over to the proprietary version since it would force them to adopt a dual-license model as well (which is darned near impossible to do retroactively for anything that has community involvement in the development process).

      When Oracle eventually pulls the plug on development of the FOSS version and jacks up the price of the proprietary version, the FOSS community can indeed fork (or jump ship to an existing fork like MariaDB assuming it is viable), since by definition they're not dependent on the proprietary extensions in the first place.

      The only people who get screwed are the people who signed up for the proprietary version up front.

    3. Re:Poisoned chalice devalues forking... by mfh · · Score: 1

      For this reason, I'd say Mr. Proffitt is utterly wrong: there is much to worry about in these extensions. Each proprietary binary extension is potentially a poisoned chalice, and should be viewed as such.

      Whenever someone is pacifying me with poison, I often take careful note as to their disposition. If they are begging me to drink, and playing down the ill effects, then I know where their loyalties lie.

      --
      The dangers of knowledge trigger emotional distress in human beings.
    4. Re:Poisoned chalice devalues forking... by tehniobium · · Score: 1

      This sounds like a rather week strategy to me. Presumably anything they can make proprietary extensions do will have an OSS alternative before too long. That having been said, anyone who uses these proprietary extensions knows that Oracle can make them expensive if they want to - so if that really is a problem, they just wont be used.

      I do however share your concern that Oracle will stop at nothing to milk some money out of MySQL - and unlike OpenOffice.org, MySQL is used everywhere by a very large amount of people. I guess pretty much the only good thing is that PostgresSQL is a solid alternative.

      --
      No kitty, this is my pot pie!
    5. Re:Poisoned chalice devalues forking... by skids · · Score: 1

      The part of the user base that would become dependent on these extensions would be the same users who are already OK with the idea of paying for MySQL.

      The way it works is this: some highly specialized commercial product that you DO pay for decides to use/bundle these extensions. Then your systems department, being innately cowardly, gets uber-paranoid about doing anything at all to MySQL that might affect the stability/suportability of these extensions. Suddenly, magically, you essentially have a closed-source system. Sure you have the MySQL source, but you dare not do anything with it.

    6. Re:Poisoned chalice devalues forking... by Just+Brew+It! · · Score: 2

      OK, but under this scenario you're already locked into a closed-source solution anyway (this hypothetical other commercial product). I don't see how something that solution depends on also being closed-source makes things any worse.

      I still fail to see how this move by Oracle represents a serious (or even moderate) threat to FOSS. MySQL has been dual-licensed since day 1. Are people just now waking up to the fact -- 16 years late! -- that whoever owns the MySQL code base is allowed to have their own proprietary fork?

    7. Re:Poisoned chalice devalues forking... by Anonymous Coward · · Score: 0

      Presumably anything they can make proprietary extensions do will have an OSS alternative before too long that will be harassed and accused of patent infringement and sent cease and desist letters and tell their current clients moving from oracle will be painful and costly...

    8. Re:Poisoned chalice devalues forking... by Unequivocal · · Score: 1

      From what I read in the trades, the big reason that the EU allowed Oracle to keep MySQL during the acquisition was that Postgres exists.

  18. Eternity Calls by foobsr · · Score: 1

    a commitment to keep MySQL open for another four years

    If four years are rated a long time I wonder about the implications regards short term memory, assuming a universal scaling factor.

    CC.

    --
    TaijiQuan (Huang, 5 loosenings)
  19. forked: MariaDB is drop-in replacement for MySQL by KWTm · · Score: 1

    Mod parent up.

    --
    404555974007725459910684486621289147856453481154 in hex is "You sank my Battleship?"
    [GPG key in journal]
  20. EU by Anonymous Coward · · Score: 0

    ... EU extracted a commitment to keep MySQL open for another four years when it approved the Sun-Oracle merger.

    Communist socialist maoists! How dare they!

  21. One more reason to stick to PostgreSQL by Anonymous Coward · · Score: 1

    It's community owned.

    1. Re:One more reason to stick to PostgreSQL by aglider · · Score: 1

      And it's so much better than Oracle stuff, whatever you call it.

      --
      Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
  22. Does non-open = non-free? by Anonymous Coward · · Score: 0

    When it's not open in four years will that have anything to do with a full working version still being free?

  23. Re:Thet won't even keep it as closed, it'll be dum by Just+Brew+It! · · Score: 1

    If MySQL is still an important part of the FOSS ecosystem by then, interest will shift to MariaDB (or some other fork), and/or someone else will pick up the FOSS version of the MySQL codebase and maintain it. On the other hand, if the majority of the FOSS community is moving on anyway by that point (e.g. to PostgreSQL), then it won't matter if MySQL is "quietly forgotten about".

  24. Relax by ThatsNotPudding · · Score: 1

    You can trust Larry Ellison without question.

  25. mysql... by Anonymous Coward · · Score: 0

    has and always will will suck compared to alternatives such as postgres. I see no logical reason to use it.

  26. No program is an island by DragonHawk · · Score: 1

    The only people who get screwed are the people who signed up for the proprietary version up front.

    And, in theory, the only people who get screwed by Microsoft are those who signed up for Windows. But it turns out that if you have a large enough impact on the software ecosystem, you can make life miserable for those around you, even though your neighbors want nothing to do with you.

    (It works that way for actual ecosystems, too.)

    --

    dragonhawk@iname.microsoft.com
    I do not like Microsoft. Remove them from my email address.
    1. Re:No program is an island by Just+Brew+It! · · Score: 1

      I fail to see how the proprietary version of MySQL could ever have a large impact on the software ecosystem. The Open Source version will remain free now and forever (as a fork if necessary); there's an excellent FOSS alternative (PostgreSQL); users who are accustomed to paying for DBs will mostly continue to use MS SQL Server, the full-blown proprietary Oracle database product, or DB2 (possibly with a tiny minority of them jumping ship for the proprietary MySQL); and Oracle simply does not -- and will not, under any plausible scenario -- have anywhere near the sort of leverage Microsoft had back in the 1990s which allowed them to cram Windows down everyone's throats. The situation isn't even remotely comparable.

      While in general I wouldn't trust Oracle as far as I could throw a rackmount database server, it really seems to me that there is pretty much nothing they can do in this case to screw over anyone outside of their own paying MySQL customers. So IMO the take-home message is: Just say "no" to becoming a paying MySQL customer!

  27. Re:Thet won't even keep it as closed, it'll be dum by GauteL · · Score: 1

    "They have no good financial reason to support 2 seperate database systems. In those 4 years they'll simply migrate all their paying MySQL support customers to the Oracle DB and once thats done the MySQL codebase will no doubt be quietly forgotten about."

    I doubt that. MySQL is nowhere near as complete as Oracle, but on the other hand it is considerably simpler to deal with. Oracle will most likely keep MySQL as an "Oracle Light", which doesn't contain all the fancy enterprise features of Oracle, but is quick and easy to set up without donating your second kidney and practising voodoo, sacrificing live chickens and all.

    I doubt Oracle will think they have a good financial reason to support an open source database system, however, so MySQL will not remain open source beyond those 4 years (and several of those must have passed by now?).

  28. Re:Enjoy your crumbs. ...oh stop looking at the ca by pongo000 · · Score: 1

    If only I had mod points...

    You express a thought that is lost on so many here: It's the spirit of F/OSS that is being violated here. You nailed it on the head calling Oracle a "freerider," because that is exactly what they are doing, leeching off the work of others for their own gain (whether present or future).

    If any post sums up this what Oracle is doing wrong, the parent is it.

  29. Re:Thet won't even keep it as closed, it'll be dum by jedidiah · · Score: 1

    If you aren't interested in how well it performs, Oracle already isn't that hard to set up. It's not that expensive either.

    --
    A Pirate and a Puritan look the same on a balance sheet.
  30. Why You Should worry. by Stonefish · · Score: 1

    Oracle which now owns MySQL is a database vendor.
    MySQL has been a game changer in the database market offering for little or no cost a product which directly competes with Oracle offerings in some market segments.
    Improving MySQL scalability makes it compete in more market segments that before. This doesn't make sense
    Improving MySQL authentication options makes it compete directly with the Enterprise Edition of the Oracle DB
    Where is the benefit to Oracle in maintaining 2 competing database products? There is none.
    Unless you are willing to play the long game.
    Step one Gut hook the client, Oracle purchased MySQL for the customers, adopting an embrace and extend model binds customers to the product increasing cost associated with jumping ship. (Go on Oracle give those cigarettes out for free)
    Step 2 Develop an migration path between MySQL and Oracle, hey guys there's no pressure (Maybe a MySQL front end on Oracle?)
    Step 3 Migrate more components to a closed source model, ones that you really need
    Step 4 Force users onto the Oracle back end
    Step 5 Roll in cash and laugh

    1. Re:Why You Should worry. by BitZtream · · Score: 1

      MySQL has been a game changer in the database market offering for little or no cost a product which directly competes with Oracle offerings in some market segments.

      You're thinking of PostgreSQL. MySQL has never been competition for anything Oracle has been considered for. They are two completely different classes of software. Anyone who was considering Oracle and MySQL really needed nothing more than MySQL and should have never been considering Oracle. By acting like the two are in some sort of competition for the same customers, you pretty much show that you have no fucking clue what Oracle is for, how its used, or how it should be used. In short, by comparing MySQL and Oracle, all you've done is proven you don't know anything about MySQL, Oracle or databases in general.

      Step 2 Develop an migration path between MySQL and Oracle, hey guys there's no pressure (Maybe a MySQL front end on Oracle?)
      Step 3 Migrate more components to a closed source model, ones that you really need

      Again, you're thinking of PostgreSQL, not MySQL.

      There is nothing that MySQL has that you 'NEED' that every database product on the planet doesn't already have. I assure you that no feature of MySQL can't be emulated in Oracle, probably with more features.

      They'll have to add features to MySQL and then take them back away before you end up in that situation, and again, you'll just have to move to ANY OTHER database platform instead. Someone could just as easily add a mysql front end to any other database. MySQL doesn't support anything particularly impressive in its query syntax, most of it could literally be handled with a SED script, maybe a slightly more complex regexp if you use something that has to be emulated with subselects.

      Again, you guys don't freaking get it.

      MySQL USERS ARE NOT ORACLE USERS, they never will be. They are different use cases.

      You put important data in Oracle. You run your reports on backup copies of copious amounts of rows stored in a mysql database, and its data you can lose or recreate without being bothered.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    2. Re:Why You Should worry. by Anonymous Coward · · Score: 0

      Oracle also owns the Sleepycat database and sees MySQL having a different market than 11G or RAC. And nobody developed Facebook in their dorm room using RAC. Are the folks saying that Oracle can not have Oracle and MySQL to GM ans telling them to dump Chevy and Buick in favor of GMC? Do pizza's only come with one topping?

  31. This is another compelling reason for PG by Anonymous Coward · · Score: 0

    As you pointed out, both structural *and* content changes are often necessary in agile programming. PostgreSQL offers a great opportunity to ensure that your database remains consistent during version migration/evolution: you can combine your DDL and live data changes in a single transaction that can cleanly roll back.

    Let's say you are changing the schema of tables foo & qux and want to synthesize a new child table, bar, from some column data from foo + qux. After that you naturally want to inject FK's in foo & qux to link to the newly-created bar records. Of course, at this point you want to drop the now-redundant columns from foo & qux. No sweat: do it all in a single transaction in PG. It either goes or it doesn't. It will enforce all the triggers as well, so you are guaranteed that your new, NOT NULL FK columns are populated in all of foo & qux's records.

    I love this feature, because I would rather have a combined update blow up than to leave my app in a "half migrated", metastable state between the old and new form of the schema, as might happen if I had to do DDL first and then live data migration separately. Besides, if my schema migration fails transaction validation on "live data", then that means I missed a corner case in testing and I should stop to review what I overlooked to avoid stomping production data.

    Yes, you want these transactions to run non-interactively. With proper pre-flight testing you can get a very high confidence that your database evolution will "just work". However, it's nice knowing that if it *does* asplode the database won't have crapped itself and will merely roll back your pending DDL & live data changes.

  32. Instead you should panic, indeed. by aglider · · Score: 1

    Because you cannot ask the wolf to watch over your sheeps!

    --
    Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
  33. obligatory joke about typo by KingAlanI · · Score: 1

    sounds more like a 208 week strategy to me

    --
    I listen to both RIAA and non-RIAA stuff if I like the music, tangential business/politics nonwithstanding.
  34. Fair enough, & will do, because... by Anonymous Coward · · Score: 0

    Laughing @ U, Mr. "wannabe PhD" (no PhD to your name) = EZ 2 do!

  35. Answer: by BitZtream · · Score: 0

    Why You Shouldn't Panic About Closed Source MySQL Extensions

    Because anyone that mattered moved off of MySQL to PostgreSQL a long time ago?

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  36. No problem here. by sgt+scrub · · Score: 1

    I don't use MySQL. I use MariaDB. I've looked at Drizzle too. Drizzle is "for the cloud".

    For all practical purposes, MariaDB is a binary drop in replacement of the same MySQL version (for example MySQL 5.1 -> MariaDB 5.1, MariaDB 5.2 & MariaDB 5.3 are compatible. MySQL 5.5 will be compatible with MariaDB 5.5). http://kb.askmonty.org/en/mariadb-faq

    Please help fund MariaDB.

    --
    Having to work for a living is the root of all evil.
  37. FOR THE LOVE OF GOD MAN, POSTGRESQL by nemmi · · Score: 2

    After the release of Postgresql 9.x. MySQL has no place, period. MySQL can't even get UTF-8 right. Bug laden transaction support. TS engine? CRAP. Trash OO wannabe. If you do not need the features, then use mongo or couch. I don't know why anyone would use it knowing Postgresql exists.

    mysql = java = sun = oracle = trash

    1. Re:FOR THE LOVE OF GOD MAN, POSTGRESQL by Unequivocal · · Score: 1

      Love it - great post. I'm on this boat too. If your shit is so simple you just want a pile of data in a real fast container, use couch or mongo. If you want SQL b/c you need SQL use Pg. That is all.

  38. Re:Thet won't even keep it as closed, it'll be dum by M1FCJ · · Score: 1

    Humm, a typical Enterprise-level licence (four sockets, some cores) run to hundreds of thousands of pounds. RAC is an other 15k or so, and then add active dataguard for an other 5k or so. It racks up pretty quickly.
    Last year's enterprise licence was about £32k per licence and for a four-socket 6-core each server you'd require 12 enterprise licences. And then you would be insane not to have a second server with data guard or RAC.
    Just checked the US prices, (http://www.oracle.com/us/corporate/pricing/price-lists/index.html) and the processor licence is now $47.5k for US. For Intel/AMD, you multiply the cores you have by 0.5 to get the processor licence.
    For the server above, you'd require $570k per server. Of course you might be able to get some reduction in that. Once you count partitioning, Active data guard, advanced compression, total recall etc. etc., say byebye to your budget.

  39. MySql by Anonymous Coward · · Score: 0

    Its time for a new license in the open world. I propose a clause that says this code and any updates to it are to remain open no matter who new owners might become over time.
    Or words to that effect.

  40. Re:Thet won't even keep it as closed, it'll be dum by Anonymous Coward · · Score: 0

    They have no good financial reason to support 2 seperate database systems...

    They are supporting more than 2 database systems... TimesTen, Berkeley DB. No comment on how active the development and promotion and whether they will eventually dump them.

  41. Re:Enjoy your crumbs. ...oh stop looking at the ca by Unequivocal · · Score: 1

    Interesting. Possibly this is a case that demonstrates why BSD/MIT/Apache licenses are superior to GPL? When Oracle acquires a copyright title on a product such as MySQL released under GPL license, they can release closed source mods to the code and convert the community to a locked-in position, whereas no other player can do the same? Everyone but Oracle is "stuck" with a viral license now and so Oracle has a huge advantage in terms of controlling the community with proprietary extensions? Hmm.

  42. not a change by bugi · · Score: 1

    The proprietary extensions were there before, all the way back to mysql ab. You just had to pay for them before.

    From the article, they are enterprise monitor and enterprise backup. Backup at least has been reimplemented by percona as xtrabackup.

  43. Quite the contrary by ciaran_o_riordan · · Score: 1

    When a GPL'd project gets bought out, we can end up with one freerider: the purchaser.

    With BSD/MIT/Apache licences, we get lumped with unlimited freeriders, no purchase necessary. That's why companies who aren't interested in freedom put so much work into advocating those licences.

    1. Re:Quite the contrary by Unequivocal · · Score: 1

      So companies who create/sell GPL aren't trying to benefit from freeriding on GPL? Like SugarCRM, Compiere or "old MySQL?" My experience is that (some) GPL software is released by companies who want to specifically prevent other companies from horning in on their business by re-using their codebase in a competitive way (no one but the original rights holder can release proprietary extensions or resell the product under other licenses). Not to start and GPL/academic license debate - but can you point to some companies that release academic license OSS who have business models like SugarCRM or the "old MySQL?" What am I missing?

      Read this article to see how business-people see GPL: http://www.crmoutsiders.com/2010/07/15/some-thoughts-on-open-from-sugarcrm-ceo-larry-augustin/ -- GPL gives them a business model to keep others from selling the same thing that they sell to their customers (the core GPL version plus proprietary extensions).. Everyone else could only sell core GPL plus GPL extensions, and of course Sugar could reincorporate those gpl extensions into its core eliminating the competitor's differentiating features..

  44. Separate package in a separate repository by tepples · · Score: 1

    And, in theory, the only people who get screwed by Microsoft are those who signed up for Windows.

    I'd guess it's a lot harder for MySQL admins to avoid the proprietary components than for home PC users to avoid Windows. For example, the package manager for a server operating system based on CentOS or Debian is likely to put the non-free components in a separate package in a separate repository.