Slashdot Mirror


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.

23 of 469 comments (clear)

  1. GPL of MySQL 4 is big obstacle for non-OSS dev by News+for+nerds · · Score: 5, Insightful

    1.4.3.1 Using the MySQL Software Under a Commercial License
    (snip)
    When you link a program with code from the MySQL software or from GPL
    released clients and don't want the resulting product to be GPL, maybe because
    you want to build a commercial product or keep the added non-GPL code closed
    source for other reasons. When purchasing commercial licenses, you are not
    using the MySQL software under GPL even though it's the same code.

    -----

    This means you can't use libmysql in your closed source code.

  2. Still Some Roads to Conquer by Scotch+Game · · Score: 5, Insightful

    I love MySQL, love the speed, the accessibility, the ease of deployment and its suitability for small and medium-sized projects. I'm an advocate.

    But -- it can be a tough sell to the big fish.

    I was hired by a Fortune 500 financial services and real estate company to do an internal project that really was not challenging development. Essentially, the requirements boiled down to a very hobbled version of Slashcode. I bid the project at X dollars, spec-ing PHP and MySQL, figuring that I was going a bit high for the actual hours involved and that I would make a nice roll of dough if they accepted. But I still knew that given the sheer size of the company, that my bid would be considered a bargain, if not a lowball.

    What threw it? MySQL and PHP. What are they? (WHAT ARE THEY?!?!?!) Well, we're going to have to get through Standards and Compliance, issue an exception, and well, we'll see, we just don't know. Okay, said I, I'll do it for four times the cost and implement it entirely from scratch using ASP and SQL Server.

    Great! Sold. Damn. And you have to understand I really TRIED. I wrote two papers, directed them to a bunch of links ... Nope. ASP and SQL Server. I cried my way to the bank.

    I believe inroads will continue to be made for open source. I have faith. But I think there's still some time and a lot of tireless advocacy to come ...

  3. Re:hasn't crashed yet by miratrix · · Score: 4, Insightful

    You have to remember that this is the kind of thing that MySQL is designed for. Lots and lots of SELECTs, almost no INSERT or UPDATEs.

  4. dirty secret of big databases by g4dget · · Score: 5, Insightful

    The dirty secret of big databases is that most people don't know how to program them, how to configure them, and don't need most of the features. And even if they get everything right, they still end up with a very costly and complex solution, a solution that likely doesn't perform very well and needs a special DBA to keep it all running. That's why MySQL is successful.

  5. In other news: Vi still no threat to MS Word by wirefarm · · Score: 4, Insightful

    They are two different products with two different uses.
    MySql came along and took away the appeal of using text files as data stores for web applications and such - it gave perl scripters a simple, easy-to-understand database that works pretty darn well.

    MySQL is a great product, but only for the things it does well. If you try to make it do things that it can't, of course you're gonna get burned.
    If you actually *like* databases, you'll probably like PostGres better anyway - don't bother with MySql.

    MySql has found its niche. Linux, Apache, Perl/PHP and MySQL are powering thousands of websites right now. I have a few myself and they work well - There is absolutely no need for me to change the database - it just works.

    I wouldn't want American Express to start using it today though - they actually *need* the features that Oracle offers.

    Not all databases need the kind of bomb-proofing that you can do with Oracle - some applications just need to be able to pull data quickly from simple tables.

    The thing that I don't understand though, is why MySql has so much more popular appeal than PostGres - It seemed that one day, everybody just seemed to be using it. Why was that?

    Cheers,
    Jim

    --
    -- My Weblog.
    1. Re:In other news: Vi still no threat to MS Word by ajs · · Score: 5, Interesting

      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.

  6. To be fair... by Pseudonym · · Score: 5, Insightful

    ...most people don't need Oracle.

    Oracle has been used for a lot of projects where it doesn't really need to be used, usually because the company already had a licence, but sometimes because the project was way over-spec'd.

    Don't get me wrong, MySQL doesn't even come close to challenging the benefits of Oracle or DB2 in replication, scalability and so on. However, in applications where you don't need them, MySQL is perfect, especially because it requires no monetary investment. (It requires other kinds of investment, of course, but everything does.)


    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  7. Postgres already replacing Ora*le by famazza · · Score: 5, Interesting

    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!?
  8. Criticize MySQL and get modded down by kpharmer · · Score: 5, Insightful

    It's sad how all criticisms of MySQL on slashdot are consistently modded down. Although MySQL is a fine product with a lot going for it - there is plenty to be *legitimately* critical about.

    Is it that the MySQL supporters on slashdot are only familar with application programming interfaces to relational databases - and so don't understand the differences between a modern relational database and MySQL? Or are they simply pushing the product that they are most familiar with?

    I've been involved in purchases of millions of dollars in relational database software over the last sixteen years; been a DBA on Oracle, Informix, and DB2; and developed on those as well as Sybase, SQL Server, Adabas (SAP-DB), Dbase IV, and Access. And I can say that there are plenty of traditional IT applications that I would try Postgresql out on - just about everything in the OLTP arena that doesn't require massive scalability. And unfortunately, there are far fewer traditional IT database applications that I would recommend MySQL for - it simply lacks too many features that are already available in postgresql, and that in the RealWorld(tm) save your bacon.

    Ok, you can mod me down now.

  9. Pick A DB That Suits Your Needs by Not+The+Real+Me · · Score: 5, Insightful

    You need to pick a database that suits your needs. For some people MySQL is all that they will ever need. For others, referential integrity, transactions, stored procedures and triggers are a requirement not an option.

    I've seen instances where an app was done in Oracle when it should've been done in something like FoxPro v2.6 for DOS, and I've seen apps done in M$ Access97 that should've been done in PostGres/Oracle/Sybase/SQL Server.

    Each has its place and should be chosen to fit a business model. Picking a database just because it has the most features is not always the correct solution. Picking a database because it has the least initial cost is also not always the correct solution.

  10. The DBASE III of its time? by Greyfox · · Score: 4, Insightful

    Sure, MySQL is simple. Sure it doesn't do everything Oracle can do. But there are a huge number of small businesses, Churches, scools, etc which don't have huge budgets, have to work with a very limited IT department (In some cases volunteer labor) and need some sort of database capability. Used to be DBase III (And I've seen some HUGE apps implemented in DBASE.) MySQL provides the right combination of features, stability and price to compete really well in that arena.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  11. Not for a while. by Twillerror · · Score: 4, Insightful

    I wish TPC www.tpc.org would do some MySQL tests and show just how it really perfoms when compared, to DB2, Oracle, and MS SQL Server.

    Why can we not put an end to this debate. I wish slashdot would just refuse to repost this crap that people keep saying to see their words be pubilshed.

    It is simple, MySQL is a simple db system well suited to web-sites and application where it doesn't really fucking matter. Suppose if slashdot lost a couple of days worth of stories. Is the world going to end, NO, people will be, well whatever that feeling is when you loose data, but life will go on.

    If I lost 5 minutes worth of production data, I'd probably have to find another job. People would not get their orders, we might loose a client. If I worked for the NASDAQ, it might mean real $ figures.

    People who work in these high stress database positions understand the debate, and probably won't even post anything beause they are tired of it. I know I am. Learn Oracle, or SQL Server and MySQL postgres and then post your ideas, just don't learn MySQL.

    Now that is not to say there is no hope for open systems, I sure hope there is because Oracle is expensive, and I hate most big companies. There is a large list of things that Postgres and MySQL have to do. Here are the big ones.

    Log based transactions.
    Whenever something happens to the data, the change is stored in another file, along with the data file. This way transactions can be rolled back or restored from transaction log backups without a need to restore the whole database. Get a copy of the datbase backup from a certain time and restore every transaction log backup after that and your back to your last transaction log backup. It also helps to replicate a database, and makes true "live" backups possible while a system is live without a huge performance impact, because the transaction log is also backed up, but at the last second, so when you restore the db, you also restore that log backup that was made at the last second while the database was locked.

    One data file for multiple tables.
    Having a seperate file for each table is like using dbase or paradox. Hell even Access has one file folks. It is needed for mysql and postgres to manage their own "file system within a file".
    I think Postgres is going to do this soon according to some of the discussions.

    Complete SQL-92 support.
    for all the bitching we do about not supporting standards, MySQL seems to think it is all right to say, "oh they'll make it slower". Give me a break.

    Locking, Locking, Locking.
    This is imperitive for true transaction support. It is also complicated, deadlocks are no fun. But we must be able to do db, table, row, and key locking. This way you can lock down a row for editing, and not allow anything else to mess with it until your current transaction is done. The classic example is the checking to saving account transfer by two people at the same. MySQL and postgres are not as good of Multiuser system as the big boys. Right now postges sends a message to the application saying, this is locked retry transaction, this is just not up to real enterprise levels.

    XML support.
    This is a new one, but one that is going to rock the DB world. The crappy thing about current tech is that all record sets are 2 dimensional. But if you've ever done more than 3 or 4 one to many joins this can be a big bitch to scroll through. It also replicates data in the result set leading to more memory consumption, network bandwith, etc. MS SQL as part of the whole .NET crap is doing this. Imagine XML results sets with heirachy. Tree based joins may also be in the works with this kind of power.

    Stop saying we will take over Oracle, and take the steps needed to make it a reality.

    1. Re:Not for a while. by nconway · · Score: 5, Informative
      I wish TPC www.tpc.org would do some MySQL tests and show just how it really perfoms when compared, to DB2, Oracle, and MS SQL Server.


      The specifications for the TPC benchmarks are freely available -- it's fairly easy to write a client application that follows one of the benchmark specs to test a specific database. contrib/pgbench in the PostgreSQL tree, for example, implements a "TPC-B-like" benchmark.

      Log based transactions.


      That's a fairly vague (or rather, inaccurate) term, but if you mean write-ahead logging, then PostgreSQL has done this since version 7.1. Some of the additional enhancements to this feature (such as point in time recovery) are planned for the near future, likely 7.4

      One data file for multiple tables.


      This sounds like a complete waste of time, IMHO. Since the database client shouldn't have any idea what the physical representation of the data is, it's not clear to me why this would be an important feature to have. Can you elaborate?

      I think Postgres is going to do this soon according to some of the discussions.


      Oh? I haven't heard anything about this...

      Complete SQL-92 support.


      "Complete" support for SQL92/99 is pretty damn difficult (SQL92 is 650+ pages, SQL99 is 1200+). Nevertheless, PostgreSQL aims to support as much of the standard as possible.

      MySQL and postgres are not as good of Multiuser system as the big boys.


      Erm, PostgreSQL uses MVCC, the same concurrency control scheme used by Oracle. It allows for "better than row-level locking" (readers and writers never conflict; one writer only blocks another if they update/delete the same row). In what way is PostgreSQL deficient in this regard?

      Right now postges sends a message to the application saying, this is locked retry transaction, this is just not up to real enterprise levels.


      When exactly does this happen, and what's the exact error message?
  12. Re:MySQL A threat, hah, tell me another one... by germania · · Score: 5, Informative

    well, maybe not MySql, but PostgreSql do


    • Supports subselects
    • Supports views
    • Supports triggers
    • Supports stored procs
    and does most the things that everyone takes for granted with a decent db server, because PostgreSql is a decent db server.
  13. Re:challenge? by Wavicle · · Score: 5, Interesting

    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)
  14. Standard MySQL disclaimer on slashdot by defile · · Score: 5, Informative

    Addressing the typical slashdot negativity when MySQL is mentioned...

    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).

    MySQL w/ InnoDB is extremely fast, and this isn't just on SELECTs. UPDATE/INSERTs are much faster than in MyISAM tables. Looking back, the turning point where MySQL went from a good database to a great database is when it picked up InnoDB, IMO.

    No, MySQL does not yet support stored procedures, subselects, or views. These are coming in 4.1, along with built-in hot backup support. Plus better replication. 4.0 is available now and seemingly stablizing. The biggest buzz is how thrilled people are with the query cache. At the current pace of development I imagine the above mentioned features will appear and stabilize in version 4.1 within 2 years.

    Is MySQL an Oracle replacement in all circumstances? Absolutely not, but very often Oracle is wholly unnecessary for many of the tasks it's purchased for. We're currently running MySQL + InnoDB on a 36GB dataset at a load of ~500 queries/sec average against a 3 month period. Approxiamtely 30% of queries are data modifications. This is obviously not an impressive system to many of you, but I'm fairly pleased with it, especially considering that "professionals" have been telling us abandon this toy database for years. Personally, I'm glad we saved the down payment on Ellison's next yacht.

    Is MySQL a PostgreSQL replacement? Probably not. There are back and forths about speed and features--PostgreSQL does support more of the features listed above--but I find MySQL to be easier to use and better supported, and the benefits to me of switching are not very apparant. Your mileage may vary. It's not the end of the world to enforce some business logic in the application layer, and it has its own benefits.

    MySQL continues to impress us and the support we receive is outstanding. And that was before we even decided to purchase a yearly support contract. I have nothing but praises to sing about MySQL, and I think it can only get better.

    Oh and it's free and open source. *shrug*

  15. Re:Still couple of years away... by ergo98 · · Score: 4, Interesting

    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.

  16. Re:Not yet. by curunir · · Score: 5, Insightful

    The irony here is that your very post is being stored in a MySQL database on a site that is pretty famous for its high-availability/reliability. /. has about a half million user accounts and is known for overwhelming other sites by simply linking to them. It seems to be working pretty well on this site.

    You might have had a point if you'd mentioned that Oracle was more flexible than MySQL. MySQL doesn't have all the features that Oracle has. But if MySQL has the features that are needed for a given project/implementation, then it is a valid option.

    --
    "Don't blame me, I voted for Kodos!"
  17. Comment removed by account_deleted · · Score: 4, Insightful

    Comment removed based on user account deletion

  18. Many byers missled by this kind of discussions by sedna · · Score: 5, Insightful

    Most database-systems set up by scientific projects I've seen, have been using either Oracle or Microsoft systems. This is of course completely insane considering the need they have, and a total waste of money. Unfortunately many people read a little about databases on sites like /. and start to belive that they are setting up a large database. After reading this thread, one can easily think that American express is running an averaged sized system with normal demands on security... The truth is that almost no school systems, museums, scientific projects etc. etc. ever need an enterprize solution. An example of the problem is an institut for Marin research in Colombia where they used Oracle. They paid $15.000 each year in licence fees to set up a database for their collections. They wanted to put it on the web and needed to pay $5.000 more. This is a simple task that Mysql, with all it's flaws, easily could manage, and without the need of an experinced Oracle techincian. There are Highschool Linux geeks in Colombia as well... The overkill in usage of database systems around is probalby enrmous and a very good source of revenue for Oracle and Microsoft. Think about this when you are bashing the lack of advanced features in Mysql. Someone might actually belive you and buy an Oracle licence to run the member database for their local bridge club...

  19. Success of Open Source by martenmickos · · Score: 5, Interesting


    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

  20. libmysql is LGPL not GPL by yerricde · · Score: 4, Informative

    In the case of libmysql (C native-interface library of MySQL), developers are forced to pay so much money for using GPL code(libmysql) in their software as non-GPL state, plus their customers have to pay money for commercial-licensed MySQL server.

    Bull. The libmysql client software is NOT GPL but rather Lesser GPL, which allows linking the client software against a proprietary application program. "A license is not required if: You include the MySQL client code in a commercial program. The client part of MySQL is licensed under the LGPL". Even then, MySQL with InnoDB is $400 per multi-processor machine, as opposed to MS SQL's $20,000 per processor for the unlimited-client license.

    Microsoft doesn't require such license fee when you use OLE/DB etc. to get native access to SQL server.

    Yes it does. Microsoft SQL Server is priced based either on the number of processors or on the number of machines that will access the database.

    --
    Will I retire or break 10K?
  21. Re:Why don't they use dBase IV... by letxa2000 · · Score: 4, Insightful
    Everytime someone slobbers off about how MySQL is the greatest thing since sliced bread, what they really are doing is yelling "I AM IGNORANT! I AM A FOLLOWER!". I'm not kidding.

    You might not be kidding, but you also don't know what you're talking about.

    MySQL is the greatest thing since sliced bread for those that find that it DOES THE JOB. MySQL has done everything I need it to for my applications and does it fast. I run several websites using MySQL and it works great. I wouldn't even THINK of using SQL Server, Oracle, or any commercial software instead. In fact, the MyPhpAdmin intetrace is much BETTER than what I had to deal with when I worked with SQL Server 6.5--the last version of SQL Server I've had the misfortune to use.

    Many of the features that make the big commercial databases are bloat for many of us. I prefer not to use stored procedures--keep the data in the database and the program in the program. I don't like triggers, especially during the development process. I'd rather have a subroutine that does everything that needs to be done rather than rely on a database (and tie myself to it) to trigger certain actions. I'm not fond of database-enforced relationship constraints. I'd rather my code insert the right data than have the databse reject a transaction with an error because something went wrong.

    Sure, if you are Citibank and have a dozen offices around the country that all write their own scripts that modify the same data underneath then you might need stored procedures, triggers, and constraints to make sure no-one messes up the data. But for 95% of the database applications, stored procedures, triggers, and even constraints are bloat. If I can SELECT, INSERT, DELETE, and UPDATE, MySQL serves my needs.

    You also seem to be missing the point. The U.S. Government is already using MySQL successfully. It has never crashed (in the case cited by the article). Yahoo is already using it and is thinking about migrating the rest of the site to it. Last I checked, Yahoo is one of the highest-traffic site on the web. I don't think they'd make a decision like this without some real investigation. If MySQL is good enough to even be considered by Yahoo, it's definitely good enough for 99.9% of the websites out there--despite your well-informed, expert opinion. I personally believe Yahoo's decision has a little more weight than soem rant by an anonymous coward on Slashdot.

    Oracle and SQL Server might have their place on 0.1% of the databse applications out there. But, believe me, they aren't going to be able to run a profitable business on that 0.1% of the database market. And the rest of the market CAN consider MySQL. Or, in the case of your relgion, PostgreSQL.