Beta

Slashdot: News for Nerds

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Oracle Releases MySQL 5.5

samzenpus posted more than 3 years ago | from the new-and-improved dept.

Oracle 263

darthcamaro writes "Two years after Sun released MySQL 5.1, Oracle has picked up the ball with the official release of MySQL 5.5. New features include semi-synchronous replication, InnoDB by default and new SIGNAL/RESIGNAL support for exception handling. Above all, Oracle stressed that they are committed to further MySQL open source development and that they see it as a complementary technology to their proprietary Oracle database."

cancel ×

263 comments

You have nothing to fear. (5, Insightful)

tautog (46259) | more than 3 years ago | (#34569250)

You can trust us. Honest.

Re:You have nothing to fear. (1)

RedACE7500 (904963) | more than 3 years ago | (#34569266)

It's the first good sign I've seen from Oracle since they announced they'd be aquiring Sun.

Re:You have nothing to fear. (2)

Anonymous Coward | more than 3 years ago | (#34569296)

Let me be the first to suggest an outlandish conspiracy theory then. Oracle will develop mysql until they sink Postgres, and then kill mysql too.

Mwahahahaha.

/ 1/3-serious

Re:You have nothing to fear. (1)

Gadget_Guy (627405) | more than 3 years ago | (#34569686)

1/3-serious

Which third of that was serious, because it is all 100% wrong. If Oracle improves MySQL, then great for them. But how could they possibly kill off two open source programs? They can't put the genie back in the bottle.

Re:You have nothing to fear. (5, Insightful)

Anonymous Coward | more than 3 years ago | (#34569968)

While I don't think Oracle views Postgres as threat in any definition of the term, they could hamper OS db field very easily, actually:

1. Over two or three years, Oracle can merge mysql into their Express edition. That'll basically require adding a mysql API onto it. They can probably do that over a few weeks, but why hurry?

When most users can download a compatible binary from Oracle, who'll care about the genuine "mysql", really? Especially given that mysql technologies are controlled by the same Oracle.

2. Over the same period, they can gradually kill the mysql trademark in favor of OracleSomething. Puff, mysql is gone.

3. You'll end up with a product that is mysql compatible, has Oracle features, and is usable "for free". By virtue of being an Oracle, it will compete well against Pg as well. Unlike Pg, it will also provide smooth migration path towards the slaughterhouse with all bells and whistles.

That may move some less ideological Pg users away, hurting Pg's acceptance and development long term.

So, the db landscape is left without mysql, and weakened Pg.

Not a compleat "kill", but close.

Re:You have nothing to fear. (-1, Troll)

eggstasy (458692) | more than 3 years ago | (#34570040)

Eh? I don't mean to troll or anything, but since when has Postgres NOT been dead? It's a bit of a niche. I've worked with more than one database over the course of my 10 year web development career, MS-SQL, Oracle, MySQL, but certainly NOT Postgres. I don't know a single person who has ever used it.
There's a reason why they put an M in LAMP, you know :P

Re:You have nothing to fear. (1)

mr_bubb (1171001) | more than 3 years ago | (#34570480)

Eh? I don't mean to troll or anything, but since when has Postgres NOT been dead? It's a bit of a niche. I've worked with more than one database over the course of my 10 year web development career, MS-SQL, Oracle, MySQL, but certainly NOT Postgres. I don't know a single person who has ever used it. There's a reason why they put an M in LAMP, you know :P

Well then, you're a retarded guy working with a bunch of mouth-breathers. Postgres is used plenty, by people who want a FOSS database with real features, good performance, and great reliability. MySQL is popular for the same reason that Windows is popular -- it's easy to get started with. But -- it's also a toy.

Re:You have nothing to fear. (1)

TooMuchToDo (882796) | more than 3 years ago | (#34570972)

PostgreSQL drives the .ORG DNS root.

Re:You have nothing to fear. (4, Interesting)

erroneus (253617) | more than 3 years ago | (#34569478)

I am simply not so optimistic. I am extremely wary of what Oracle will do. Sun was a positive. Oracle is a negative. I think by now, they are feeling the backlash of their previous missteps but that does not mean they have learned their lesson. If there's one thing I know about this type of business and that type of businessman is that once they set their mind on something, they are going to do it whether or not it is in their best interests. What they will do is back off, slow down or approach the end result from another direction. In the end, it will be the same.

OpenOffice.org will become something we don't want. MySQL will be used as a tool until it manages to kill the competition and it will get dropped. Java is already getting screwed up and over. VirtualBox? I'm afraid to even think about it... I love VirtualBox. I used to pirate VMWare Workstation, but I simply like VB better. I don't want to switch back.

I don't like Oracle. I never did. It will take some REALLY surprising things for Oracle to change my mind about them and I seriously doubt they are interested in what I think of them.

Re:You have nothing to fear. (1)

alvinrod (889928) | more than 3 years ago | (#34569524)

So what? At ever step of the way it still be open source. If you don't like what they're doing and want to change it, make a fork. If the community agrees with you, they'll gravitate towards your version. If not, you'll parish into obscurity. That's the beauty of open source, it let's you do what you want; but it also means you need to put up or shut up. You can't have open access and complete freedom to freely change things, but still whine about what someone else is doing with the project.

Re:You have nothing to fear. (2)

erroneus (253617) | more than 3 years ago | (#34569592)

It's seriously not that simple. It takes a lot more than community agreement to defeat the power of a name. A name is an extremely powerful asset. Please learn at least that much about business. People are stupid because they believe so heavily in names and branding but knowing it changes nothing at all.

Hell, it took a huge effort just to get Linux distros off of XFree86 and that's not even as well known as MySQL which is now the famous and irreplaceable "M" in LAMP. There is already a fork of MySQL out there. Are people using it? Not really, no. It will take an act similar to that which occurred with XFree86->X.org for the landscape of MySQL dominance to change. And even then, I have my doubts as Oracle's influence runs far and deep in the corporate mind. They would be able to influence RedHat and others into not moving away from MySQL or at least into not supporting a fork of it.

Re:You have nothing to fear. (1)

h4rr4r (612664) | more than 3 years ago | (#34569630)

Postgres.

Any other questions you have?

Re:You have nothing to fear. (5, Informative)

tepples (727027) | more than 3 years ago | (#34569858)

Postgres.

Any other questions you have?

Here's one: how to adapt LAMP applications that depend on behaviors of MySQL.

Re:You have nothing to fear. (1)

cinderellamanson (1850702) | more than 3 years ago | (#34570584)

it's that staple of the industry known as porting, incidentally one of the many options available when you have the source code.

Re:You have nothing to fear. (1)

arth1 (260657) | more than 3 years ago | (#34570620)

There are plenty of closed source apps that only support a few select databases, usually Oracle, MSSQL and mysql. And plenty of open source ones too, and with no-one with time, knowledge, skills and interest enough to do a port.

In the corporate world, you don't always get to choose your software, but have to work with existing dependencies. postgresql is simply not an option when business critical systems don't support it.

Re:You have nothing to fear. (1)

cinderellamanson (1850702) | more than 3 years ago | (#34571014)

well to be fair, Oracle has owned innodb and berkeley db for some time now. if oracle wanted to kill mysql - pulling innodb would have worked for anyone who gives a shit about ACID compliance, but wait you say, Oracle just made innodb the default storage engine? No-fucking-way, is that progress? Who knows right? Here's what I would do to keep tabs on it. Try keeping a live copy of MariaDB around for testing purposes, you can easily use this as a way gauge Oracle's motives vs their actions. Perhaps Oracle was just really insulted by the notion of being PWND by a networked version of Access. Sorry, but I don't feel terrbly bad for the guys at MySQL, because their business practices never seemed that far off from the licensing cons MS and Oracle were always criticized for. I mean why was MySQL substandard by default anyways? Couldn't be consulting fees could it?

And Sun Microsystems was essentially to the dot com bubble the same thing our failed banks were to credit default swaps, with the possible difference that Sun may have been true believers, but it's pretty crazy to think that Oracle's sole purpose in buying Sun was to murder java, I know that's not what you said, but it's often used as an example against oracle. Double plus plus - how embarrassing would it be to buy this stuff, try to kill it and watch it ooze out from beneath your claws, an ego maniac like Ellison should fear that sort of defeat more than death itself. Seriously, I would like to know what Oracle has done to destroy this thing? It's got to be more conclusive than adding ACID compliance by default, because, as someone who detests bullshit, I find this to be a good thing.

Windows kernel-mode code signing (5, Informative)

tepples (727027) | more than 3 years ago | (#34569874)

VirtualBox? I'm afraid to even think about it... I love VirtualBox.

At ever step of the way it still be open source. If you don't like what they're doing and want to change it, make a fork.

Some virtualization features, such as USB forwarding, require kernel-mode device drivers. On 64-bit Windows Vista and 64-bit Windows 7 operating systems, all kernel-mode device drivers must be digitally signed with a timestamp from a commmercial certificate authority recognized by Microsoft. If you add your own self-signed CA, you get the always-on-top notice "Test Mode" in all four corners of the screen. Unless you are forking on behalf of an established organization that already has a kernel-mode code signing certificate, the advantage of the official version over your fork is that the end user doesn't have to throw his computer into "Test Mode". The only way out that I can see is to run GNU/Linux on the bare hardware, and that brings hardware compatibility issues that I don't feel like bringing up yet again.

Re:You have nothing to fear. (0)

zero0ne (1309517) | more than 3 years ago | (#34570572)

Time to go buy a copy of VMware workstation, I think its something like $189 bucks these days?
(I personally like VMware's snapshots and full screen modes much more refined compared to virtualbox.

Re:You have nothing to fear. (1)

pinkushun (1467193) | more than 3 years ago | (#34570896)

Yup. Perhaps Oracle is somewhat penitent and trying to regain trust with the Open Source Community. The sad part is we can't be 100% (or even 50%) sure their intentions are good. That would be nice though!

Addendum for those who don't know: LibreOffice [documentfoundation.org] is the new OpenOffice.

Re:You have nothing to fear. (1)

dsmithhfx (1772254) | more than 3 years ago | (#34569702)

Um, yeah, actually, Oracle is simply carrying out Sun's strategy of attempting to monetize various 'opensauce' offerings, which, if you read the fine print... Oh hang on, you thought Sun was just kidding? We may hate Oracle for acting on Sun's edicts, and I personally wish them ill will, but hardly new, or surprising.

Re:You have nothing to fear. (4, Insightful)

davecb (6526) | more than 3 years ago | (#34569746)

MySQL is a way to take market share away from MS Sql, and Access. It will be valuable to Oracle until MS dies.

--dave

Re:You have nothing to fear. (4, Insightful)

tepples (727027) | more than 3 years ago | (#34569896)

MySQL is a way to take market share away from MS Sql, and Access.

Microsoft Access is more than just Jet or MSDE; it is also a scriptable GUI framework for accessing databases. What is the direct counterpart of Access that uses MySQL?

Re:You have nothing to fear. (-1)

Anonymous Coward | more than 3 years ago | (#34570060)

php. If you care about GUI make a real app.

Re:You have nothing to fear. (0)

Anonymous Coward | more than 3 years ago | (#34570098)

Microsoft Access is more than just Jet or MSDE; it is also a scriptable GUI framework for accessing databases. What is the direct counterpart of Access that uses MySQL?

The Web.

Re:You have nothing to fear. (0)

Anonymous Coward | more than 3 years ago | (#34570814)

What is the direct counterpart of Access that uses MySQL?

Crystal Reports (Business Objects)

From the article.... (4, Insightful)

Pharmboy (216950) | more than 3 years ago | (#34569260)

From the article: There were concerns about how the open source database would fare under Oracle's leadership, but those concerns are now being put to rest by Oracle with the release of MySQL 5.5

Um, no, not all concerns are put to rest. This was a pretty fluffy piece of journalism, just quotes and feel good words. I'm glad that MySQL has moved up a notch, but I'm still looking really hard at PostgreSQL as a possibility in the long run.

Re:From the article.... (1, Interesting)

tomhudson (43916) | more than 3 years ago | (#34569344)

Until PostgreSQL gets ON DUPLICATE KEY support, it's off the table (pardon the pun). ON DUPLICATE KEY is just so handy, and solves so many problems, that it's amazing most people aren't using it.

And no, creating a function to handle it as an exception is not a real solution.

-- Barbie

Re:From the article.... (1)

corsec67 (627446) | more than 3 years ago | (#34569408)

Unless you are trying to do anything that involves subqueries. Hopefully they fixed it, but subqueries couldn't be used in views, and would often be executed slower than running the queries separately and typing the answers from one query into another.

Also taking the silent data truncation errors, MySQL isn't exactly a highly reliable database.

Re:From the article.... (1)

Anonymous Coward | more than 3 years ago | (#34569574)

Heh, and I came here to warn the AP about Postgres' total lack of MySQL's silent truncation feature.

Re:From the article.... (1)

tepples (727027) | more than 3 years ago | (#34569918)

I develop LAMP based retail warehouse automation software at work. I've generally used a workaround of realizing subqueries in temporary tables.

Re:From the article.... (2)

nxtw (866177) | more than 3 years ago | (#34569432)

Until PostgreSQL gets ON DUPLICATE KEY support, it's off the table (pardon the pun). ON DUPLICATE KEY is just so handy, and solves so many problems, that it's amazing most people aren't using it.
And no, creating a function to handle it as an exception is not a real solution.

Depending on an inferior database for a trivial feature creates more problems than it solves.

If insert or replace with a single SQL statement is such an important feature, you could make a stored procedure.

Re:From the article.... (3, Interesting)

tomhudson (43916) | more than 3 years ago | (#34569492)

As I pointed out, this is something that is so OBVIOUS in retrospect that it's a wonder other database products haven't gotten around to implementing it.

I know it's fashionable to rag on Oracle nowadays, but we've seen this with Sun as well - where one hand doesn't know exactly what the other is doing, or parts act in conflict.

MySQL has the features I want, including ON DUPLICATE KEY. When pgsql has it, I'll certainly look at it, but unless things change, why bother?

-- Barbie

Re:From the article.... (2)

nxtw (866177) | more than 3 years ago | (#34569560)

MySQL has the features I want, including ON DUPLICATE KEY. When pgsql has it, I'll certainly look at it, but unless things change, why bother?

So you don't want data integrity? ACID?

Re:From the article.... (3, Funny)

tomhudson (43916) | more than 3 years ago | (#34569668)

If I absolutely needed 100% data integrity, I'd write my own server. And I certainly wouldn't use SQL.

Re:From the article.... (0)

nxtw (866177) | more than 3 years ago | (#34569784)

If I absolutely needed 100% data integrity, I'd write my own server. And I certainly wouldn't use SQL.

You think you're smarter than the people working on PostgreSQL, Oracle DB, and other databases (SQL relational or otherwise) known for their ACID properties?

You think writing your own server will provide 100% data integrity?

Re:From the article.... (3, Interesting)

tomhudson (43916) | more than 3 years ago | (#34569852)

If I absolutely needed 100% data integrity, I'd write my own server. And I certainly wouldn't use SQL.

You think you're smarter than the people working on PostgreSQL, Oracle DB, and other databases (SQL relational or otherwise) known for their ACID properties?

You think writing your own server will provide 100% data integrity?

First, if I wouldn't need to implement all the features - just the ones I want, the job would be a lot simpler.

And yes, I *have* written multi-threaded servers - in c - and they run for months at a time without losing one byte of memory, and without having to kill off threads to reclaim memory lost from leaks.

So yes, if I had to, and someone was willing to pay for it, I could write a server to do a specific job, which is not the same as writing a general-purpose rdbms.

But that's neither here nor there - mysql is good enough for many tasks, so I use it.

Re:From the article.... (5, Funny)

Anonymous Coward | more than 3 years ago | (#34570258)

Hey, I've written multithreaded servers that have run for months without leaking as well. That's got fuck-all to do with data integrity as a general concept, but I was hoping we could jerk each other off for a little while since you seem to be in a self-congratulatory mood.

Re:From the article.... (-1)

Anonymous Coward | more than 3 years ago | (#34570320)

You're an arrogant fool. You have no prayer of "100% data integrity" with anything you write -- you're not smart enough.

Re:From the article.... (1)

Pax the Evil (1959874) | more than 3 years ago | (#34570640)

You think that's air you're breathing? :-)

Re:From the article.... (0)

Anonymous Coward | more than 3 years ago | (#34569920)

If I absolutely needed 100% data integrity, I'd write my own server.

Yes. After all, what could possibly go wrong?

Re:From the article.... (1, Flamebait)

afabbro (33948) | more than 3 years ago | (#34570408)

If I absolutely needed 100% data integrity, I'd write my own server. And I certainly wouldn't use SQL.

....and your credibility just flew out the window. Data integrity is the mission of SQL relational databases and has been developed with that in mind for nearly 40 years.

No doubt, something you whip up in your basement will be much better...

Re:From the article.... (1)

mr_bubb (1171001) | more than 3 years ago | (#34570512)

Jesus -- you're a rank combination of naivety, arrogance, and ignorance. I hope you're not working on anything life-essential. What a jerkoff.

Re:From the article.... (1)

Estanislao Martnez (203477) | more than 3 years ago | (#34570086)

As I pointed out, this is something that is so OBVIOUS in retrospect that it's a wonder other database products haven't gotten around to implementing it.

Um, SQL Server 2009 and Oracle have the MERGE statement, which is a SQL 2003 standards, and sounds like it is exactly what "ON DUPLICATE KEY" is from my quick Googling.

MySQL has the features I want, including ON DUPLICATE KEY. When pgsql has it, I'll certainly look at it, but unless things change, why bother?

Because you probably need a lot of things that you don't know enough about to want.

Re:From the article.... (2, Interesting)

Anonymous Coward | more than 3 years ago | (#34569494)

Or either MySQL or PostgreSQL could implement support for SQL:2008 MERGE syntax which is the appropriate method for handling this scenario, as well as countless others.

http://en.wikipedia.org/wiki/Merge_(SQL) [wikipedia.org]

Re:From the article.... (1)

rubycodez (864176) | more than 3 years ago | (#34569536)

that's because it isn't needed, the equivalent operations can be done in any SQL compliant database (or for that matter in ISAM and VSAM systems too)

you're wanting to use a less robust dbms because of your laziness.

Re:From the article.... (3, Insightful)

tomhudson (43916) | more than 3 years ago | (#34569656)

that's because it isn't needed, the equivalent operations can be done in any SQL compliant database (or for that matter in ISAM and VSAM systems too)

you're wanting to use a less robust dbms because of your laziness.

Don't be silly. Sure, there are other ways to do it, but why should I when it "just works" and is easy to explain to others?

I don't need 100% sql compliance. I need something that does certain things well. Sorry, but postgresql lags in that area.

You can try to turn this into another vi vs emacs war, but I'm just not interested. I'll continue to use the right too for the job, based on the features *I* need, not some ideological nonsense.

-- Barbie

Re:From the article.... (2)

h4rr4r (612664) | more than 3 years ago | (#34569684)

Yeah Postgresql trades BS features for reliability and data integrity, clearly just like vim vs emacs. Oh wait no not at all.

Re:From the article.... (2, Informative)

tomhudson (43916) | more than 3 years ago | (#34569770)

When's the last time you lost data with mysql that was directly attributable to the database, and not to a messed-up query or a hardware or network problem?

To hear everyone going on so much, you'd think that you couldn't even run a web site with it.

Obviously that's not the case, so a LOT of the complaining is just nonsense, same as the vi vs emacs jihads.

-- Barbie

Re:From the article.... (5, Funny)

nxtw (866177) | more than 3 years ago | (#34569800)

When's the last time you lost data with mysql that was directly attributable to the database, and not to a messed-up query or a hardware or network problem?

On 0000-00-00 00:00:00, of course.

Re:From the article.... (0)

Sxooter (29722) | more than 3 years ago | (#34570238)

Zing! Hole in one!

Re:From the article.... (1)

rubycodez (864176) | more than 3 years ago | (#34570494)

I've been a developer and admin on both over the last ten years, two horrendous crashes losing mission critical data with mysql and none yet with postgresql.

mysql is ok for but I wouldn't build back end for say a medical insurance EDI system on it as I have recently with 18 month project on postgresql 7.3.10

Re:From the article.... (1)

Pax the Evil (1959874) | more than 3 years ago | (#34570678)

A decent DBMS will _not_ be affected by network or hardware problems.

Possible to emulate via temporary tables (1)

Steeltoe (98226) | more than 3 years ago | (#34569586)

You can create a temporary table, fill it up with rows of data and:
1) INSERT rows not existing from temporary table
2) UPDATE from temporary table unless INSERT affected all rows
Ensure you drop temporary table at last.

If you suspect UPDATE is necessary, you may do #2 first to save on the number of updated rows.
If you supect UPDATE is not necessary, do #1 first like shown above. If you're paranoid, you may raise exception if UPDATE becomes necessary.
You may find variations which may be more efficient or simpler, but this works for me at least.

It may not be native support, and not fully optimized regarding the last update in some situations.
However, it's incredibly fast because it's using memory to cache the processing, and then sending everything off to the DB in bulk, saving on I/O and locking mechanisms.
I've got performance from this comparable to the most aggressive nosql database solutions, with the benefits of RDBMS intact.

I've switched to Postgres and am not looking back at mysql. The default install even failed the second time, which made me go to Postgres and be done with it.

Temporary tables give alot of possibilities to speed up and perform bulk-processing directly with the DB.
I'm surprised it's not used very much. Postgres has been a pleasant surprise as well, coming from an Oracle-laden background.

Re:Possible to emulate via temporary tables (-1, Flamebait)

tomhudson (43916) | more than 3 years ago | (#34569748)

You can create a temporary table, fill it up with rows of data and: 1) INSERT rows not existing from temporary table 2) UPDATE from temporary table unless INSERT affected all rows Ensure you drop temporary table at last.

If you suspect UPDATE is necessary, you may do #2 first to save on the number of updated rows. If you supect UPDATE is not necessary, do #1 first like shown above. If you're paranoid, you may raise exception if UPDATE becomes necessary. You may find variations which may be more efficient or simpler, but this works for me at least.

It may not be native support, and not fully optimized regarding the last update in some situations. However, it's incredibly fast because it's using memory to cache the processing, and then sending everything off to the DB in bulk, saving on I/O and locking mechanisms. I've got performance from this comparable to the most aggressive nosql database solutions, with the benefits of RDBMS intact.

I've switched to Postgres and am not looking back at mysql. The default install even failed the second time, which made me go to Postgres and be done with it.

Temporary tables give alot of possibilities to speed up and perform bulk-processing directly with the DB. I'm surprised it's not used very much. Postgres has been a pleasant surprise as well, coming from an Oracle-laden background.

Why?

Really, why?

"Oh don't use mysql Oracle is evil blah blah blah do it this way instead even if it takes 4x as much code".

Yes, Oracle has done some stupid things. If you have forgotten, so had Sun. It's amazing how selective our memories have become - Sun is now seen as a candidate for canonization. Sheesh!

For now, there's no reason to switch. Maybe some day in the future, but for now mysql does what I want^Wneed.

It's a database, not the second coming ... but from the hostility around it lately, you'd think it was my666sql.

If we refuse en mass to engage with Oracle, they have no reason whatsoever to even try to work with the F/LOSS community. Is that what everyone wants?

-- Barbie

Re:Possible to emulate via temporary tables (3, Insightful)

nxtw (866177) | more than 3 years ago | (#34569856)

Yes, Oracle has done some stupid things. If you have forgotten, so had Sun. It's amazing how selective our memories have become - Sun is now seen as a candidate for canonization. Sheesh!

The comment you replied to criticized MySQL purely on technical grounds, not because they were owned by Oracle... Indeed, the technical complaints made against MySQL mostly do not apply to Oracle DB.

Re:Possible to emulate via temporary tables (1)

Steeltoe (98226) | more than 3 years ago | (#34570002)

I can't see I critized anything much. I may have mentioned the mysql-install failed on me at the second attempt, and made me ditch it.

But thanks for standing up anyways :)

Re:Possible to emulate via temporary tables (1)

Steeltoe (98226) | more than 3 years ago | (#34570182)

"Oh don't use mysql Oracle is evil blah blah blah do it this way instead even if it takes 4x as much code".

Nice bunch of strawmen you've got there, but I fail to see I wrote those words you're putting into my mouth.

4x the code? I assume you've heard of classes and methods? Having extended ActiveRecord in Ruby, mass updating in this fashion is a tiny one-liner, just sending an array off to a function-call, and the data is merged into the DB very efficiently, regardless of column names and wether each row should be inserted or updated. I must admit, there are rare occations where that is really necessary, but it really came in handy in my latest project.

Using ActiveRecord, I don't really care much what database I'm using. Can switch to Oracle, Mysql and a bunch of others with almost no change in code. If mysql had installed properly, I would probably have used that, since that's what I'm most familiar with.

If you haven't used ActiveRecord, and coding SQLs by hand, I'd say you're missing out. My latest project would've been an endless spagetthi of SQLs if not for ActiveRecord in Ruby. It has saved me so much time and simplified my code tremendously.

Other than that, I don't care much about where Oracle is going with mysql. It will have to continue on its own merits. If mysql fits your bill, please continue to use it. One more choice is always good.

Please take my words for how they are meant: A solution to the UPDATE OR INSERT-issue on Postgres, and any database supporting temporary tables, including mysql. It's a solution that can speed up bulk updates by an order of magnitude or two. Especially rather than doing individual updates and inserts.

For smaller projects though, maybe this will be overkill, or maybe someone will release the code for everyone, even smallies, to benefit. I could also do that, but would rather not maintain a more universal version. It's quite easy to implement in ie. Activerecord anyways. There'some similar code online to start from in Ruby already published on some blog.

I've been working for this project for over a year, so for me this has been of great value and help to me. So I wished to share, that's all.

Re:Possible to emulate via temporary tables (2)

afabbro (33948) | more than 3 years ago | (#34570432)

Using ActiveRecord, I don't really care much what database I'm using.

Or what performance you get?

Database-independent applications are always a mistake. Always. Oracle functions differently than SQL Server which functions differently than MySQL. If your app is written not to care what database you're using, then your app is either trivial or broken.

Re:From the article.... (0)

Anonymous Coward | more than 3 years ago | (#34570036)

Until PostgreSQL gets ON DUPLICATE KEY support, it's off the table (pardon the pun). ON DUPLICATE KEY is just so handy, and solves so many problems, that it's amazing most people aren't using it.

And no, creating a function to handle it as an exception is not a real solution.

-- Barbie

I don't have a religious affiliation with my database. I started on MySQL, but switched to Postgres because MySQL lacks deferred foreign key constraints. Real world example: Model a city<-->state relationship where every city must have a state. Now, require that every state have a capital city. Now, enable foreign key constraints. Oops, we just broke MySQL.

Postgres can handle that. That's why I switched. MySQL might have a few 'handy' features, but until it can properly enforce database integrity, I'm not really interested.

Re:From the article.... (1)

tomhudson (43916) | more than 3 years ago | (#34570514)

I started on MySQL, but switched to Postgres because MySQL lacks deferred foreign key constraints. Real world example: Model a city<-->state relationship where every city must have a state. Now, require that every state have a capital city. Now, enable foreign key constraints. Oops, we just broke MySQL.

Just a quick observation: Your model is already broken. Even in the U.S., not every city has a state, and neither does every capital.

-- Barbie

Re:From the article.... (3, Interesting)

Bacon Bits (926911) | more than 3 years ago | (#34570108)

The ANSI SQL standard way to do this is to create "INSTEAD OF" triggers, which means you're permanently modifying how INSERT works on a given table. ON DUPLICATE KEY means the behavior of the DB ("On INSERT do I error or UPDATE?") is dictated by the query and not the DB schema. That's sloppy. If Bob writes an application that uses the same database as Alice, now he has to use ON DUPLICATE KEY in order to ensure consistent behavior. That's awful.

Re:From the article.... (4, Interesting)

Sxooter (29722) | more than 3 years ago | (#34570264)

No, the ANSI SQL way to do this is to use MERGE. Unfortunately, pgsql doesn't support that yet. It's on the todo list so I'm sure if someone got out their checkbook and wrote the pg developers a check we'd see it soon enough.

Re:From the article.... (0)

Anonymous Coward | more than 3 years ago | (#34570276)

In Postgres, you can create rewrite rules and triggers in a transaction. No permanence or global scope there.

As of 2008 however, the standard way to do it is MERGE, but neither mysql nor postgres support it. I actually prefer ON DUPLICATE KEY -- or better yet sqlite's syntax of ON CONFLICT -- since it feels more orthogonal and mimics the syntax of foreign key constraints nicely. It's not enough to get me to use mysql though.

Re:From the article.... (2)

Billly Gates (198444) | more than 3 years ago | (#34570364)

Name one ISP where I can get a PostgreSQL database with my account without getting my own server?

Until that day happens it is Mysql only for me.

Please someone patch PostgreSQL to handle multiple user accounts so ISPs can switch? That is the only thing holding it back and why ISPs include MySQL

Re:From the article.... (1)

Anonymous Coward | more than 3 years ago | (#34570908)

What. On December 14, 2009 (kinda like 1 year ago), Oracle said they would maintain MySQL just as nicely as Sun and et. al. December 15, 2010 (kinda like today), out comes a brand spanking new version of MySQL. Unlike mysql-5.1.53, 5.5.8 NO LONGER SUPPORTS GNU TOOLS. ./configure is gone. So if you want to add in little nicities like --prefix=$MYSQLHOME --with-unix-socket-path=/var/run/mysqld/mysql.sock --enable-thread-safe-client --enable-shared --with-mcrypt=$SCRIPTDIR/apx/mcrypt-* ....then you can't anymore. Its been 1 year. They played nice for 1 year. We got one year. Now the lockdown begins. Now the incompatibilities begin. Now the slow-ness and smaller maximum table sizes and all the rest begins. We knew this day would come. Its not like anyone who could fog a mirror couldn't see this coming. Today I made the switch to another database management system. It starts with GNU autotools being stripped out, then you need proprietary libraries to build it (or use the binary), then you need proprietary libraries anyway, then you just have to register for the proprietary libraries. Suddenly the proprietary libraries are behind a paywall. Finally, you are strongly encouraged to use their main product, and forget you ever heard of MySQL.

"complementary"... (1)

Anonymous Coward | more than 3 years ago | (#34569268)

In the sense of the price is being brought in line with Oracle's traditional products (MySQL starts at $2000 a server now).

https://shop.oracle.com/pls/ostore/f?p=ostore:2:0::NO:RP,2:PROD_HIER_ID:58095029061520477171389 [oracle.com]

Re:"complementary"... (-1)

Anonymous Coward | more than 3 years ago | (#34569436)

I am sexually aroused "of" Bill Gates.

Whenever I'm whacking it, I always call out his name "at the crucial moment", and I often use pictures of him in his trademark Mr. Rogers sweater to stimulate me and "Mr. Happy,"

It's gotten so bad whenever I boot up my XP laptop, the "Windows jingle" gives me a stiffy, and I am often driven to polish the porpoise in inappropriate locations from seeing the Windows logo.

Surprisingly, it hasn't caused problems with my girlfriend. Luckily her name is Kate so when I howl "Gates" at "happy time", I can usually explain it away.

Anyway, I'm thinking I'm probably not the only one with this problem...

Anybody else want to fess up?

speechless (1)

unity100 (970058) | more than 3 years ago | (#34569694)

noone will be able to confess anything after your mind-stunning confession about feeling the urge to polish your porpoise in in appropriate locations due to windows logo

The thing is, Oracle still owns it. (2, Insightful)

Nefarious Wheel (628136) | more than 3 years ago | (#34569332)

The thing is, Oracle still owns it. Or at least as much as Sun owned it. GPL to the contrary nonwithstanding, who (among the open source community) is going to want to update MySQL, now that it's in Oracle's hands?

The popular euphemism for that arrangement is "A mature technology".

Well, maybe it is. But Oracle's product acquisition is like product punctuation, full stop.

Re:The thing is, Oracle still owns it. (4)

gman003 (1693318) | more than 3 years ago | (#34569672)

MySQL is still just as good as it was under Sun. If you don't like whatever changes Oracle makes, fork it. Make your own. Call it LibreSQL if you wish. Until I hear of Oracle actually doing something bad to MySQL, I'm going to keep using it.

Re:The thing is, Oracle still owns it. (4, Insightful)

h4rr4r (612664) | more than 3 years ago | (#34569698)

I would suggest planning ahead, based on their track record it sure seems like you might one day need to go some place else.

Re:The thing is, Oracle still owns it. (2)

adolf (21054) | more than 3 years ago | (#34570116)

I'd like to suggest that, based on the track record of open-source stuff it sure seems like a fork will happen whenever it is deemed necessary.

Re:The thing is, Oracle still owns it. (1)

tsalmark (1265778) | more than 3 years ago | (#34570142)

Planning ahead: If Oracle does something evil: a. stop upgrading. b. either fork and modify or support someone who does.

Re:The thing is, Oracle still owns it. (0)

Anonymous Coward | more than 3 years ago | (#34569764)

MySQL is still just as good as it was under Sun. If you don't like whatever changes Oracle makes, fork it. Make your own.

My sentiments exactly - Fork it is right! Just fork it all, Goddammit! I'm tired of all this shut, corporation games, internal F/OSS squabbling, the irrational hatred, turf wars, fanboy fanaticism, the whole shut'n kaboodle! Some of these forking iceholes spoiling it all for everyone! Somma batches! Mardar forking iceholes!

Fork it all to Hell!

Fork'n A!

Yurs,

Tony Moroni

Re:The thing is, Oracle still owns it. (2)

syousef (465911) | more than 3 years ago | (#34570212)

MySQL is still just as good as it was under Sun. If you don't like whatever changes Oracle makes, fork it. Make your own. Call it LibreSQL if you wish. Until I hear of Oracle actually doing something bad to MySQL, I'm going to keep using it.

If you don't like your life, fork it! Grow wings and fly away to an island paradise.

For most people, and by that I mean 99.9999% the above is a hell of a lot more realistic a suggestion than forking a codebase like MySQL

Re:The thing is, Oracle still owns it. (1)

Anonymous Coward | more than 3 years ago | (#34570324)

Well sparky, with this release, they got rid of GNU autotools. Where you used to have a ./configure with a long line of parameters and magic and wonder built in, now you have a generic box. Hope it does what you want it to! Next, (ok this one wasn't that hard to follow), Support for the IBMDB2I storage engine has been removed (from the horses mouth). MariaDB was looking better before. Now its looking better and better. The MariaDB team doesn't have Oracles mega bux, but on the other hand, they aren't trying to kill anything either. I've been down this road before. With a team, I built a database application for a client. They didn't have a lot of money, but FoxSoft had a nice database at the time, and we built what they were looking for. 3 months after delivery, Microsoft acquired FoxSoft. They wouldn't kill it in favor of MSSQL would they? YOU BET! Instead of being able to access 2 billion records, the new microsoft version was suddenly only good for 75000. And it was slow. And half the functionality was stripped out. I'm glad the fork has already happened. 5.1.53 is the last version of Mysql that I use. Oracle has already started screwing it over (and us). Its true, I'm not paying them any money. Its also true that I'm not going to use any of their products again.

Re:The thing is, Oracle still owns it. (0)

Anonymous Coward | more than 3 years ago | (#34570550)

but oracle might sue you for patent infringement...?

Re:The thing is, Oracle still owns it. (0)

Anonymous Coward | more than 3 years ago | (#34569788)

"who (among the open source community) is going to want to update MySQL, now that it's in Oracle's hands?"

Stick a fork in it.

Re:The thing is, Oracle still owns it. (0)

Anonymous Coward | more than 3 years ago | (#34569978)

It is in their interest to keep it going minimally. If they fuck it up or cease support the community will just branch it and the branch will become popular and whatever sun "owns" becomes a joke. There also means better competition and less $$$ for them, so they will keep mysql on life support as long as possible.

/. reporting quality is on life support (0)

Anonymous Coward | more than 3 years ago | (#34569400)

Would somebody please pull the plug.

OpenSolaris? (1)

Anonymous Coward | more than 3 years ago | (#34569444)

Don't believe anything Oracle says about open source support.

They killed OpenSolaris this year. I run zfs boxes in various setups, yes the path to OpenIndiana is clear, but its not fully up yet which creates a bug fix issue today. Oracle killed OpenSolaris after people waited 1 year for the next stable release which was delayed and delayed and delay.

Oracle will slowly kill mySql now, just wait. So start to look into migration options today.

Yeah right. (4, Funny)

Arancaytar (966377) | more than 3 years ago | (#34569520)

Oracle is absolutely and steadfastly committed to Open Source, as seen from their admirable interaction with the OpenOffice.org and Java communities.

Why not Firebird? (4, Insightful)

spynode (1377809) | more than 3 years ago | (#34569606)

Nobody seems to mention Firebird which is supposedly on hell of a RDBMS. I wonder why it is so unpopular while it offers so much.

Re:Why not Firebird? (1)

rschmitz2010 (1959792) | more than 3 years ago | (#34569710)

The reason MySQL is so popular is that it is supported in almost every "open source application" that needs a database on the backend. Whenever I come across a product that requires a DB it is usually mysql > then PostgreSQL > then Oracle > then whatever. Look at Drupal, OTRS, moodle, alfresco, Nuxeo or other CMSes, CRM, etc. Look at the install requirements. They usual mention the DB support in this order.

Shared web hosting (1)

tepples (727027) | more than 3 years ago | (#34569944)

And a big reason that MySQL is supported by more web applications than PostgreSQL is because more web hosting companies offer MySQL than PostgreSQL. A lot of hosting companies, such as Go Daddy, require customers who want PostgreSQL to upgrade from shared hosting to a more expensive virtual dedicated server.

Re:Shared web hosting (2)

tsalmark (1265778) | more than 3 years ago | (#34570166)

That and MySQL can be used with little or no knowledge other than how to write basic sql statements. PostgreSQL expects just a little bit more, more than many web "experts" have.

So, what you're saying is ... (1)

Pax the Evil (1959874) | more than 3 years ago | (#34570614)

... that MySQL is the "Microsoft Access" of the FOSS world?

Re:Why not Firebird? (4, Interesting)

Bacon Bits (926911) | more than 3 years ago | (#34570078)

Pretty easy really.

1) It was originally an embedded or server-less DBMS. That instantly makes devs think "Oh Lord, it's Access!"
2) It had a large number of security problems at one point (pre v2 era) in the past that went un-addressed for entirely too long.
3) It uses Interbase Public License (a modified Mozilla Public License) that is not compatible with the GPL... that's really, really bad for an Open Source embedded-style DB.

It's gotten leaps and bounds better since early versions, but it's never really beaten the early reputation, IMO.

Re:Why not Firebird? (1)

afabbro (33948) | more than 3 years ago | (#34570446)

Nobody seems to mention Firebird which is supposedly on hell of a RDBMS. I wonder why it is so unpopular while it offers so much.

Ecosystem.

That's really the answer...so many FOSS apps are coded and developed primarily with MySQL in mind that it's the path of least resistance at this point for FOSS apps. It really has nothing to do with the quality of the code per se...as long as MySQL is "good enough" it will continue to be used.

Re:Why not Firebird? (1)

Bill, Shooter of Bul (629286) | more than 3 years ago | (#34570632)

I've actually looked at using Firebird before. It seems to be caught up in the Postgres trap. Postgres is a great RDBMS: Arguablly better than Mysql.

Question: How many people actually use Mysql as a RDBMS in such a way that it could benifit from the additional features of the more featureful systems?

Answer: not many.

Question: How many people are using Mysql because the lack of the features allows it to be faster?

Answer: All of the large users of mysql: facebook, flickr, google, yahoo, ect.

If you imagine two end of the spectrum between a full RDBMS on one end, and a NoSQL db on the other, Mysql sits in a sweet spot that many people appreciate.

Its also the easiest to set up and configure replication on, which gives it some level of backups, scalability, and availability.

Yeah right (2)

sletraBydnaR (1491469) | more than 3 years ago | (#34569618)

Trust me, says the devil.

moD down (-1)

Anonymous Coward | more than 3 years ago | (#34569840)

de5pite t4e [goat.cx]

That's Nice... (0)

Anonymous Coward | more than 3 years ago | (#34569900)

... but have they fixed that annoying Server Locks with "Copying to tmp table" problem?

The problem that's been around for at least five years [mysql.com] . The problem that the MySQL devs dismissed as unimportant and "it's fixed in 6 Alpha, so, like... install that alpha software into a production environment because we're too incompetent/lazy/arrogant to backport the fix. Performance is way more important than, I dunno, doing the basics right." The problem that has crazy workarounds like removing indeces [mysql.com] .

I had the misfortune of sysadminning a bugzilla server at a medium size telco, and every day I was restarting mysqld because of that issue. I had highly strung senior developers breathing down my neck because MySQL's shittiness was somehow my fault (even though it was the devs who chose and insisted on MySQL, when we could have used Oracle - we were almost literally drowning in licences). We had independant DBA's give all the queries etc a fine tooth comb and it was all ok on that side, it was just MySQL being a useless pain in the arse. Eventually I wrote a small script that checked the MySQL status every couple of minutes, and if it saw "copying to tmp table" it immediately restarted mysqld. That company also had a MS SQL server, and apart from the odd patch and upgrade here and there, it was immensely less painful to admin than MySQL - what does that tell you?

How pleasant then, to move on to a 6 month contract at a role that used primarily PostGres. They had one MySQL server box that I was constantly nursing along (mostly my predecessor's fault for leaving in the default InnoDB settings, which is another rant altogether) and I had not one peep from any of the PostGres boxes. They simply just worked (tm).

I am not an experienced DBA, I'm just a garden variety Nix Admin. I personally don't care much for the finer points between LEFT JOIN's and such. Nor am I a PostGres/Oracle/MS-SQL/other fanboy, but results speak for themselves, and the results are: MySQL is a steaming piece of turd. If they've fixed the above 5 year old issue, then I might change my tune, but for now with far superior options out there, I wonder why anyone is still bothering with MySQL? The only real upside is that nursing MySQL along keeps me employed, but anyone can just wget mysqltuner.pl and do a decent enough job nursing MySQL along...

Re:That's Nice... (0)

Anonymous Coward | more than 3 years ago | (#34570588)

Or how about taking 5 years to allow variables to be used in the LIMIT clause [mysql.com] , I mean, who would want that after all? Not like anyone needs dynamic pagination with stored procedures or anything except, I don't know, people who need to get shit done properly.

I am reminded of the wise words (1)

GoochOwnsYou (1343661) | more than 3 years ago | (#34570290)

Its a trap!
- Admiral Ackbar

Its a trap (0)

sp3d2orbit (81173) | more than 3 years ago | (#34570312)

For years I heard the MySQL is released under the GPL and is free. Its open source, so long as I don't modify MySQL I won't have to pay for it if I want to use it as the database for any applications I write. Not true.

A few years back I contacted MySQL with some questions about using it as a DB backend for a small invoicing program I wanted to sell for 300 per install. MySQL's representatives informed me that even if I don't include MySQL in the installer, I am liable for $650 per license. I asked, "Isn't MySQL free under the GPL". "No", they informed me, "not if you want to make a profit"

Now that Oracle owns MySQL, and Oracle has a habit of suing companies for (TomorrowNow / SAP) using their products, every piece of code I have the uses MySQL is quickly being ported away.

Re:Its a trap (1)

zero0ne (1309517) | more than 3 years ago | (#34570612)

[citation needed]

Re:Its a trap (0)

Bobby Onions (735795) | more than 3 years ago | (#34570780)

http://www.mysql.com/about/legal/licensing/oem/ [mysql.com]

Q6: What is Oracle's commercial license for MySQL software?

A: Oracle offers a commercial license for all of its MySQL software that is embedded in or bundled with another application. The commercial license allows OEMs, ISVs and VARs to distribute commercial binaries of MySQL software with their own commercial software without subjecting that software to the GPL and its requirement to distribute source code.

Re:Its a trap (3, Insightful)

Bill, Shooter of Bul (629286) | more than 3 years ago | (#34570652)

Its GPL. You can't link to one of its libraries and satisfy the GPL without releasing your source code. If you do release your code under the GPL,then you may charge what ever fee you would like without Oracle's interference.

Now, if you don't link against it any other GPL'd code and just provide a standard way of connecting to a database like ODBC and have the configuration as part of the program's setup, you're in the clear.

And, in other news, ... (0)

Anonymous Coward | more than 3 years ago | (#34570562)

no-one downloads it :-)

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

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

Submission Text Formatting Tips

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

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

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

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

Loading...