MySQL A Threat To The Big Database Vendors?
geekinexile writes: "Bloomberg is running a story on the growth of MySQL as an alternative to the big commercial database systems." The story mentions PostgreSQL as well, and presents a generally positive view of both.
``We've spoken with other agencies about our open-source projects,'' she said. ``People first get interested after hearing about the budget savings.''
MapStats hasn't crashed since it was created, she said.
not bad for a low end peace of fluff.
"It is a greater offense to steal men's labor, than their clothes"
We tested porting our company's software to Linux and MySQL.... we kept the Linux port but we couldn't use MySQL because our application does a lot of reading and writing, and from what I understand vanilla MySQL does not support transactions but instead locks the entire table. I think there are some mods to MySQL that support transactions but without it fully supporting transactions I just don't think that major companies will ever move to it. It is perfect for Web sites where the ratio between reading and writing is heavily skewed towards reading, but for applications that need to do both, I don't think MySQL is an option... yet. Some people in the company, however, swear by MySQL and say it is heads-and-tails faster than all the "enterprise" dbs like Oracle. Certainly it is not a resource hog like Oracle.
Transactions would also be nice . . . and I've seen very few people mention them.
I've done a number of smaller projects on MySQL w/ Perl or PHP, and MySQL is perfect for those projects. But, my last project was a rather complex db-driven site, and the client wanted to use MySQL and PHP (partially because their previous contractor had begun to build the site on that platform and they didn't want to completely ditch what they had before), and by the time I got done I was wishing for transactions (and views, triggers, and stored procedures).
And I'm with you on the "gonne ba in 4.whatever" thing . . . it's nice that they are in the works, but until they show up in a production version, they're useless to me.
I work for Conectiva (Brazil), involved in a project where a minor telecom company is replacing most of their Ora*le databases to PostgreSQL. Mostly due to cost reduction (should be for a more noble cause, but...)
Note, this is the first step of a big project involving migration to free plataforms everywhere it is possible inside the company.
IMHO it's a good idea, but they must keep in mind that there already are some limitations that I'm sure it'll be solved ASAP. Of course that a little of investment in the FreeSoftware/OpenSource comunity will help a lot too, but this is subject for another project ;o)
-=-=-=-=
I know life isn't fair, but why can't it ever be un-fair in MY favor!?
Okay, I just have a real simple question:
Let's say that Database package A is made by a huge corp and package B is like MySQL, free, open source, etc.. Now, let's say that functionally they're similar and that any given company could use one or the other without aching too much.
If there is a bug in package A, the corp would have monetary incentive + engineers to fix it. (This is hypothetical, so spare me real world scenarios...) If there's a bug in package B, what exactly is the incentive to get it fixed in a timely manner?
Just to be clear, I am not criticizing free software. I'm genuinely curious because I'm not fully educated on the topic.
This is an important question because larger companies are willing to pay the money for the 'package A' scenario, but only because they have a sense that spending th1e money put into it means problems are quickly correctable. (I know, reality is a different story, don't beat me up for that point.) With package B, if something's missing, they don't have much alternative other than to go ahead and use package A. Package B is free, but if they already adopted it there's time/money/effort already invested. This could prove embarrasing. It seems like it'd be hard for a company with enough money to buy and support package A would ever be interested in package B. So how does one go about convincing them?
I'd really like to understand that aspect of Open Source before I recommend MySQL or something like that to my boss.
"Derp de derp."
I have to agree with this, there are certainly many applications that require the name, stability, and configurability of one of the big providers. However, I have noticed a pretty distrubing trend, distrubing to me as a software analyst anyway, the firm I work with purchases loans as an investment, it buys a few hundered loans a year. They originally used a spreadsheet to track payments, balances, and other info about the loans. As this became unmanagable, it was decided that a database would be needed, they bought a new system and put oracle on it. By the time hardware, software, and the consultants were paid, the bill was quite large, all to track about 1500 loans! Say what you will about Access, but this was about the perfect application for it. MySQL or PostgreSQL would have worked, but no one there knew how to manage it. There are people who could be taught how to create and manage access, especially for something this small.
I also am beginning to believe that these sorts of applications of enterprise databases, for something like this, I would guess that most managmets would be quite receptive to a no liceses cost alterative to Oracle. This is starting to give me the hebejebes about investing in enterprise database companies.
Degaussing scares the bad magnetism out of the monitor and fills it with good karma.
Data comes in one way and gets read many times and that's the sort of use MySQL's raw speed will blow both postgres and oarcle away at.
I disagree, every test I've ever done or read in the last 3 years, postgres is as fast or faster than MySQL (using reasonable sized data not "100 test records"). Do you have a link to a benchmark on recent versions of each (without magic 3rd party patches)?
Education is a better safeguard of liberty than a standing army.
Edward Everett (1794 - 1865)
Back in the day (about 2-3 years ago) MySQL was a bit of a pain to configure correctly under Linux and a bit moreso under other UNIXen. PostgreSQL was insane. I tried to get it to work on my box, and I'm a C programmer with many years of experience in understanding other people's code and installation systems.
I finally gave up. I got it installed and mostly working, but I just had better things to do and I wasn't at all happy with the number of hand-tweeks that were required. I slapped MySQL in place and never turned back.
I think a lot of folks were in the same boat, but had even less patience for PostgreSQL's difficult installation.
Now, I understand the two are about the same, and both are available with the major Linux distributions. However, now PostgreSQL has to work its way out of the hole its in. Admins like me will be loath to give up the DB we know best in favor of one that burned us, even if it was long ago.
Oracle has some of the best documentation I've ever seen available online.
As far as tracking bugs/issues, if you had a support contract with Oracle then you could access their Metalink services which provide forums + issue tracking with support directly from Oracle.
Most of the criticisms of MySQL that get modded down are modded down for a reason. Either they re-state something said half a dozen times before, or they take on a vehement bashing attitude.
When I bash Apple (and I love to bash Apple) I get modded down accordingly. When I say that I have legitimate complaints about Apple, I don't get modded down. If you say something like "MySQL lacks certain functionalities such as a, b, c, and d and for certain uses of databases such as scenario X, it just doesn't cut the cake. In comparision, Database Y really does the job well" You're not gonna get modded down. You'll probably get modded up as informative, and inspire some interesting conversations about "Well, yes. MySQL doesn't do that, you're right. But I don't see how the scenario you described requires that functionality".
If something's informative and deserves modding up, it gets modded up. If something bashes a program with little more than "It's evil because I say it's evil" or "It doesn't have half a bazillion functionalities" and then just assume those functionalities are completely wide-spread knowledge (in which case you're being terribly redundant...) then it's really not worth slugging through, and should be modded down accordingly.
-Sara
This statement indicates a profound ignorance of basic database design. The entire purpose of a relational database is to maintain n-dimensional structures! To put it crudely, each table describes one dimension, and a given database can therefore have as many dimensions as desired (within physical limits).
That's the reason why so many well-trained people spend their time babbling about normalization, first-, second-, third-normal form and so forth. Some people (I've worked with many) think that normalization is a fussy, over-theoretical waste of time, and start throwing out buzzwords, depending upon their age, such as "object-relational", "XML-database" and so forth.
"Right now postges sends a message to the application saying, this is locked retry transaction..."
That's pretty unlikely, given that Postgresql uses multiversion concurrency control - again, put crudely, two different instances, say one a read and one a write, are effectively not even looking at the same DB, but at two independent "virtual" copies of the "real" DB (yes, Postgresql people, I know that's not quite right. That's why I said "crude"). It's possible for a lock conflict to occur, but not likely. And there is a lock resolution mechanism, so it's even more unlikely that an error message will pop up.
A witty saying is worth nothing - Voltaire
IMHO, views and stored procedures amount to short scripts, and were added to companies making databases at the right time (pre-boom) to make a new class of database that was term'd Enterprise but realy just meant hybrid DB engines with scripting support.
Well, we are talking about relational database management systems, not a "database file". An RDBMS is the middleware between you and the database file, and facilitates crazy, insane features like concurrency control, transactional control, and most importantly security. Both views and stored procedures are very important facets of security in any modern RDBMS as they allow you to hide the internals of your database, and to only provide applications the ability to have certain constrained "I/O windows" into your database (hell, my normal design norm is to only allow interactions with stored procs, which themselves only operate through constrained views). There is nothing gimmicky about these features, and they are crucial for an "enterprise" system.
Boy it seems not a couple weeks ago we were discussing something along these lines here on SlashDot. I think I've said everything I need to say on the lacking features of MySQL, so maybe I'll chat about something else.
:)
I think everyone 'knows' of an Oracle-dependant piece of software in your shop (or school, or website, etc.) which really doesn't 'need' Oracle. We look at apps with 100 users and say - "Heck! Even flat-files would be fine for this app!". Those sorts of Oracle installs are certainly feeling the IT budget crunch. No longer can management write $80K checks to Oracle each year for support and product upgrades. They're looking for a way out and I think some of the smaller more niche products (Sybase ASE, PostgreSQL, MySQL, etc.) need to be ready to step in and take them (so listen up MySQL developers and zealots!).
When we discussed this before I brought up what I thought were valid complaints (no hot backups, no binary dumps, EXPLAIN output is cryptic and could be cleaner, replication is still a little immature, etc. etc.). Regardless, some 'rebuttals' I received were the Open Source Party Line - e.g. 'Why don't you code it yourself?' or 'There's a workaround for that.' That is certainly not a healthy attitude to tell potential customers of your product. These guys dropping $100K on a RDBMS and are feeling the pain would love to pay MySQL support contracts, however if you have the attitude that somehow the end-user, who would like to actually pay you money for your product, needs to keep their mouth shut and gratefully take what you charitably give out you're not going to retain them as a customer. Like it or not, they are used to getting what they pay for. And if you're really focused on getting more Enterprise-ish people to use it then you'd best start acting like it.
Give them what they want, treat them like CLIENTS (e.g. deserving of some respect) and not simply another l33t hax0r ("Code it yourself, n00b!") and they'll beat a path to your door.
Thanks,
--
Matt
In our corporation we used Oracle with good success for many years. We switched to Postgres for many reasons and have found great success with it. It is very stable, excellent documentation available and is much more straight forward to administer. No problem convincing the suits as the cost of the Oracle licenses went into orbit. I would recommend Postgresql for use in a production environment
From the premier site for fruitless technical job searching
Mysql: 49 hits
Postgresql: 2 hits
Oracle: 4595 hits
One could argue that the people that post on DICE are dumber than most, but there still doesn't seem to be much of a market for mysql and postgresql.
---- "If we have to go on with these damned quantum jumps, then I'm sorry that I ever got involved" - Erwin Schrodinger
I don't see why more people don't list SAP-DB with MySQL and PostgreSQL. It _is_ GPL, as well, it supports the SAP applications. It's a pretty good DB system. It's strange that it doesn't get the coverage it deservers.
Engineering and the Ultimate
Guys,
Let me offer my view on the Bloomberg article. It is a huge success for the whole open source community that MySQL gets written about in a publication which is for non-techies only. It is an indication that open source development is not in vain - that open source is becoming a viable alternative even in the most conservative IT shops.
So in stead of arguing for and against this or that open source database, let's work together to become even stronger in the business world!
A key reason for MySQL's huge installed base is that Monty and David - the founders - focused on speed, reliability, and ease of management. That's why Bloomberg is writing about MySQL. And that is also the way to find paying customers who make it possible to hire more programmers and further develop the product.
I am sorry if this sounds like marketing speech. We at MySQL AB are working our butts off to conquer the business world. Now as we are doing so, it will benefit all open source databases. Will you help us?
Marten Mickos, CEO, MySQL AB
I would love to be able to use all the features of
Postgresql but I need 24/7 availability (no vacuum) and replication. Until some slashdotter can explain how to do this with Postgresql I will stick with MySQL.
It would actually be nice to see ONE SINGLE COMMENT on these issues in the usual 400 post thrashing of MySQL that these discussions cause.
Erik
MySQL, w/ InnoDB tables (binaried as MySQL-Max) supports transactions with row-level locking and multi-versioning. It also supports foreign key constraints to some degree (on delete cascade, IIRC).
But in this case forget hotbackups unless your willing to buy the tool for InnoDB (it is NOT open source).
BWP
" Yes..and their ports are bad. "
Pure unadultrated bullshit. Maybe next time you won't have to rely on lying to make a point. The ports of apache, php and mysql on windows are fantastic.
"If it's not well documented, and well known stuff(by more then open source folks), then it's not going to happen."
The apache, php, and mysql documentation is top notch. What do you find so objectionable about them? The php documentation is particularly awsome. As for well known let me present you with a few facts.
PHP is more popular then ASP. More people know php then ASP. It is also easier to learn then VB.
Apache is more popular then IIS. More people know apache then IIS.
Mysql is one of the most widely used databases in the world. The primary reason for that is the ease of use and maintenance. More people know mysql administration then MS sql or oracle. On top of that any DBA worth two cents can pick up mysql in a day.
"That company is going to have to hire a consultant to fix things if they need to add things to it "
I suppose when things break in oracle or ms sql the programs automatically fix themselves.
" Backing things up is important."
Both mysql and postgres offer live backup and replication.
War is necrophilia.