Oracle Releases MySQL 5.5 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."
You have nothing to fear. (Score:5, Insightful)
You can trust us. Honest.
Re: (Score:2)
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: (Score:2)
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. (Score:5, Insightful)
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: (Score:2)
I'm not worried, MySQL is dead, long live MariaDB [mariadb.org]
Re:You have nothing to fear. (Score:4, Insightful)
Delusional much?
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:
Wrong. Oracle is on record as stating PostgreSQL is one of their largest open source threats. PostgreSQL is one of the few open source competitors which offers comparable features, tunability, and can actually beat them in performance even up to the high end. Scalability is something PostgreSQL and Oracle share. Oracle still trumps them on the ultra high end and warehousing, but even that's eroding because of companies like EnterpriseDB (hint, its PostgreSQL).
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.
People don't care about MySQL. They care that its brain dead easy to start using and is pretty fast, especially for light loads, with hardly any tuning. Its basically the antithesis of Oracle. So suggesting that a binary compatible polar opposite of MySQL will magically grab mind share is stupidity at best.
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.
So you end up with a product that nobody wants and still can't compete with PostgreSQL.
MySQL fills a niche which Oracle doesn't otherwise provide a solution. Slapping a binary compatibility layer on top of a product which doesn't begin to address the niche, doesn't address the niche. Anything else is simply delusion and fueling an exodus to PostgreSQL.
Re: (Score:2)
You mean, candy chewing tobacco? That is the most awesome idea I've ever seen posted on Slashdot. "Kids! Now you can chew like a major leaguer!"
Re: (Score:2)
PostgreSQL drives the .ORG DNS root.
Re: (Score:2)
To be fair, both Postgres and MySQL have been slowly moving towards eachother over the past years. Postgres's performance is closing in on MySQL's and MySQL's features set has gotten more complete.
Chosing between the two is increasingly about details rather than the big "performance vs. features" difference from the past.
I'd say for most real-world use, there isn't any significant difference between them anymore.
Re:You have nothing to fear. (Score:5, Interesting)
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: (Score:2)
Re: (Score:3)
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 ou
Re: (Score:2)
Postgres.
Any other questions you have?
Re:You have nothing to fear. (Score:5, Informative)
Postgres.
Any other questions you have?
Here's one: how to adapt LAMP applications that depend on behaviors of MySQL.
Re: (Score:2)
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: (Score:2)
With open source, your business-critical functions are not dependent on the health of OTHER COMPANIES to survive. If your own business is not taking this fact into account, then "critical" is perhaps a better word than you knew.
Re: (Score:2)
MySQL which is now the famous and irreplaceable "M" in LAMP.
Just like PHP/Perl/Python/Ruby is now the famous and irreplaceable "P" in LAMP?
p.s. My LAMP runs on BSD. Is it a BAMP now?
Windows kernel-mode code signing (Score:5, Informative)
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: (Score:2)
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: (Score:2)
Re:You have nothing to fear. (Score:5, Insightful)
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. (Score:5, Insightful)
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. (Score:5, Funny)
Re: (Score:2)
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?
django
Re:You have nothing to fear. (Score:5, Insightful)
What is the direct counterpart of Access that uses MySQL?
You've had a number of replies so far. AFAICT, most have missed the point so thoroughly that they can't possibly have seen Access used in a business. So I'm going to explain Access.
Yes, Access gives you a database engine (and not a particularly good one at that). The other thing it gives you is a GUI-driven desktop application which makes it an absolute doddle to design tables, queries, forms and reports without having to write a single line of code.
The end result is frequently badly designed, with little or no attention paid to normalisation or data integrity, but it broadly works.
Now, you might very well turn around and say "Tough. You'll just have to get used to writing code." - you're talking to the wrong people. The people who are using Access in businesses are the middle managers who have never in their life written code and aren't about to start now. So many businesses pushed Access to the desktop years ago when they bought Office, and have since discovered that the reason the IT department hasn't heard from lots of parts of the business is because some manager decided that rather than to-and-fro with the IT department (which would cost a lot of money out of his budget - larger businesses just love shuffling money between departments), he'd cobble together a little application in Access to run his department. It's invariably a mess, but it's a mess that's so ingrained it isn't going anywhere.
Anyhow, these guys have no idea what SQL is and are only vaguely aware that a database stores everything in tables. You can no more ask them to do everything in PHP from now on than you can ask them to lick their own testicles.
Re:You have nothing to fear. (Score:5, Insightful)
1. A single user creats a simple access database for their own use.
2. That user shares this with their most trusted sidekick.
3. The sidekick takes over when the original user dies from intestinal parasites.
4. The entire department now uses this tool, and is fully reliant on it.
5. Requests now come into IT from other departments asking for access to the tool.
6. IT says "oh man, this sucks".
Re:You have nothing to fear. (Score:4, Interesting)
That's only the half of it.
You also have the people who took one look at Access and thought "Eeks, that's scary". They decided to work in Excel instead. Since that day, they have encompassed the business logic of an entire department in a spreadsheet (and almost certainly put in so much effort to understanding Excel that it would actually have been easier to learn a proper programming language, but that's not the point. They're not a programmer and they don't want to be one!)
Anyone who's been in IT support/management for any length of time has at least one Access/Excel related war story.
Re: (Score:3)
If it's anything like most of these databases, your users aren't really sure what information they want or how to get it - Excel gives more-or-less immediate feedback so they can fiddle with the queries they're making until they finally see the data they want, whereas most web interfaces force you to think about what you want, make the query, examine the results carefully, if they're not what you want you probably need to go back and re-run the query.... it's very fiddly and takes a very long time. But su
Re:You have nothing to fear. (Score:4, Insightful)
rather than to-and-fro with the IT department
I've been around long enough to see this. You really have to ask what is wrong with the IT departments. If a middle manager who doesn't know anything about programming can use a tool to solve his problem in a fairly short period of time, why can't the IT department do it quicker with better maintainability using a similar tool. Personally I believe its the same mindset that results in the IT department spending two weeks fscking around with Samba patches and config files to solve some obscure problem, when a crappy windows server doesn't have the problem. Its a serious case of "we know better, this is how it should be done" and an unwillingness to admit that maybe instead of building the golden gate bridge all we need is a couple of cinder blocks in the middle of the creek. This totally applies to access, I rarely meet someone who's job is IT/Programming who would stoop to using access to solve a problem. Instead its got to be done using Java (which still doesn't have a decent RAD environment), or PHP or any one of a number of other languages which can be used to build fairly large complex systems, but fail miserably when tasked with creating a functional UI to manipulate a couple database tables, in a hour or two. It still amazes me how hard it is in many languages to just display a table to the user complete with column sorting and searching, and similar functionality to what can be achieved with Access (VB, Delphi, etc) in a manner of minutes, often without any actual programming.
Fifteen years ago I had a job where I spent 50% of my time doing C++ for back-end processing, and 50% of my time in Access creating a UI to access/update data being handled by the back-end system. It taught me a very important lesson about picking the right tool for the job. Years later I'm still working on spit systems, only now its a PHP/Javascript/HTML front-end and C++ backend, and every day I think, this was easier 10 years ago. Back then, C++ was the heavyweight language with a lot of code to get anything done. Now the situation has reversed, and the C++ code is small and lean (100k or so), while the UI is approaching 3x that. Plus writing it with a web UI has actually made the job of concurrent access to the system harder for my particular circumstance, because the management aspect is far more complex than just selecting a couple of values and submitting a form.
Re:You have nothing to fear. (Score:5, Interesting)
Anyone with experience building enterprise applications can tell you that the hard part is NOT the writing of the code. Most database-driven applications work similarly. The hard part is gathering requirements from non-technical people. What you'll find in any sizeable business is that the knowledge of the business process is distributed among many people. You have to become the expert. I like to model the activity on paper, and then interview people to walk through their jobs with them. The hardest part is trying to decide what parts of the business process are wasteful traditions, and which parts are essential. You may find many subtleties in people's work, the importance of which is not discovered until much later. Good notes are essential.
Anyway, back to Access-- with Access, I can literally have someone sit next to me as I mockup a WORKING demo. When they see it working the way they want, and they walk out, I can rip it apart and do things the right way. On a recent project, I did this, and it finally got the software off the ground. The problem was that the requirements were changing too fast. The original developer had written something in PHP, but every time he was asked to change something, the result was weeks of agonizing bugfixes. We switched the frontend to Access, keeping the data in MySQL (we used the MySQL ODBC connector). Now that the software has matured, and the pace of changes has slowed, developers can replace Access with something like Rails. Access is a great tool if you want to rapidly beta-test your application. I've tried other rapid development frameworks (Rails, CakePHP, and
Microsoft put a lot of thought into the GUI design features of Access. I have yet to find something that works as well, or as quickly. You're right, it's not a "real" database, but it can be *attached* to a real database. Microsoft gets a lot of crap (rightly) for their software that sucks, but Access is not in that category.
Re: (Score:3)
Re: (Score:2)
From the article.... (Score:5, Insightful)
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: (Score:2, Interesting)
And no, creating a function to handle it as an exception is not a real solution.
-- Barbie
Re: (Score:2)
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: (Score:2)
Re: (Score:3)
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.... (Score:4, Interesting)
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: (Score:3)
So you don't want data integrity? ACID?
Re:From the article.... (Score:4, Funny)
Re: (Score:2, Flamebait)
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: (Score:2)
That might possibly be one of the least intelligent things I've ever read.
Can you possibly expound on that statement to explain why it makes any sense whatsoever? Or perhaps explain the relationship between SQL and ACID?
You do realize there are non-SQL ACID solutions already readily available right?
Re:From the article.... (Score:4, Interesting)
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.... (Score:5, Funny)
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: (Score:2)
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.
Oh gooood for you </Christian Bale>
Re: (Score:3)
Uptime is not the least bit comparable to ACID. The fact this has to be explained means you're way over your head here. If everyone had perfect uptime, we'd likely have ACI-compliant systems.
Threading is the opposite of reliability. That's one of the reasons why IT always schedule periodic reboots of Windows boxes and/or services they run on that platform. When something bad happens to a thread, it can take with it important system and/or application resources, including memory and even locks. Even MS, with
Re: (Score:2, Interesting)
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: (Score:3)
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]
It's target for PostgreSQL is 9.1
http://wiki.postgresql.org/wiki/PgCon_2010_Developer_Meeting#Development_Priorities_for_9.1 [postgresql.org]
Re: (Score:2)
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.... (Score:4, Insightful)
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: (Score:3)
Yeah Postgresql trades BS features for reliability and data integrity, clearly just like vim vs emacs. Oh wait no not at all.
Re: (Score:3, Informative)
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.... (Score:5, Funny)
On 0000-00-00 00:00:00, of course.
Re: (Score:2)
Re: (Score:2)
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: (Score:2)
It seems you forgot to make a binary safe backup of your database.
b.t.w. my tip to you is not to trust PostgreSQL either as it like MySQL is a database server, not a backup method.
You wouldn't have lost your mission critical data if you used rsync to put a binary safe copy on (an)other machine(s).
Re: (Score:2)
Exception reported on Wed Dec 15 17:20:02 CET 2010 from ... Cannot query XXX database with query SELECT * FROM YYY Table \'./XXX/YYY\' is marked as crashed and should be repaired at
Re:From the article.... (Score:4, Informative)
When's the last time you lost data with mysql that was directly attributable to the database
A couple of years ago (the last time I used mysql), I was running it on a tiny VM, where I found it hit the memory and disk limits quite frequently -- and in each case, the server would crash and leave corrupt tables which required 20-30 mins of fixing. Running postgres in the same situation, out of memory causes a single worker process to die (but you can then reconnect, it's not the whole server that's down), out of disk causes "error, out of disk space" (and you can still make read-only queries).
Also, running a pretty high load website (>1000 queries/sec) on not-that-great hardware, it seems mysql would randomly drop table indexes when it couldn't keep up with inserts, thus bringing the whole site grinding to a halt. Since switching that site to postgres, it's been a lot more reliable (it's also been faster, since postgres' indexes are better, and it runs straightforward queries better, where I was always contorting queries to avoid mysql performace gotchas, but those aren't really data loss)
Re: (Score:3)
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?
If you're losing data from queries, then you're the poster child of just how bad MySQL actually is. Furthermore, do some simple searches on your favorite search engine. Or you can just look at your replies. Data loss from MySQL is extremely common. That's exactly why MySQL has such a poor reputation with knowledgeable DBAs and why, in general, DBAs don't like MySQL.
Re: (Score:2)
Just skimming all your posts, if you're not a troll, god help you. Or rather any poor company that lets you touch their code. You shouldn't be allowed to touch any software with a 10 foot stick.
Here, let me give you a clue. If you're using a stick to write software, you're doing it wrong :-)
Possible to emulate via temporary tables (Score:2)
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 simpl
Re:Possible to emulate via temporary tables (Score:4, Insightful)
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: (Score:2)
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: (Score:2)
"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 sh
Re: (Score:3)
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: (Score:2)
Unfortunately yes, because despite ANSI making SQL standards the actual common feature set is extremely minimal. It's not a strength nor a feature, of course if you want that last bit of performance you will optimize for a specific database. However, there are many applications between trivial and "pedal to the metal" that ought to be possible to write in a database-independent way, but that you can't because of syntactical sugar. Operations on date and time for example are a genuine pain in the butt and do
Re:From the article.... (Score:4, Interesting)
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.... (Score:5, Interesting)
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: (Score:3)
Someone did get out their checkbook, which is why MERGE has been under development for months already, with working prototypes [postgresql.org] being tested since late August. The hope is that this makes it into PostgreSQL 9.1, due to be released next summer. Right now trivial cases work, the main bugs found in the last round of review involve concurrency issues that are still being ironed out.
Re: (Score:2)
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: (Score:2)
swooosh...
The sad state ofthe American education system (Score:2)
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.
What's the matter, did you fail geography? The example given was just plain wrong. Not every American city has a state, and not every capital has a state, not even in the Lower 48.
Looks like Canadians know more about American geography than Americans.
-- Barbie
Re: (Score:2)
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
The thing is, Oracle still owns it. (Score:3, Insightful)
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. (Score:5)
Re:The thing is, Oracle still owns it. (Score:5, Insightful)
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: (Score:3)
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: (Score:2)
Re: (Score:2)
Mariadb, Drizzle...there are already enought mysql forks.
Re: (Score:3)
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. (Score:4, Informative)
They are getting rid of GNU autotools, because autotools is a mess of applications being layered on top of each other through the years. CMake accomplishes the same stuff, including most parameters you need, in a much cleaner way.
If you want to change the prefix, you just need to override CMAKE_INSTALL_PREFIX with "cmake -DCMAKE_INSTALL_PREFIX=/new/path ."
Yeah right. (Score:5, Funny)
Oracle is absolutely and steadfastly committed to Open Source, as seen from their admirable interaction with the OpenOffice.org and Java communities.
Re: (Score:3)
In case of Java Oracle did not do too much which Sun has not started. It is more or less a timely coincidence that Oracle now gets the blame. The entire TCK issue regarding Apache Harmony already was started by Sun in 2006 and the Google lawsuit was pitched by Sun to Oracle as sales argument. Sun already had this idea but not the balls to do it (after all they were the good guys :-) )
Just to make matters clearer. OpenOffice is a similar situation Sun has dragged things along before the Oracle merger.
Althoug
Why not Firebird? (Score:4, Insightful)
Re:Why not Firebird? (Score:5, Interesting)
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: (Score:2)
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: (Score:2)
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
Re: (Score:2)
a) It's less unpopular than you think.
b) And being "unpopular" is actually a nice feature.
c) Historical documentation problems. Less of an issue now, but it used to be "lore-based".
Also, the stricter RDBMS is the more unpopular it will be. You *can't* be as sloppy with it as you can with MySQL (or even Postgres). For starters - because transactions everywhere and case-sensitivity.
Re: (Score:2)
Shared web hosting (Score:2)
Re: (Score:3)
Re: (Score:2)
[citation needed]
I think it's a cycle, if your assertion even holds. I could theorize that, being more popular, more tools and features were put on top of MySQL to make it more friendly.
Re: (Score:2)
You can buy a simple vps
That's the problem. Hosts such as Go Daddy charge more for a VPS package than for a shared hosting package.
Yeah right (Score:2)
The Decline of MySQL and Rise of Firebird SQL (Score:2)
The decline will not be immediate, it will take some time, notably Apache distributions like XAMPP and WAMP will have to offer users alternatives to MySQL, as most developers use these packages, instead of installing products independently. All is not lost, the Open Source community has plenty of options. There are two well established alternatives to MySQL: PostgreSQL and Firebird. Both have large established communities, and support of major corporations. All of these will become the next MySQL
Already been using 5.5 beta... (Score:2)
speechless (Score:2)
Re: (Score:2)
[citation needed]
Re:Its a trap (Score:4, Insightful)
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.
Re: (Score:2)
This is sort of true, although it's a really bad way of putting it.
MySQL the server, is GPL. You don't need to buy a license for it. There are no restrictions on what you use it for. Same as any other GPL software, the only thing you are restricted from doing is distributing non-GPL'd modifications to it. All standard stuff.
The way they get you is via the client library, which is also GPL, and not LGPL, which is very important: In order to use the server you need to link your code against the client library