Slashdot Mirror


MySQL A Threat to Bigwigs?

Disoculated writes "Is MySQL a threat to bigwigs? is the question asked in CNN's technology section. The article notes that MySQL is running perhaps 20% of the web databases but its revenue is merely 0.02%... yet the company is still making money and putting out an excellent product. Is this a sign that the database market is in for a drastic change? Of course, there's no mention of PostgreSQL or mSQL, but I guess that's typical."

105 of 426 comments (clear)

  1. Version 4 Will Tell by Daveman692 · · Score: 5, Insightful

    It all boils down to how MySQL 4 is looked upon. Big sites already use MySQL, as seen here, but will version 4 have enough features, be robust enough, and provide the support to convince those running things such as Oracle to switch.

    1. Re:Version 4 Will Tell by jeepthang · · Score: 2, Informative

      Yip, you're 100% correct. The current version of MySQL simply can not compete with the Oracle's of the world. When MySQL launches version 4, they will have nice features such as sub-selects, and the undeniably important transactions. Only then will we see if MySQL can take on the big boys.

      --
      -------------------------------
      High-Res Beer Bottle Collection
    2. Re:Version 4 Will Tell by letxa2000 · · Score: 5, Insightful
      I think the issue is that MySQL is very adequate for 99% of all users including most large enterprises and certainly most websites. Even if it is adequate for only 90% of them it's a huge threat to the big guys. There will always be a niche for the big guns that handle huge databases with many, many simultaneous updates. But that's a small fraction of the total universe of database installations and I don't think it's enough for the big guys to continue to be profitable.

    3. Re:Version 4 Will Tell by RevAaron · · Score: 4, Interesting

      Considering the way MySQL is (ab)used, flat text files, serialized data structures/objects or XML files would be very adequate and just as convenient for what 30-40% of what MySQL is used for. Mind you, they would be sufficient for what 30-40% of the big boys of enterprise databases are usually used for, but they're often applied when they're actually needed.

      That isn't to say that I am against using databases, but the overhead of MySQL is often pretty absurd for very simple dynamic websites (hell, a lot of kinds of dynamic web sites) and desktop apps managing a relatively small amount of information. If a DB was integrated into the OS as the preferred method of storing data, with the overhead paid for across many apps in increased convenience, it'd be worth it. But why the hell should I need to install MySQL just to maintain a list of todos and contacts? Look on Freshmeat- there is a torrent of applications using MySQL for managing small amoutns of data, both web and desktop apps.

      It's too bad most Linux developers aren't interested in doing something really forward-thinking. If there was a DB integrated into the OS, and apps encouraged to use it, with avenues of data management made easily available to the user, computing could be actually pushed ahead by Linux. But not today, and probably nor ever.

      Oh yes, my point: most of these apps would do fine with a flat file or (if one must get fancy) an XML file to manage this data.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    4. Re:Version 4 Will Tell by walt-sjc · · Score: 4, Insightful

      Let me expand on that :-)

      The bottom line is that Oracle (and other enterprise DBs like MSSQL, DB2) have enterprise features that MySQL (and other open source DB's) just don't have, and probably won't have for Years. It's more than just the ability to scale, and raw performance on simplistic tables.

      Most everyone is very much aware of MySQL and other open source solutions are great for certain types of applications, but horrible for others.
      That said, many enterprise users use Oracle in cases where MySQL would be much more cost effective, and probably better performing as well.

    5. Re:Version 4 Will Tell by walt-sjc · · Score: 3, Interesting

      That's a good question for IBM who did exactly that back in the early 80's with the AS/400. In fact, the entire architecture was designed around it.

    6. Re:Version 4 Will Tell by RevAaron · · Score: 4, Informative

      BeFS didn't do it. BeFS had attributes, which was a definate step in the right direction.

      The Newton OS did it, with an object database. Down the line, other PDA OSes did it as well- Palm OS and the Helio's VT-OS both provided a database as the only means of data persistence. The Palm OS and VT-OS DB systems are quite a bit more restricted than the Newton OS's OODB or the theoretical system-wide relational DB we're discussion.

      Dynapad (my PDA OS/OE) take an approach similar to the Newton OS with an system-wide object database.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    7. Re:Version 4 Will Tell by the+eric+conspiracy · · Score: 5, Informative

      MySQL is very adequate for 99% of all users including most large enterprises and certainly most websites.

      I used to be a big fan of MySQL, mostly because it was moderately capable and free. Now that I have tried Postgres though there is no way I would go back.

      Yes, version 4 will be an improvement, BUT it is still missing many key features like views, triggers, full outer joins, update with subselect, that are already present in Postgres, and the fact is I've been using the features that MySQL is promising for the future for a year and a half now.

      The following site does a very good comparison between the feature sets of MySQL, Oracle and Postgres.

      http://det-dbalice.if.pw.edu.pl/det-dbalice/docu me nts/all/html/db_compare/db_compar_chp01.html

    8. Re:Version 4 Will Tell by RevAaron · · Score: 5, Interesting

      I don't specifically mean the kernel. That would seem a bit unnecesary, unless it provided a pretty big boost in performance and was universally used by applications and the system alike to make it worthwhile.

      The point would be for a unified model of data format, access and storage. No more file format worries. Empowering users to manage and manipulate their data. Easy sharing between apps on the same machine, over the network, across platforms.

      The important change isn't in capability but in the way of doing things. Since I do not mean stuck in the kernel when I say OS integration, I simply mean that it would be a core part of the OS used by all applications. Instead of files as we know them. This could be provided by an existing user-space solution, but until there is some standardization the benefits wouldn't really materialize. E.g., it doesn't matter if MySQL is installed on this Linux box on my desk if none of the applications use it.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    9. Re:Version 4 Will Tell by -eddy · · Score: 3, Insightful

      If a DB was integrated into the OS as the preferred method of storing data...

      Isn't that what Microsoft calls the Registry?

    10. Re:Version 4 Will Tell by rycamor · · Score: 4, Informative
      Yes, version 4 will be an improvement, BUT it is still missing many key features like views, triggers, full outer joins, update with subselect, that are already present in Postgres, and the fact is I've been using the features that MySQL is promising for the future for a year and a half now.

      Not to mention column and table constraints, stored procedures, extensible datatypes, user-defined operators, query rewrite rules, and schema and domain support.
    11. Re:Version 4 Will Tell by foniksonik · · Score: 2, Interesting

      I was under the impression that 4 had already been released... is this not so?

      What gives? Personally I only use 3.x.x but that is because the scripts I use were developed for it and don't take advantage of 4 AND I'm not as comfortable with 4, what it brings to the table and what it may or may not break in my setup.

      --
      A fool throws a stone into a well and a thousand sages can not remove it.
    12. Re:Version 4 Will Tell by JPriest · · Score: 3, Insightful

      You mean like Longhorn's SQL based WinFS?

      --
      Saying Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
    13. Re:Version 4 Will Tell by Anonymous Coward · · Score: 3, Interesting

      Peformance isn't what matters. No one cares about the MySQL overhead. SQL is a very *convenient* abstraction and way to access your data. It is easy to setup, and then to process queries. Even if people abuse it, it works. And for 90% of these applications working is good enough.

    14. Re:Version 4 Will Tell by HydroCarbon10 · · Score: 2, Funny

      Not to mention that the current version seems to have a mysterious problem with randomly melting databases.

      I'm bookmarking this story so next time my database melts I can come here for a quick laugh before going off to repair it.

      --
      The best way to accelerate a windows box is at 9.8 meters per second square.
    15. Re:Version 4 Will Tell by SamBeckett · · Score: 4, Funny

      I put on my databases this morning. The dog kept on biting my databases. After I got home this evening, I took off my databases and they were stinky. Luckily, I had some spare databases around to wash them with.

    16. Re:Version 4 Will Tell by Anonymous Coward · · Score: 2, Informative

      larry ellison has been talking about developing a
      DB with an integrated OS for some years, to minimize overhead on DB servers. Sort of the flip side of what you're talking about.

      ls

    17. Re:Version 4 Will Tell by Anonymous Coward · · Score: 3, Insightful

      There are two camps of thinking on this: the flat file people, and the relational database people. I think I'm from somewhere in between.

      Much of the time, someone starts working with flat files and ends up wasting a lot of time writing, testing and debugging code that simply does the file handling work. Sure, a database may be considered "overkill" for some tasks, but most of the time it's worth it just for the time you save not worrying about that extra layer.

      Plus, it is a heck of a lot easier later on to:

      - modify the database schema. eg. Even if your specific program doesn't need additional columns, you can add some which will be used by another program. XML can help alleviate some of that, but it's bloated so using a database instead really isn't really any more overhead.

      - multiple user access

      - security!

      - easy to backup/restore

      - ACID properties

      - multi-language support

      - so the next person to be in your position will know what the hell is going on. :)

      - tons of other things you'll say "oh yeah" about down the road when your flat file system code doesn't cut it anymore.

      Where are flat files good? Client application settings, documents to exchange with users, simple and single-user data.

    18. Re:Version 4 Will Tell by RevAaron · · Score: 2, Informative

      but using MySQL shaves a lot of time off the coding.

      Only if you're doing everything manually. The times where I've gone with serialized data or an XML file, the code ended up less than the same solution done with an SQL connection. However, if you're doing this with a language or library that makes you reinvent this wheel every time, yes, you're worse off in terms of time spent coding. But even if you're stuck on a platform like such, there is no reason you cannot make a relatively small wrapper around these operations which redunancy and amount of code needed to do these things. All the benefits, none of the negative aspects.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    19. Re:Version 4 Will Tell by Chester+K · · Score: 2, Funny

      It's too bad most Linux developers aren't interested in doing something really forward-thinking. If there was a DB integrated into the OS, and apps encouraged to use it, with avenues of data management made easily available to the user, computing could be actually pushed ahead by Linux. But not today, and probably nor ever.

      An application integrated into the OS? You mean like Internet Explorer?

      --

      NO CARRIER
    20. Re:Version 4 Will Tell by SenorMooCow · · Score: 3, Interesting

      Version 4 is currently in "gamma" release, in other words very stable beta. I use it on my website with no problems (although it does not have the load that a large website would need to stand up to).

      --
      I run a Debian/Kernel/Knoppix Mirror: (http|ftp|rsync)://debian.ams.sunysb.edu/
      apt-get @ > 5MBps == teh win!
    21. Re:Version 4 Will Tell by Arethan · · Score: 4, Informative

      Actually, this is an interesting point, but it isn't as valid as you make it out to be. There is absolutely no good reason to embed an RDBMS into an operating system. Not at the level that you are referring to anyways. If you mean filesystem attributes, then that is a different fish, but making a database part of an OS is a bit much.

      XML and flat files are good for data that does't change very often, and are only ever edited by a single user. (XML is also a good way to feed data fram a database into an application) Beyond that, they are pretty useless. They require far too much time on the developer's part when data within given contraints are needed, and coordinating updates between multiple processes can easily turn into a nightmare. Not to mention scalability. XML can get pretty large, and due to the non-indexed nature of the data, it can take a long time to read through it all looking for what you need. For many applications, using a database just makes sense.

      The whole point of an app using a database is to offload the storage specifics onto another program. I applaude the developers of these "MySQL (ab)using programs" for making the decision to focus on their products features and stability, rather than on how they will store their records. Besides, once you install MySQL (or Postgres) once, then it is there for all of your DB dependant apps to use.

      Not to mention the fact that MySQL 4 has standalone features that make your argument pretty moot. Any application can link in the MySQL core at build time, and will be able to have it's own MySQL databases separate from any active system wide MySQL instance. This gives developers an SQL storage system, without requiring the user to install a database on their own. It just comes bundled with the app, and when the app loads, the MySQL core is loaded right along with it.

      I'll keep using databases for storage, and flat files for configuration data, thanks though! ;)

    22. Re:Version 4 Will Tell by darnok · · Score: 2, Interesting

      > That said, many enterprise users use Oracle in
      > cases where MySQL would be much more cost
      > effective, and probably better performing as well.

      It's remarkable how many shops will choose Oracle, DB2 or SQL Server over MySQL or Postgres for even the most mundane tasks, and choose to pay HUGE licencing fees as a result.

      One project that I worked on had the (Web-based) clients sending out parallel requests to a mainframe DB2 backend, and progressively assembling the results in an "intermediary" SQL Server database. Once all the results from the DB2 database had been collated together, the data would then be sent from the SQL Server database back to the client. Although this wasn't a particularly high-throughput app, the sheer quantity of iron that was required for the SQL Server DB boggled the mind - I think it was something like a 4-way active-active cluster - and the SQL Svr licence fees were something over $100k - **for a database that only ever held transient data**!!!

      MySQL would have been perfect for this job. It would have saved big bucks on licences alone, then it would've saved more due to its much faster throughput and lower resource requirements. If really necessary, it could've run on hardware bigger than the biggest Intel boxes, which obviously wasn't an option with SQL Server.

      Why didn't they go with this? Three words - Microsoft Consulting Services.

    23. Re:Version 4 Will Tell by skillet-thief · · Score: 3, Insightful
      Yes, version 4 will be an improvement, BUT it is still missing many key features like views, triggers, full outer joins, update with subselect, that are already present in Postgres, and the fact is I've been using the features that MySQL is promising for the future for a year and a half now.

      One thing that probably keeps a lot of users (esp. web people) loyal to MySQL, is the fact that they learned SQL on MySQL and don't really know what else it should be doing for them.

      In fact, that is where I am right now: just realizing the limits of what MySQL can do and tired of writing various hacks via PHP or Perl to get around certain weaknesses.

      But I think that a lack of SQL culture could keep many users locked into MySQL when other DBs might be better for them.

      --

      Congratulations! Now we are the Evil Empire

    24. Re:Version 4 Will Tell by jeremyp · · Score: 2, Insightful

      XML and SQL are designed for different jobs. XML is a language for describing structured data, nothing more, nothing less. SQL is a language for manipulating structured data in a flexible way. I see no reason why you couldn't issue an SQL query to a database and have it return the results as XML. Well, there is one problem: PHP (for instance) has a nice little function call that will take a row from the mysql result set and return it as an associative array indexed by the column names in native format. Other languages have equally simple ways to get the data in a usable form. Why mess around with XML parsers?

      SQL comes into its own as soon as you have more than one logically distinct but related set of data. SQL allows you to query that data in arbitrary ways not necessarily catered for in the original design.

      Further, XML is a poor way to store data unless you intend to read it all into RAM before doing anything to it. An XML file is essentially a stream of character data which means that it is difficult to index it (making searches slow), difficult to insert records into it (well you could just append new data thus making searches even slower) and not space efficient (lots of extraneous syntax which is only there to make it easier to export to other apps + binary data has to be stored encoded as character data in some way which invariably makes it bigger).

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
  2. I think PostgreSQL is more of a threat by srn_test · · Score: 5, Interesting

    We used to use mySQL, but moved to postgreSQL for performance reasons, and we're glad we have.

    On the postgreSQL general mailing list, people rarely talk about mySQL anymore (let along mSQL). It's (mySQL) is generally regarded as a good alternative to the Berkeley DB stuff (i.e. non-relational), whereas postgreSQL these days gets lots of traffic from Oracle people wanting to go somewhere cheaper.

    Oracle mustn't be happy, I'd think.

    1. Re:I think PostgreSQL is more of a threat by j3110 · · Score: 4, Interesting

      I agree.

      I've developed my last application for MySQL. Everytime the server looses power, I have to ssh into client's servers and tell them how much data they've lost (repair table). It's not a happy time, and buy a UPS is not reassuring (most have them, accidentally bumping power switches/knocking cables loose still happens).

      InnoDB doesn't have this problem, but then again, it has buggy key problems on all of my servers. Sometimes it can't find a record that is there (often this is worse than just loosing the record... you can't create a duplicate). I have to periodically rebuild the index on inno, so I scrapped it too.

      I've used postgreSQL before, and it seems MUCH more robust. It can be a little slower on certain queries, but I'll sleep better after my clients are ported over. I also get updatable views, custom objects, sub-selects, embedded procedures (in a variety of languages), transactions, cross table deletes/updates, and speed when I take advantage of key clustering and these other features rather than hacked solutions for sub-select. I've seen people select "delete from table a where bid=\""+b.id+"\"" from b where c=3 into outfile d; then run mysql -u user -p d

      Sure vacuum could be automatic when there is a great degree of fragmentation, but those are scratches compared to the gaping holes in MySQL like ACID compliance. I've looked at version 4, and it changes the queries so much that I would have to port my app to version 4. It's best I go another route than be disappointed again.

      It sure does help Oracle migrants that pgplsql is about the same as Oracle's plsql :)

      --
      Karma Clown
    2. Re:I think PostgreSQL is more of a threat by maraist · · Score: 4, Insightful

      Actually in 7.3 you can finally drop columns, fwiw.

      I don't know about MySQL 4, but the biggest problem is that MySQL seemed to emphasise speed over robustness.. Large scale benchmarking in the 3-tree caused corrupted databases. postgres has had a journal for a little bit now (don't know how long though). Plus postgres's version-based rows allows for some really high performance parallel transaction control.

      It all comes down to what you are really trying to do.. If you're willing to lose a day's worth of work, and you're not going to have more than a couple dozen simultaneous connections, then MySQL is probably good for you.

      Perhaps 4 has allowed MySQL to catch up with Postgres / surpase it, but it's had too murky a history for a lot of businesses who rank data-integrity number 1.

      --
      -Michael
    3. Re:I think PostgreSQL is more of a threat by leonbrooks · · Score: 4, Insightful
      You can't import from a backup made by a different verion of Postgres.

      I can. I have, many times.

      The older version I was using was trying to parse the comment marks (---).

      The command-line psql segfaults.


      These lead me to suspect that your implementation was broken. I've never seen them happen.

      not being able to delete a column, or change a column type.

      ALTER TABLE [ ONLY ] table [ * ] ALTER [ COLUMN ] column { SET DEFAULT value | DROP DEFAULT }

      ALTER TABLE [ ONLY ] table [ * ] RENAME [ COLUMN ] column TO newcolumn


      I am always changing a column type to varchar(x) and pruning garbage off it (eg dollar signs and commas) and then converting it back to a numeric (double) field.

      Hey, what? You can't store dollar signs and garbage in an integer or float, you shouldn't be trying to feed that to your db in the first place! If you want to do that kind of thing, amidst a `live' table is not the place for it: use a temp table and do it properly. Whis is probably why the PostgreSQL people didn't implement it.

      I'd rather wait for MySQL to add the one thing I'm actually waiting for: stored procedures

      I hope you've got a lifespan like Methuselah's, then. PostgreSQL does stored procedures in a variety of languages already. Your post does sound like a BASIC programmer grunting and squealing when presented with a real language that insists on him doing stuff like decalring variables, and has scoping etc, forcing him to do `work' (actually investing in manageability) that he didn't have to do before - at least, not up front and in small doses.

      --
      Got time? Spend some of it coding or testing
    4. Re:I think PostgreSQL is more of a threat by synx · · Score: 4, Insightful

      it happens, i work for a major company, and due to a wiring error and a mistake made by power techs, major switches and about 20 servers went down, taking out some major production systems.

      So no matter what happens, your database will eventually fail and lose power. Even if the power is 100%, the db software and/or OS will crash.

      And yes, oracle crashes :-) And hard. But it comes back up cleanly, which is the important part.

    5. Re:I think PostgreSQL is more of a threat by Heikki_Tuuri · · Score: 3, Informative

      Hi!

      Can you describe the index problem in more detail? Please send a bug report to mysql@lists.mysql.com.

      - What MySQL version did you use?

      - Did CHECK TABLE report the table ok?

      - What kind of SELECT queries did you execute and what did they report?

      - Are you aware that in the AUTOCOMMIT=0 mode you have to COMMIT your read transaction to advance the consistent read timepoint? Some users do not know this and then wonder why committed data is not visible in another connection. InnoDB serializes read-only transactions at a precise timepoint so that all consistent reads are really consistent with respect to each other. The default transaction isolation level is therefore called REPEATABLE READ.

      Best regards,

      Heikki Tuuri
      Innobase Oy

    6. Re:I think PostgreSQL is more of a threat by Lumpy · · Score: 2, Insightful

      Everytime the server looses power, I have to ssh into client's servers and tell them how much data they've lost (repair table). It's not a happy time, and buy a UPS is not reassuring (most have them, accidentally bumping power switches/knocking cables loose still happens).


      this is not the fault of the DB this is the fault of the data-owners.

      Obviousally your clients have very little value to their data as they do not have the proper equipment to protect it. Power switches getting bumped? what are they running on someone's old dell desktop in a closet? Buy a Compaq ML530 or other real server instead of running on junk. I have to hold in the power switch for 10 seconds before it starts a shutdown because of the configuration I have. a full power crash means unlocking the back of the server rack and unplugging the 3 power cords from the power supplies. As for UPS, I have a APC1400 rack mount for each server and the batteries are replaced YEARLY as well as the UPS's tested weekly.

      we value our data, and it costs us $10,000.00 for every day of lost data. so spending money to protect that data is important to us.

      Obviousally your clients do not have a high cost or high value to their data or they really dont care much about data loss, otherwise they would invest in server class hardware and other assurances. I can only imagine the nightmare that is their backup solution if they have such low quality IT equipment in place that your stated problems actually affect them.

      --
      Do not look at laser with remaining good eye.
  3. Re:If MySQL was just a bit more user-friendly... by drudd · · Score: 5, Insightful

    Have you ever looked at MySQL's online documentation? It's wonderful...

    Fully indexed, with user comments... I often find new techniques while searching for something completely unrelated. I think the great documentation is one of the reasons why MySQL has taken off, it's just so easy to learn.

    Doug

    --
    Venn ist das nurnstuck git und Slotermeyer? Ya! Beigerhund das oder die Flipperwaldt gersput!
  4. SAP DB by wuchang · · Score: 2, Interesting

    There's also a lot of interest in SAP DB

    1. Re:SAP DB by exhilaration · · Score: 2, Interesting
      But nobody seems to care. I'm a fan of PostgreSQL, but I'd love to read some articles comparing SAP DB to the tools we're already familiar with.

      SAP DB is a true, tested enterprise database - did anybody out there start using it when SAP open sourced it? Anybody??

  5. I wonder who mysql steals marketshare from? by Billly+Gates · · Score: 3, Interesting

    It seems oracle is going nowhere in terms of its core market. I am hoping its eating middle end and low end databases like ms-sql server. Access in the low end isn't going anywhere because of its gui and development tools.

    I wonder about Sybase and Paradox which seem to be mid to high end of the market which Microsoft really hurt and now so its mysql.

    I tried out mysql and its ok but postgreSQL is alot better for a RDBM. Its no wonder that RedHat picked postgreSQL for its database product. In Asia the situation is opposite of the west and all the technical books are for postgreSQL.

    I just find it hard to believe its eating Oracle's or IBM's core markets. Mysql is a simple bicycle vs a high end car in comparison.

    1. Re:I wonder who mysql steals marketshare from? by Billly+Gates · · Score: 4, Informative

      Sure.

      Look here and here. Both of these websites mention what postgreSQL (and Oracle)offers that mysql is lacking as well as how to migrate to PostgreSQL. Keep in mind I am not a database administrator or do I consider myself a sql guru. I only use them to write web enabled apps as a hobby and not in a corporate environment.

      However it was rumoured that postgreSQL lacked real backup tools to fix a corrupt database. I believe this might of been fixed but was an issue 3 years ago. This is the only downside I see. Both Mysql and Oracle have tools to fix such a problem. Maybe someone who is reading this who is more familiar with administering databases can comment on this.

    2. Re:I wonder who mysql steals marketshare from? by Billly+Gates · · Score: 2, Insightful

      Also look here.

      This shows how much postgreSQL can really scale.

    3. Re:I wonder who mysql steals marketshare from? by Hrunting · · Score: 4, Informative

      Look here [webtechniques.com] and here [sitepoint.com]. Both of these websites mention what postgreSQL (and Oracle)offers that mysql is lacking as well as how to migrate to PostgreSQL.

      The first article was written in September 2001. The second article was written in October 2001. The person who replied to your post cited an article from 2000, almost three years ago. The PostgreSQL vs. MySQL argument would be a whole lot more interesting if the articles cited were actually relevant to newer versions of both databases. It would also be great if they were more than just, "Hey, look, I got my inefficient bulletin board working a little better under database XYZ."

      The best database is the one that has the features you need, the performance you desire, at a price you're willing to pay.

  6. That depends... by dasmegabyte · · Score: 4, Interesting

    A lot of the viability of any product is based on who is selling it as part of an end to end solution. More and more developers are doing this with MySQL, but most of these developers are doing it for relatively low end applications. The "high class" consutlants and developers will be using DB2 and MS SQL forever, because a) they're told to do so by the people who can fire them b) they're used to it, and used to touting its glory c) they have a ton of tools for it.

    Furthermore, there are some applications that just don't make any sense to switch. An example is government databases. I'm working right now with a state government database written on top of Sybase, and i don't think it's ever going to move off of Sybase unless the company tanks. There's actually three pages of (somewhat unfounded) explanations as to why it can't be ported to MS SQL. Mostly bullshit about WACOM SQL being incompatible with Transact (which begs the question, why not just use Transact in the first place when MS' and Sybase' version are about 80% similar). Can you imagine the developers, who have big enough egos to include three pages of MS SQL Server bashing in their docs, redoing their whole bloated app just so it can run on a free environment? Lord no! Not to mention the cost to taxpayers, who have already footed massive bonds to pay the usually high up front costs for software. Think they're going to pay a hundred k for some developers to rewrite everything in a free environment when they could just pay a few thousand for a Sybase license?

    Do I think that truly open minded (some would say wise) development houses looking to cut costs on new systems are going to go MySQL? Absolutely. But there'll always be a place for the behemoth server app, not because it's better, but because it's PERCEIVED as better.

    --
    Hey freaks: now you're ju
    1. Re:That depends... by jfpoole · · Score: 2, Informative

      There's actually three pages of (somewhat unfounded) explanations as to why it can't be ported to MS SQL. Mostly bullshit about WACOM SQL being incompatible with Transact (which begs the question, why not just use Transact in the first place when MS' and Sybase' version are about 80% similar).

      Depending on which Sybase database they're running, it might not be unfounded. There are a couple of Sybase database servers out there. One is Adaptive Server Enterprise (ASE), which is based off the same codebase as Microsoft SQL Server. Another is Adaptive Server Anywhere (ASA, formerly SQL Anywhere, formerly Watcom SQL), which is a different codebase entirely. If the developers are talking about Watcom SQL, then I suspect they're running ASA, not ASE, in which case porting an application from ASA to SQL Server might be non-trivial (I've no idea, since I've never tried it).

      There's also the fact that ASA is fairly cheap as far as database servers go, so there might not be much incentive to port these applications to MySQL.

      (Disclosure: I'm a code monkey for Sybase.)

  7. Threat? by gmuslera · · Score: 2, Interesting
    It could be benefical for big databases. With free and widely available databases more and more applications will rely in it, and for those applications that need to grow more than the actual database can, then there is where the big databases come. After all, all are SQL based, is easier to migrate an application from mysql/postgressql/msql/interbase to oracle/redbrick than, well, a non sql database to a sql one.

    In a job I had to migrate an application done originally in clipper to web/sql/etc, and choosed mysql because I thinked that it will be enough, but if not, the migration to a new sql server will be a lot faster and less complex than the first one.

  8. Re:If MySQL was just a bit more user-friendly... by gl4ss · · Score: 2, Interesting

    all ms software is 'at your own risk' software.

    very much so more because you can't even do anything with them if ms decides so that you don't deserve it to work anymore. mysql is pretty much easy enough to install for somebody who wants to have alternative to ms-sql server, however sometimes people don't for very questionable reasons even want to look for change(and i'm not saying mysql would be the only best option either, just that most windoze users can even install it, mysql's website does offer very good docs btw, and i thought support is what where the money mentioned comes in? and the point of the article is that it is __not__ a fringe, experimental db anymore, instead it is very widely deployed).

    --
    world was created 5 seconds before this post as it is.
  9. Re:Ethical obligation? by ccady · · Score: 4, Informative

    Sorry.

    The GPL, one of the licenses under which MySQL is distributed, states that if you re-distribute it, you are also required to share the changed source code.

    My complaint was that the article was imprecise. If a company changes, but does not re-distribute MySQL, they are under no obligation at all, ethical or legal. If they re-distribute it then they are under a legal obligation to share their changes to anyone who uses it (not just MySQL AB).

    --
    J'aime mieux les méchants que les imbéciles, parce qu'ils se reposent. -- Alexandre Dumas
  10. "Ethically Obliged"? by Landaras · · Score: 4, Informative
    From the article:

    Anybody can download the product for free and use it for whatever they want, but in so doing they become ethically obliged to share any modifications with the company.


    The GPL does not merely give you an ethical obligation to share your modifications with anyone you distribute them to. It gives you a legal obligation. Until shown otherwise by a court, the GPL is legally binding. As such, stating that the (presumably only) obligation that someone modifying the code has in an ethical one furthers the outdated notion that all pieces of Open Source Software are amateur projects that are only held together by people who choose to donate their time for whatever higher reason. Not that there is anything wrong with volunteering your skills, but there are major businesses investing time and money in OSS.

    From a business standpoint, OSS is legitimate. It would be nice if CNN reported it that way.

    Note: I contacted CNN.com regarding this when they first posted the article. Predictably, I have not yet received a response.
    1. Re:"Ethically Obliged"? by RevAaron · · Score: 4, Insightful

      I don't think the writer was confused in that the GPL is legally binding rather than ethically binding. That is, the GPL only legally requires you to redistribute your code if you pass out/sell the binary, not if you make the changes for your in-house setup. However, if I am a business using a heavily modified version of MySQL, adding tons of great features that make it a real player with real enterprise databases- but not sharing or selling the binary, there is still an ethical obligation- not a legal one, pressure from the community at large to share your changes. You see it all the time in the Linux community in especial.

      That is how I read that statement, and from that standpoint, the author is correct.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  11. Reason why PostgreSQL or mSQL weren't mentioned by ciurana · · Score: 4, Insightful

    From the posting:

    Of course, there's no mention of PostgreSQL or mSQL, but I guess that's typical.

    This article has all the signs of being the effort of MySQL's PR firm. Nothing wrong with that; they didn't mention PostgreSQL or other OSS databases because their desired outcome is to increase awareness of MySQL, not the others.

    Cheers!

    E
    --
    http://eugeneciurana.com | http://ciurana.eu
    1. Re:Reason why PostgreSQL or mSQL weren't mentioned by leviramsey · · Score: 2, Insightful

      That is the way that things tend to work in the magazine world. In this case, since MySQL is not that big a fish, Fortune's editor tells some junior writer, "Forbes and BusinessWeek have run articles on open source software in business. Do something on open source databases." The junior writer then looks at the figures, sees that MySQL is the most popular of the OSS db's, sees that there's an actual company behind them, and calls up MySQL AB's press office. Said PR firm basically sends him an outline, with relevant quotes from luminaries, and junior writer bangs out a story from that outline.

      Moral of the story: magazine writers are lazy.

  12. Cheap, fast and easy. by Hamstaus · · Score: 3, Informative

    MySQL is a phenomenal product, in terms of just how much a small to medium size business can accomplish with it, for so little cost.

    Having to use a data-storage solution like Oracle is simply unfeasible for anyone but large companies. I've been using MySQL for 3 years to build web applications, and I've never had a crash or corrupted data. The only problems I ever ran into was when one of my systems had a table get to 2GB on the 2.2 kernel, but that wasn't MySQL's fault ;)

    With the inclusion of InnoDB, MySQL definitely becomes a threat. The main problems I've run into with MySQL is backing up/restoring without locking up the whole system (table-level locking). InnoDB of course removes this!

    I see no reason to use Oracle over MySQL for anything but the largest system. Then again, why even that? Doesn't Slashdot run on InnoDB...?

    --
    I moderate "-1, Fool"
  13. web databases != database market by Misha · · Score: 4, Insightful

    you probably won't find too many databases on the 'net that need the kind of performance some commercial brands give. so i wouldn't say the drastic change is coming, unless companies start putting their payroll records for the web to see.

    our company actually puts mysql onto websites, but no client comes (at least for us) and says 'can you replace my blah-blah db version blah point blah with mysql'. we usually put mysql as a replacement for product databases, forums, etc. which previously were stored in text files or worse. and we usually do this for clients who simply can't afford anything and haven't invested into updating their site in 1-2 years. if they can afford it, they usually already know what they want, and it usually doesn't come free in a cvs snapshot.

    --



    I was thinking of how to intentionally fail my drug test... It would make a good memoir story someday.
  14. Re:Ethical obligation? by RevAaron · · Score: 2, Insightful

    Read what you put in bold again. This journalist said that they become ethically obliged- not legally by the GPL. And largely, that is the case. It would be nice if the writer could have said more than just that, but how could it have been said better in one sentence?

    If you don't think that businesses (to a lesser extent, individuals) have an ethical obligation imposed by the community to share modifications made to an OSS project, you haven't been reading Slashdot or other forums of Free/OS software discussion. Hell, half of the "Ask Slashdots" where someone is asking about some whether application that does x, y, and z exists for Linux, there is always a big hunk of replies stating "this is OPEN sourze d00d write it yourself and share it with the world. otherwise, you don't deserve to use OSS- even if this app already existed." Yes, it's a stupid attitude (IMHO), but quite real in the community.

    --

    Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  15. Tools by Elektroschock · · Score: 2

    GPL Admin tools like TOra 8very good, targeted at Oracle) and some KDE Tools like Kexi will prove that MySQL ist a professional database. However, more important is easy administration. Imagine MYSQL without PHP!

  16. Re:postgres, schmostgres... by Jeffrey+Baker · · Score: 3, Informative
    If you can't figure it out, you are a jackass:
    create table foo (bar int default nextval('my_sequence'))

    That's hard? Give me a break. MySQL is so internally inconsistent that auto_increment is practically the only atom in the entire data definition syntax that uses the underscore! How about this bit of MySQL genius:

    create table foo (bar int default 42 auto_increment primary key)

    Which is the default: 42, or max(foo) + 1? The statement is internally inconsistent but MySQL allows it anyway. Nevermind the stupidity of requiring a unique index on the auto_increment column.

    PostgreSQL has a number of operational problems -- vacuum, toast table indexes, and so forth -- but the SQL syntax is not one of those.

  17. Who Wants To Be A Millionaire? by jfisherwa · · Score: 3, Insightful

    Put a wrapper/installer around MySQL or PostgreSQL that lets you import a SQL Server database dump -- including stored procedures.

    1. Re:Who Wants To Be A Millionaire? by rycamor · · Score: 2, Funny

      It's going to take more than a wrapper to get stored procedures into MySQL (lol).

      But that is an excellent idea for PostgreSQL.

  18. Re:If MySQL was just a bit more user-friendly... by tuffy · · Score: 3, Insightful
    Fully indexed, with user comments... I often find new techniques while searching for something completely unrelated. I think the great documentation is one of the reasons why MySQL has taken off, it's just so easy to learn.

    Furthermore, look at the dead-tree documentation available for each. Not only are there more MySQL books available than PostgreSQL ones, but the MySQL ones tend to be larger. For example, the New Riders MySQL book is over 400 pages longer than the PostgreSQL one - and their MySQL title isn't exactly brimming with filler. I'm convincesd PostgreSQL adoption will lag behind MySQL until more/better docs show up so people can learn it and its capabilities better.

    --

    Ita erat quando hic adveni.

  19. Re:If MySQL was just a bit more user-friendly... by harvardian · · Score: 2, Insightful
    Your comment is spoken from the point of view of somebody who runs a website with a small to moderately sized, simple database.

    So that's great, you blog well in PHP, but you utterly overstate the power of MySQL. MySQL will not even approach taking on the big database apps until they have a) subqueries and b) true ACID support. Many complex websites have stored procedures with subqueries in them, and it's logistically impossible for these sites to migrate to MySQL, since it would involve rewriting anything with a subquery (if it's possible at all without nasty temp table hacks).

    And not having ACID (atomicity, consistency, isolation, and durability, btw) support? No enterprise-level website, especially one that does eCommerce, would ever think of running a database without proper transactions.

    So, yeah, MySQL is great at handling small- to mid-size loads, but once you get to high complexity or you need transactions, it's over. Maybe if they include this stuff in version 4 and it survives a couple of years of testing, THEN we might see some significant migration, but it will not happen until then.

  20. Re:postgres, schmostgres... by optikSmoke · · Score: 3, Informative
    Even auto incrementing IDs in Postgres are annoyingly difficult compared to MySQL...

    Uhuh.......... CREATE TABLE foo (bar SERIAL PRIMARY KEY); (PostgreSQL)

    CREATE TABLE foo (bar INT AUTO_INCREMENT PRIMARY KEY); (MySQL)

    In both of the above tables, the bar column will behave pretty much the same way in each database. Yes, annoyingly difficult compared to MySQL because....... the syntax is different? Maybe if the first db you used was MySQL things seem "harder" because Postgres is a little different, but you'll see differences like that moving between any database.

    In any case, even though I use Postgres, and prefer it over MySQL (which I have used extensively before), I am happy that opensource dbs are getting recognition out there.

  21. Re:postgres, schmostgres... by the+eric+conspiracy · · Score: 4, Insightful

    Even auto incrementing IDs in Postgres are annoyingly difficult compared to MySQL...

    Nah, they actually make much more sense in Postgres than they do in MySQL because you can access them using a standard query rather than some bozo non-standard driver extension as in MySQL.

    The problem with MySQL is that the lack of basic functionality like triggers, subselects, foreign keys makes it a total PITA except for the simplest applications. Sure you can write code that works around the implementation limitations, but WHY should I have to reinvent something over and over that should BE PART OF THE DATABASE?

    You may think this stuff is esoteric, and not needed for the average blog or even e-commerce site, but that's baloney. FKEYS *ARE* needed for just about *ANY* database application except the most trivial - ie. an address book.

    MySQL - forget it - it just isn't competitive with other free databases out there.

  22. Mindshare by arvindn · · Score: 4, Insightful

    MySQl being more popular than Postgres has a lot to do with mindshare than product quality. Take me, for instance. I set up apache for the first time a month ago, and I wanted a db server for some things. I had heard of both MySQL and Postgres, but I had been bombarded with the words "LAMP" and MySQL guide/tutorial/howto so many times in the past that my first thought was to give MySQL a try. I found it was already installed on my machine, had lots of documentation, and had no learning curve - no complaints at all. So, Postgres didn't even get a fair consideration from me. Of course, you might say that newbies and students like me don't count, but keep in mind that I might become a database admin some day, at t which point I would have a lot more experience with MySQL than Postgres...

    1. Re:Mindshare by rtaylor · · Score: 3, Insightful

      With all due respect, you're not going to make a very good database admin if your experience is limited to MySQL.

      Much as I wouldn't hire someone who's sole unix experience was with Linux (for any position other than Junior anyway). You simply learn a slew more tricks of the trade when your experience is diversified. When making a decision, you can usually back it up with a decent reason rather than simply "It's what I'm used to".

      Nothing against Linux or MySQL. I've said the same to people who have solely used Oracle on Solaris.

      --
      Rod Taylor
  23. Re:If MySQL was just a bit more user-friendly... by mitcharoni · · Score: 3, Informative

    MySQL has the power (pretty much) to replace MS-SQL Server.

    OMG, you didn't really mean that, did you? Oh, that's so cute...

    MySQL is barely ACID compliant, doesn't support triggers or stored procs or views (just for starters), and you say it has the power to replace MSSQL Server?!?!? For goodness sakes, MySQL just NOW has a shared SQL area (query cache). You gotta crawl before you walk, and you gotta walk before you can run with the big boys. MySQL is a very capable database in its own right, but it's still in it's infantcy.

    With some of the best replication and datawarehousing functionality on the market and consistently a price/performance leader, I don't think MSSQL Server is going anywhere anytime soon.

  24. transactions by nemeosis · · Score: 5, Insightful

    MySQL is good for certain applications, where you only read data, and don't write too much data. This works out especially well for most web sites, since they serve information, but doesn't necessarily allow too much information to be posted by the user.

    Lots of message boards on the web use MySQL as their database, because even though people are uploading comments, the amount of data that they upload isn't all that much. Slashdot for example, a popular discussion could prompt 500 messages to be posted in 15 minutes, but still, that's not that much information.

    The key word here is transactions, the constant reading/writing, downloading/uploading of information on a massive scale, where each occurence is audited. And I think that's where MySQL has its weakness. PostgreSQL is supposed to be a bit slower, but it takes transactions into account. Red Hat's database software runs on the PostgreSQL engine specifically because of this.

    Banking and finance applications require this accountability, because it's just that important. Websites don't need that accountability and overhead, which is why MySQL shines for web servers.

  25. "rollbacks" are an advanced feature? by markv242 · · Score: 3, Insightful
    I'm sorry, but that's like saying catching exceptions in your JSP code is an advanced feature, and you don't really need to use it.

    Commit/rollback is an essential component to any decent data management system. Until you are absolutely sure that your data is correct -- that is to say, until you have done all of your transactions on the page successfully -- you should never actually write data to your database. Without using commit/rollback, you are stuck with the haphazard method of trying to manage potentially disastrous records of data showing up in your db.

    Your other quote: "And MySQL will blow the doors off of Oracle and other databases in terms of raw speed" is similarly incorrect: MySQL may be faster when you are dealing with a small amount of connections, but as soon as your application starts getting any amount of concurrent users, MySQL is famous for falling down rather rapidly as it strains to write its data to disk.

    MySQL cannot scale reliably, period. Having two database systems act as a pool, under MySQL, is a crapshoot at best. Unless you like designing single points of failure into your web applications, stay away from MySQL.

    Simply put, if you expect your web application to get any amount of decent traffic (say 100,000 pageviews+ per day), then MySQL is simply not an option. Oracle is simply the standard upon which others can only attempt to compare themselves to. MySQL may be fine for the low-end "check out my k00l dynamic site!!11!!" crowd, but for professional web applications, MySQL has a long, long ways to go.

    1. Re:"rollbacks" are an advanced feature? by Graelin · · Score: 3, Informative

      Simply put, if you expect your web application to get any amount of decent traffic (say 100,000 pageviews+ per day), then MySQL is simply not an option.

      FYI. 1.5M per day - we run MySQL. It has and continues to run like a champ every single day for the last 2+ years.

      Of course, we've thrown some pretty high-end hardware at it to keep it running this long.

      MySQL cannot scale reliably, period. Having two database systems act as a pool, under MySQL, is a crapshoot at best. Unless you like designing single points of failure into your web applications, stay away from MySQL.

      Nail on the head here. InnoDB (the real seller for MySQL, since it gives them ACID compliance) *really* sucks under load. It starts chewing itself apart. Funny to watch, not funny to clean up - since you really can't.

      We've been using replication in MySQL for backup purposes. (The replication has always been reliable for us) We can take the slave down for snapshots. But that is *all* we use it for.

      MySQL will last us just long enough to finish our PostgreSQL migration.

  26. Missinfg Features by juergen · · Score: 5, Insightful

    As long as MySQL doesn't conform to all of ACID, it won't be used by serious players. So all those who use Oracle etc. and need a real RDBMs won't even try to switch. There was a lengthy discussion (or should I say ranting) over this in user comments in the online MySQL manual, but it looks like they removed that. Here's the best link I could find: Manual/ACID.

    All those who can live with less, well, IMHO having these features still makes development of sound applications so much easier it pays off having it. PostgreSQL has most of Oracles features, conforms fully to ACID, costs the same or less as MySQL (nothing, compared to MySQL which is virtually useless free without the commercial table handlers), and there are some companies supporting it too.

    In my experience an application which does correct error checking and handles faults etc. is not faster in MySQL than in most other DBs, just harder to write. And there are alternatives to PostgreSQL, if you don't like it.

    Jürgen Strobel

  27. It depends on what you want to do by vinyl1 · · Score: 4, Interesting

    I work at a heavy-duty Oracle shop. I would say that Oracle has gone way beyond being just a database vendor, in that they provide a complete--but proprietary--environment. Since I haven't needed to use many of their features in the past, I had never realized how complex their software is.

    I can't believe MySQL doesn't even have subselects yet. I've been living on subselects and 'connect by' for years. I never did like PL/SQL all that much, but it does allow you to run complex programs over the network without creating high traffic. And SQLNet does make things a lot easier. The whole thing is kind of like a database flavor of Unix, with its own world of commands, scripting tools and permissions.

    As for Oracle's 'fancy' products, like Express, Forms, the OID, Portal, and Workflow, they are serious attempts to extend the database principles into a generalized suite of enterprise-level business tools. They are a little too cutting-edge for my taste, but you won't find anything like this in a non-proprietary product.

  28. Re:MySQL vs "bigwigs" by LoztInSpace · · Score: 2, Informative

    Rollback is not an advanced option. It's essensial for any non read-only database. When you have a typical OO or other modular system you often ask a particular function to do something without it being aware of the wider context. Something in that wider context may well decide something is wrong. Without rollback (and commit) life becomes a royal pain in the arse and/or your data becomes rat shit.
    Replication is useful for keeping things going 24/7 and allowing intensive off-line reports etc.
    Lets not confuse "advanced" or "bloated" features with "features I don't use".

  29. Why not mySQL? by Anonymous Coward · · Score: 5, Interesting
    Philip Greenspun wrote a short and excellent article on ACID compliance. The article is 3 years old, yet mySQL still has problems as they developers don't seem to believe that ACID is important. Open ACS on "Why Not mySQL"

    mySQL is, unfortunately, a SQL interface to a bunch of files based on various index sequential access methods. It gets its speed by ignoring transactions, triggers, stored procedures and other things that, when your company is successful, will need in its database. mySQL's replication is also not guaranteed and when its spotty, it doesn't tell you.

    The open source DB community is a powerful force with a lot of potential and a lot of success. That success is in markets where transactions are low and/or not critical to the customer.

    mySQL and others need to ensure that they have these features:

    • stored procedures (implementation outside of the A in ACID aren't complete - perl, java, python, etc)
    • Referential integrity, foreign keys, transactions
    • hot backups where you don't have to take the database down to get a backup with guaranteed integrity.
    • reliable replication (argue away, only shareplex, NT SQL server & Sybase have it today)
    • sub selects
    • temp tables
    • function based indicies
    • automatic partitioning
    • rollback (true rollback w/transactions)
    • triggers
    • block and row level locking. A select on a 50 million row table shouldn't lock the table.
    • joins that do not lock tables due to full table scans
    There are a lot of good reasons for using mySQL as a platform to begin the development of a project. For personal use, it's hard to beat! If you are a professional in a company that needs to support real clients with real data with real guarantees, spend your money on a real database.

    Where do you want to spend your R&D money? On your product or on the database that does most of the things you need, but not all of the things you need. Don't you want to spend your time building the product that pays your salary and makes your customers happy? Why spend time on the database, just buy something that works.

    One more thing, a not unreasonable architecture for a database driven application is:

    • UI layer
    • Business rule/application layer
    • Application Programming Interface
    • Stored procedures (potentially hundreds)
    • Database
    Good luck.
    1. Re:Why not mySQL? by Hrunting · · Score: 2, Insightful

      The article is 3 years old, yet mySQL still has problems as they developers don't seem to believe that ACID is important. Open ACS on "Why Not mySQL" [openacs.org]

      Well, the ACID qualifications have been satisfied by MySQL through the InnoDB handler for over two years. Other issues, such as advanced SQL features, are still in progress.

      But to the original point, I think it's a good thing that MySQL doesn't think that ACID is important. They have different priorities. Their priorities do not lie in making a database that conforms to someone (anyone) else's theories of the perfect database. They implement features that are requested by their customers (pay a minimal licensing fee and you suddenly get a much greater voice in the direction MySQL is taking) and their overriding goal is to implement those features as efficiently as possible, so that speed and performance aren't sacrificed for feature bloat. They tend to implement their features along the line of standards, but they also through in numerous "extensions" to that standard that make way for faster processing and quicker development time. That sounds to me like an excellent way to run a software project.

      With that said, they have a roadmap for implementation of various features, including subselects, triggers, etc. and they've already explained why one is getting implemented before the other. If you think a really, really important feature is missing, pay them some money and then say, "Hey, this is a really important feature to us and we just gave you $XXXXX."

  30. No. It isn't. by philovivero · · Score: 5, Insightful

    MySQL is not a threat to the bigwigs, because they compete in different realms. MySQL is a threat to filesystem-storage and BerkeleyDB.

    PostgreSQL is a threat to the bigwigs, however.

    This is not to say it won't change. MySQL apparently is trying to implement features that would make it compete with real relational databases, but last I heard, views weren't on the list, so I'm not holding my breath.

    Other OSS projects that may be a big threat include SAP DB (used to be Adabas D) and... uh... right. There you go. Reply if you're a real DBA and think there's another competitor in the space of true relational RDBMSs. Hint: If you think MySQL could be on the list, you're not thinking of industrial strength databases.

  31. Re:PostgreSQL has every feature but Replication. by UnderAttack · · Score: 2, Interesting

    Not sure why it hasn't gotten around to PostgreSQL yet that MySQL does support transactions.

    I see it as one of the main advantages of MySQL over PostgreSQL is that you are able to turn off transactions if you don't need them.

    The main difference between MySQL and PostgreSQL is more 'philosophical'. MySQL does not attempt to hunt Oracle based on features. Instead, the main objective for MySQL is speed. PostgreSQL on the other hand attempts to duplicate as many Oracle features as possible.

    BTW: MySQL does support replication well, even in its non-commercial version.

    --
    ---- join dshield.org Distributed Intrusion Detec
  32. Surprised.... by PrimeNumber · · Score: 4, Interesting

    I am frankly surprised that MS SQL Server was ranked along oracle and DB2 as a 'high end' DB. Anyone who has had to work with it usually disagrees!

    Personally I have seen SQL server most on small/medium size business environments. Any large 'enterprise' sized business deserves what they get if they are dumb enough to rely MS SQL server. Look what happened to Bank Of Americas ATMS when the last MS virus du jour made its rounds.

    I think MySQL is the best bet to reduce Microsofts share of the DB market. Oracle is better, but small business isn't willing to fork out that kind of cash, especially in this economy. MySQL is especially perfect for the small business web site, and with Microsoft irrationally increasing subscribtion fees and forcing upgrades, a good percentage of their customers will be running into the open arms of MySQL/Postgres.

  33. Re:MySQL vs "bigwigs" by jonr · · Score: 4, Informative
    What idiot marked this as "Insightful"? Let me make a bullet list:
    • You can find lots of documents online at oracle, but I guess you didnt care
    • Speed, MySQL is speedy, because it doesn't have to do anything
    • Again, no refirental integry (OOps, I didn't mean to change that foreign key, now I don't know what it pointed too, my database is corrupt! AAARG!)
    • Rollbacks are not fancy stuff, they are essential to a real database
    • Hardware levels? Ok, go back to your parents basement
    With Oracle you can choose: speed, security.
    Mysql: Speed. Only.
    Mysql is like a dragster, fast but no control.
    Next time you want to start karmawhoring, at least pretend that you know what you are talking about.
  34. Oracle is preferable to me & my company. by BoomerSooner · · Score: 2, Insightful

    However we use MySQL, MS SQL Server and Oracle (different solutions/architectures). I don't see the pricing problem with either MS or Oracle. You can get the standard editions for around $1500.

    Sometimes paying a little can save lots more in the long run. I personally hate Transact SQL but it's probably because I started on PL/SQL first.

    However, that being said I just don't understand some of the stupid ass implementations in TSQL.

    MySQL is great because it's small, cheap(free), and very reliable (in my usage). Plus it's got that great JDBC driver that some guy wrote (name?) and the MySQL people hired him (way to go buddy!).

    Oracle just seems to have the whole ball of wax. I've never felt I'm trying to program (stored procedures) around a piss poor implementation (like TSQL). So for my (and my companies) money I still say Oracle is the way to go. Plus, I have yet to see the reason to migrate from 8i to 9i.

    I'm seriously considering implementing Oracle Financials as well. Show me the MS or MySQL product that can compare to that!

  35. Re:postgres, schmostgres... by tzanger · · Score: 2, Insightful

    ie. an address book.

    And even then, you should be using LDAP.

  36. Re:Replaceing MS Access by occamboy · · Score: 2

    I know that I'll get yelled at by this crowd, but, without knowing more specifics on your application, I'd recommend PostgreSQL DB, a Visual Basic front end for forms, and perhaps Crystal Reports for reporting.

    This will give you a nice blend of tremendous power and ease of use.

  37. You're overlooking many other database engines by Jeddawg · · Score: 3, Interesting

    This discussion seems to be omitting an entire market segment of database engines. For instance, Advantage is a powerful database server that's priced at less than half the cost of M$ SQL Server, and Oracle. It's not a "free" product, like MySQL. In addition, Advantage isn't limited to SQL, which is nothing more than a limited reporting language, meaning, it's much more flexible to utilize Advantage than either of the products you seem to be comparing. And, No, I don't see MySQL as a threat at all to products such as Advantage.

    In addition, MySQL isn't really all it's cracked up to be. Features such as page-level locking, (used by MySQL) and locking escalation (used by M$ SQL) will degrade performance in a multi-user application. So, while MySQL is great for a web-server, developing/deploying an application that uses MySQL can cause undesired performance degradation when multiple users are simultaneously accessing the data.

  38. SQLite by ddkilzer · · Score: 3, Interesting

    SQLite claims to be twice as fast as both MySQL and PostgreSQL, and is more SQL92-compliant and ACID-compliant than MySQL.

    Does that mean everyone should drop MySQL and PostgreSQL for SQLite? No. It means you have to evaluate your situation and choose the best tool for the job.

    Personally, I've have very good luck using PostgreSQL, and probably won't ever consider using MySQL until it is truly ACID-compliant.

  39. My Story by SloWave · · Score: 5, Interesting

    A couple years ago I started a large hardware conversion project for a major telco. One of the requirements was a fairly large database to support real time call processing. I had already told the customer that I would only do the job if it was on a non-Microsft platform so I didn't need to worry about them wanting SQL Server. However, since they were a large telco I assumed that they wanted a well know commercial product so I proposed either Oracle or Informix - their preference. Their director of DP said something like "it's too bad we can't use MySQL" since they were using it for some smaller applications, unknown to me. My next comment was "do you want to use MySQL?". The answer was "yes, provided it could do the job". I said "I will make it do the job". Now it's been about two years and MySQL has almost faded into the background. It just runs, unlike my experiences with Oracle and Informix where you have to constantly administer them. That's my personal experience, your mileage may vary depending on your skill and attitude.

  40. MySQL DOES have sub-selects by laptop006 · · Score: 2, Interesting

    I've seen it demonstrated, and tried it myself, although as the MySQL guy pointed out a log of sub-selects can be done with joins.

    The next version of mysql will also have views.

    --
    /* FUCK - The F-word is here so that you can grep for it */
    1. Re:MySQL DOES have sub-selects by micromoog · · Score: 2, Insightful
      ...as the MySQL guy pointed out a log of sub-selects can be done with joins.

      This is a pathetic excuse for a MAJOR lack of functionality. If a query can be rewritten to avoid the sub-select, why didn't the MySQL optimizer just do so?

      Until a database can support transactions, subselects (yes on UPDATE/INSERTs too) and views (one of the most fundamental relational features) it has no business pitching itself as a real relational DBMS. MySQL is a glorified file system, and works well for people who need a SQL-like interface to a fast file system.

  41. Re:which one? by AWrinkler · · Score: 3, Interesting

    Firebird (was Borland Interbase)
    http://firebirdsql.org
    it's had all these abilities for years.
    I've had 76GB single-file databases on my FreeBSD machine since last year.
    Faster than Postgres on everything but deletes, but it cleans up after itself when postgres just marks pages for deletion during the next sweep.
    Same speed as MySQL on insert/update/delete.
    Slightly slower on selects, but that's understandable.

    After all, it does have:
    Stored Procedures and Triggers using the same PL.
    Views, cursors, custom datatypes.
    Multi-terabyte file handling capacity
    Transactional Engine, with full Commit/Rollback.
    Full referential integrity

    I've had it doing ~300 transactions/sec on my Celery450, so it rocks along nicely.

    I've used Mysql, PostgreSQL, SQL Server.
    So far, Firebird outstrips them when you weigh all the features and performance.

    Sure, you can power huge sites with MySQL, in the same way you can pull a 6-berth caravan with a Daewoo.

    Firebird is a 4MB install. Why choose anything else?

    BTW. It works a dream with PHP, Perl(DBI), C.
    Probably more, but they're the ones I've used personally.

  42. Not really by The+Man · · Score: 5, Insightful
    mySQL is appropriate for upwards of half of all web applications, and could easily own that half of the market. However, that doesn't mean it constitutes a serious threat to the large proprietary database vendors, because that half of the applications are mostly using one or more of:
    • Microsoft Access
    • Flat files
    • XML files
    • Static content
    • Client-side scripting
    • A large-scale database being drastically underutilized
    to perform their various functions. In most cases, those functions would be faster, easier to implement, and simpler to manage using mySQL.

    For applications with these types of functions, which do not include complex queries, large transaction volumes, rigorous reliability including transaction log backups, recovery, replay, and replication, mySQL represents a major force. Unfortunately for mySQL and those who would have it take over the world, there's not much money available for those applications. Therefore, expect to see mySQL's installed base continue to increase while its revenue-based market share remains small.

    For applications which do require features and levels of reliability and capability not offered by mySQL, postgres is the only serious freely-available contender. Even so, postgres is also somewhat less capable than Oracle or DB/2 and will be confined to the middle tier of applications - those which require better reliability and scalability than mySQL can provide but for which funding is scarce. Postgres probably does represent a serious threat to Microsoft's SQL Server, if only because Postgres is platform-independent and supports platforms which can scale beyond anything Windows can run on. Both are otherwise middle-tier products which are not and will never be taken seriously by the largest and most demanding database users.

    Who are those users? Banks, government agencies, stock exchanges, payroll and records processing firms, insurance companies, large multi-site call centers, and other huge-scale enterprises. The top proprietary databases offer capabilities that do not yet exist in the Free Software world. For these users, who are less than 1% of all customers but which represent maybe 80% the revenue in the market, there is no substitute. These customers will stay with their existing solutions - Oracle, IBM, Sybase - until the systems running them give out. Then they'll call that company's professional services department and offer them a few million more to upgrade the system. That's the way it works. The system has to be attacked one customer at a time, an expensive and time-consuming process consisting of many lunches, legal bribes, and unrealistic promises.

    I think the answer to whether mySQL is a significant threat to dominate the market economically is pretty obvious. Even if mySQL moves up to the middle tier to compete with Postgres and MSSQL and is installed in every application for which it is suitable, the product would still command less than 10% of the revenue in the market.

    What a silly question.

  43. Re:which one? by Anonymous Coward · · Score: 2, Informative

    We had a DB with about 65GB of data. It is being used 24x7, and we do backups every 12 hours. We have around 200 users all the time over about 85 tables. We use transactions alot, but I can't be certain on the number of ROLLBACK's that are issued. Plus we use the internal postgresql stored programming language.

    It is an internal application for an insurance company. We run the server on HPUX, currently on version 7.3.1 of postgresql.

    It isn't too hard to find people using postgres for serious work. Just hang out on the mailing lists for a week and you will be able to write a short book on them

  44. Apples and Oranges by SatanicPuppy · · Score: 4, Insightful

    I don't know why people insist on comparing MySQL and Oracle. Oracle is huge and bloated, but it runs pretty quick, and is chock full of the sort of features you need if quadruple redundancy and data integrity are a must. If I'm working for a company that can afford the licensing, I'm Oracle all the way...There is no commercial product that really compares.

    On the other hand, if I'm dealing with a company that can't toss around the kind of money that you have to have for an Oracle DB, MySQL is my number one choice. I can slap the GUI of my choice on it, take care of data security with a hard backup and pocket a few grand of pure profit that I didn't have to spend on liscensing. You can argue Postgres, but I've never run into a case where I couldn't work around those features that haven't been implemented in MySQL yet.

    The one thing I can't stand is when someone suggests: "I can't afford Oracle, so lets' go with a MSSQL database." That's like, I can't afford a space shuttle, and a ferarri isn't good enough for me, so I'm going to buy this million dollar llama instead because 1000 marketing agents can't be wrong, right?"

    It has all the same feautres as Oracle, it's just that the features in Oracle WORK.

    Just my .0363160 Bulgarian Leva worth

    --
    ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
  45. Re:The odd thing about MySQL by jenkin+sear · · Score: 2, Insightful

    In my experience, MySQL has been faster at doing select-type operations. I use it for a web-based CMS, where transactions are unimportant, and the majority of database work is grabbing stuff from the DB and displaying it.

    I use postgres when I'm concerned about data integrity, and speeding up writes to the database- if I'm doing a sufficiently complicated write to the DB, postgres' stored procedures make it a much better idea. I've used it for embedded-type monitoring and data collection applications.

    So there are situations where one or the other is better- like sometimes perl is better, sometimes C is better. Different tools for different jobs.

    --
    What a strange bird is the pelican, his beak can hold more than his belly can.
  46. MySQL is ACID by Imperator · · Score: 4, Interesting

    MySQL does have transaction support and is fully ACID-compliant--iff you use the InnoDB table type. This also allows you to use foreign key constraints. However, it's not as fast as MyISAM and doesn't support certain features (e.g. fulltext indexing).

    In my (informal) tests MySQL/InnoDB is less than half the speed of MySQL/MyISAM but still about 50% faster than PostgreSQL for simple and small tasks. That said, PostgreSQL has more features than MySQL and I still prefer it for most tasks.

    --

    Gates' Law: Every 18 months, the speed of software halves.
  47. Get serious by tmark · · Score: 2, Insightful

    no mention of PostgreSQL or mSQL,

    Is this a joke ? Forget, for a moment, the conclusions we're supposed to draw from 1) the observation that MySQL may run a lot of websites (this is about as relevant as pointing out that Hyundais outsell Ferraris - doesn't mean that Hyundais are superior vehicles), and 2) a lot of commercial websites might run MySQL (also about as relevant as pointing out that companies buy more Ford Focuses for their fleets than Hummers - doesn't mean the Focus is a 'better' vehicle than the Hummer).

    mSQL is about as far away from providing the feature set of MySQL as MySQL is from providng the feature set of an Oracle or PostgreSQL - which is to say, worlds away. Sure, MAYBE mSQL is the tool for a particular job - but then we have to ask, are flat files a threat to the mSQLs and MySQLs - hell, the Oracles- of the world ? After all, flat files are free and we know they're in wide use in lots of companies.

  48. Have a look at SAP DB before talking about those.. by FeatherBoa · · Score: 2, Informative

    features that MySQL (and other open source DB's) just don't have, and probably won't have for Years.

    SAP DB is free, open source and GPL. It also has all the best big-guy features. Not many people seem to know about it - it certainly has small mind-share. But it is the real stuff - miles ahead of MySQL.

  49. Other open-source dbms by pspinler · · Score: 5, Informative

    that have received little comment so far:

    * Firebird (ne: Borland Interbase)
    * SAP-DB (ne: Adabas-D)

    Both are good, high quality, commercial or formally commercial products released under an open source license. (interbase public license and GPL respectively)

    Further, SAP-DB has excellent commerical support available from SAP, the company, at or better than the same level of responsiveness as, say, Oracle support.

    Both are fantastic, enterprise level full ACID RDBMS's with all the great management features a heavy duty shop could want:

    * online backups,
    * transaction logs,
    * restore to point in time
    * subselects, views, rules/triggers, procedures, etc.
    * great storage management

    Check 'em out.

    -- Pat

    --
    The biggest problem with communication is the illusion that it has occurred
  50. Re:which one? by javabandit · · Score: 2, Interesting

    Actually, multi-valued/post-relational databases have been doing this for many years now. Such database vendors are Pick Systems and IBM uniVerse (formerally Informix/VMark).

    These databases are extremely fast, loosely typed, support many different table types, support SQL, support multi-valued (columns within columns) versions of SQL, fully ACID, have APIs written for every major language out there. All of these databases usually support two procedural languages underneath which are native to the database. One is called Access/TCL (Terminal Control Language). The other language is ordinarily a flavor of BASIC. The former language is extremely terse, much like RPG. While the latter is much more like writing a GW-BASIC program.

    These databases have been around for decades now. They are running in huge environments, processing terabytes of information, have been tested and re-tested, and have been stable for decades.

    Check them out if you are interested.

  51. Re:Linux Registry? by RevAaron · · Score: 2, Informative

    See the other poster's comment about this being like MS's registry. It is not. Any problems with the Windows registry is an issue with implementation, not the concept in general. There is an equivalent to the registry available for Linux, used by some GNOME apps. Not sure how many actually use it (%) or what it is called at the moment.

    Nonetheless, the kind of system-wide database is not the same thing as the MS registry, although the MS registry is a good idea, although (very?) poorly implemented. I'd much prefer it to having flat files that are in scores of different formats. There is no reason you could not edit this registry from the command line using a small utility just like you could edit flat files.

    --

    Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  52. The other shoe has dropped by pvera · · Score: 3, Interesting

    I am a web developer and in the last few years I have written products that use SQL Server 6.5, 7, 2000 and Oracle 7.x and 8.x. MySQL has always been present whenever we discussed data back ends and was always dismissed as "not good enough." Usually because it did not cost a gazillion.

    During the last 18 months or so I have run my personal sites with a MySQL back end. I have never had an outage or loss of data that can be traced back to the MySQL servers. I ran it first on Windows 2000, later on freeBSD4.5 and now on a freeBSD4.6 jail. It still works perfectly.

    Back when we were still arguing (two jobs ago) about using MySQL, the DBAs usually claimed that you could not trust MySQL because of the lack of stored procedures and the fact that it could not pass an ACID test. Since then I never bothered learning the DB system itself beyond the minimum needed for SELECT/INSERT/UPDATE/DELETE operations, I did not try to verify this on my own. Years later and I am convinced that these DBAs probably read that in a magazine, and that none of them had even seen MySQL running.

    After the dot-bomb nightmare nobody in his right mind should be proposing to their managers to spend obscene amounts of money in SQL Server and Oracle licenses just to do simple SELECT/INSERT/UPDATE/DELETE operations. Sure, stored procedures rock but it does not make any sense to spend that much money just for the 1% of your functionality that will be run by stored procedures!

    Most of the people I know that use SQL Server don't even know how to write one, and in the last 5 years I have only written two web applications that have more than 1% of their sql operations as stored procedures. And for Oracle it is even worse!

    --
    Pedro
    ----
    The Insomniac Coder
  53. What do you mean by online backups? by Anonymous Coward · · Score: 2, Informative

    With MySQL you have to lock tables before a backup. But that is hardly a showstopper for most applications. Once they are locked (and something else... check out mysqlhotcopy) the data files can be copied right out from under the database server. Takes a second, maybe? I can't think of any system I use that would be hurt by such a delay. Financial? Heh. When did any financial transaction take less than 5 or so seconds, anyway? ATM, online, etc... Plus you could consider MySQL's query log a backup. Heck, just run them on another database all the time, or mirror the main db... tons of options, here. The other thing that keeps coming up on this board is integrity contraints and checks. There *are* such things as dynamic contraints, or contraints entailed by the application, not by the database. Anything the database can do in this way, the app can do as well. And since you generally have to inform a user of any problems of this sort... why not just put it in the app?

  54. Re:If MySQL was just a bit more user-friendly... by happystink · · Score: 2, Insightful

    I agree 100%, I think a huge amount of MySQL catching on has to do with the online docs which are great. Most people getting into mysql are new to databases, and having all that info super-handy in a great structured format is very very handy, yup. I would have never got into mysql without it either, because for years there were no books on it.

    --

    sig:
    See the "..for smart people" banners Wired runs here? Look elsewhere guys.

  55. Re:Have a look at SAP DB before talking about thos by Aussie · · Score: 4, Insightful
    SAP DB [sapdb.org] is free, open source and GPL. It also has all the best big-guy features. Not many people seem to know about it - it certainly has small mind-share. But it is the real stuff - miles ahead of MySQL.

    But for some reason people ignore it. Is it because it is created by a company and not a group ? Or is it that everybody has already chosen their favorite free DB and won't look at others ?


    Sure beats me.
  56. MySQL is appropriate, even for small stuff by crucini · · Score: 4, Informative

    I disagree with the idea that small projects should use flat files or XML in place of MySQL. First of all, the flat file only looks good while there seems to be a single entity in the system - let's say person. It rapidly turns into a convoluted mess when a second entity rears it's head - let's say a person can have multiple cars. Second, many applications end up developing reporting requirements that were not envisioned in the original design. That's what makes relational databses great - ad hoc reporting.

    Another way to put it - as the application grows in complexity, more functionality will be added to the data store as the programmers painfully rediscover all the challenges which real databases have already conquered. Of course MySQL doesn't cover all of those, like ACID, but it covers most. Look at the amount of effort that went into MySQL, Postgres and Oracle - it's huge.

    Of course, you may be thinking of simpler applications than I am. If the data can legitimately be represented by one table, with no denormalization, then I agree a database may be overkill.

  57. Hmm I would be nice but..... by snero3 · · Score: 2, Informative

    It would be nice to see MySql get up and take the big boys on (Oracle, DB2) but I don't think it is quite ready for that.

    Speaking from an Oracle point of view, as I haven't worked with DB2, it just has too much going for it atm. For example the ability to do

    create table2 as
    select *
    from table1;

    Hey Presto you have an exact copying of table one(constraints and all). If you add a few more characters (not commands just characters) you can move it to different tablespaces, schemas and even whole databases on completely different machines. With oracle 9i you can move whole data files, turn on and off tablespace enlarge and reduce tablespaces all on the fly while the db is running. You can't imagine how much time this and 100's of other nifty features saves,

    I am not knocking MySql, I think for websites like slashdot where speed/uptime seem to be the main factor and not table complexity/integrity/constraints it does great (how many times has slashdot been slashdotted?). However, having used MySql I don't think it is up the job of replacing a database like oracle.

    On the other hand a couple of years go Linux was not ready to take on solaris, AIX etal... and now look at it? I suppose you never know what will happen!

    --
    It said "windows 98 or better" so I installed Linux
  58. MySQL AB comments by martenmickos · · Score: 5, Informative

    Great discussions on this thread! We are reading them carefully to learn what we can do better.

    Let me just comment on the overall impact of having such articles appear on Fortune.com and CNN.com:

    The article is indeed the result of PR work done by MySQL AB, but the value of it will benefit the entire free software / open source community. We need to get many more business articles out there, so let's be happy about this one, and let's produce more of them!

    Although this very article mentions MySQL only, please have a look at other articles where we at MySQL AB consistently mention the other open source databases. Here are two such articles on prominent business-focused sites (one of which, incidentally, is powered by MySQL):

    http://www.open-mag.com/01943583279.htm

    http://www.alwayson-network.com/comments.php?id= A2 44_0_1_0_C

    Our ambition is not to be a threat to bigwigs per se, but to make superior database software available AND affordable to all. With your help we can do it.

    Marten Mickos
    CEO, MySQL AB

  59. Re:PostgreSQL has every feature but Replication. by Bradley · · Score: 2, Interesting

    Well, its all very well to claim speed, but its not always true. Yes, MyIASM is (generally) quicker than postgres.. The problem is that innodb is really slow.

    For example, imagine that I have a bugs database (which I do; its called Bugzilla). I want to find all bugs where I'm either the reporter, or I've commented. Since bugs can have zero comments, I need to outer join the busg table to the accounts table. With randomly generated data, and 100,000 bugs, 1,000,000 comments randomly distributed among the comments:

    select distinct bugs.bug_id FROM bugs LEFT JOIN longdescs USING(bug_id) WHERE (bugs.assigned_to=86 OR longdescs.who=86);

    mysql: 3.33 sec
    postgres: 14423.07 msec [I can get this down to 11758.74 msec by changing a
    config option - I should probably file a bug on that]

    (returning 46 rows)

    But the thing is that I just want bug numbers. I don't care how many times I've commented, or need to know the contents of the comments. What I really wanted to ask was:

    > SELECT bugs.bug_id FROM bugs WHERE bugs.assigned_to=86 OR bugs.bug_id
    IN (SELECT bug_id FROM longdescs WHERE longdescs.who=86)

    mysql: error
    postgres: 137.66 msec

    (To be fair, this does need CVS-postgres to be fast. It is, however, possible to create a UNION join to make it much faster, arround 6ms. Thats not appropriate for the generated SQL bugzilla uses, and having the db do the transformation from teh LEFT JOIN requires knowleges of the distinctiveness of bugs.bug_id, and the distinct in the original query, so its not trivial)

    Oh, and it took almost 2 minutes with innodb. I will admit to not having tuned the various innodb parameters, plus this was 3.23, so I'm sort of ignoring that.

    Queries are often slower, too - as far as I can see, mysql doesn't produce a query tree, but rather a list. If you only have one table, then this doesn't matter, but if you start doing complex joins (and without subselects, you do that more often than you may want to) then it does make a difference. Yes, I know that mysql has subselects in the development version. I'd be interested to see if they have the same speed problems as in postgresql I see it as one of the main advantages of MySQL over PostgreSQL is that you are able to turn off transactions if you don't need them.

    You always need transactions. If you think that you don't, then its obviously not important to you if your data gets lost. (You also want foreign keys and constraints, but....) And whilst I don't know too many 'bigwigs', I'm pretty certain that most of them want half of their commited data to not vanish if there's a power failure.

    Now, I'm certainly not saying that postgres is always better than mysql, and I'm sure that people can come up with similar examples to the above, but where postgres sucks and mysql blows it away.

  60. Summary of arguments for MySQL by Ragica · · Score: 3, Insightful
    Having browsed this thread I notice there are certain common arguments frequently employed to defend mysql. But what kind of defense are they?
    1. Its good enough for 90% of the web applications out there. However. 90% of the web applications out there are moronic, programmed by people without clues. This is a defense?
    2. Similar to above: Most people have no need for the "advanced features" of ACID databases. However, most people actually don't realise what excellent use those tools frequently are, and with mysql they will never have a chance to learn them.
    3. People don't always chose software purely on technical merit. One poster actually (apparently defending MySQL) held up microsoft as an example for this. I think this previous "defense" shall by the only comment I will make on this point.
    4. Mysql is blazing fast. This has been debunked so many times, it is just tiresome to do so again. I'll merely rephrase another reply in this thread: sure, because it doesn't have to do half the things a real database does to ensure integrity, and functionality. Nearly any database server can be tuned for speed by disabling (or just not using) features, and proper index maintenance. Mysql on the other hand, can't be tuned for the features it is missing.
    5. Mysql is easier to use. In my experience as a database hosting provider, pretty much the only reason this seems to be true is because unfortunately the majority of users got their feet wet in mysql first, and their brains apparently became irrevocably corrupted from the experience; they no longer are able to recognise the proper way of doing things even when it is shown them.

      None of the above is new information. Just my personal summary. In short, (ie. in troll) the argument seems to be simply: "Yes, mysql is pathetic, but so are most of us." Great.

  61. MySQL vs PostgreSQL vs MS SQL Server by jdoeii · · Score: 2, Interesting

    The following is my personal opinion based on experience with MySQL 3.x, PgSQL 7.x and MS SQL 6.x-2000. YMMV.

    -- MySQL
    MySQL's #1 feature is exceptionally simple use and administration. #2 is excellent read performance. If you are building a web site with a simple DB backend, a lot of reads, a few updates/deletes, no transactions, then MySQL is ideal. It may have an infrequent index corruption problem. A couple of versions had a problem of eating all CPU on occasion. But most of the time it just runs. Very easy to learn, nearly 0 maintanence.

    The problems start when the database grows in size and complexity. DISTINCT sucks: if a query is large enough distinct just does not work. UPDATE/DELETE don't work with joins. No transactions. Yes, yes, I know, some things are addressed with another table format, some are patched up in 4.0. But it's done at the cost of what I listed above as #1 and #2.

    -- PgSQL
    PgSQL is the #1 OS ACID-compliant DBMS. It has transactions out of the box. It works. It can be tuned to run as fast as MySQL. But the learning curve is steeper both for programmers and for DB admins. The first thing to learn is VACUUM ANALYSE. If the table has a lot of updates/deletes, do it often, otherwise performance would suck. And I mean really suck. When the the V/A is running, the table is pretty much unaccessible. Pg's aggregates are bizzare. MIN() and MAX() can be programmed around, but if you need COUNT() you are out of luck. Flat out can't use it on large tables because aggregates do not use indexes! Another surprize is difference in performance between queries WHERE ... IN () and EXISTS. The difference is orders of magnitude.

    Pg's query planner/optimizer is not too smart. It can be easily confused with variable types. It often chooses wrong indexes. It's about the same quality as the p/o in MS SQL 6.5. Be prepared to spend time tweaking the queries and indexes. On the other hand, the memory cache is too smart. You can't make it read the whole DB into RAM and keep it there. Pg is trying to behave nicely and releases RAM when the table is not used for a while. Which is a bad thing on a dedicated server.

    Hopefully, the next release will have failover and replication. And maybe aggregates will be eventually fixed. Then PgSQL can be seriously considered for enterprise-scale projects.

    -- MS SQL
    Microsoft went a long way from MSSQL 6.5 to 2000. 7.0 and 2000 are pretty much the same. If it were an OS project, 2000 would have been called 7.1 or 7.2. The MSSQL 2000 is a pretty solid product. For an all-Windows shop it works. But the price! The MS SQL server license, The NT Server license, a license for each connection. If you need to access it from a FreeBSD or Linux box, then FreeTDS is needed. FreeTDS has its own issues. MS SQL has a problem with scalability because it's tied up to NT and NT is not available (yet) on massive hardware.

    In conclusion I would say that MySQL is certainly no threat to big boys, not now, not in the near future. PgSQL may become a real contender in the next two years. It is already eating into the lower end of the MS SQL market. Unless MS ports the SQL Server to other platforms, it's going to be sqeezed really hard.

  62. Features / cost not the issue by walt-sjc · · Score: 2, Insightful

    MySQL is great for lot's of tasks, but adding subselects and transactions isn't the issue. Postgres has Loads more features than MySQL, yet it isn't really replacing Oracle in the enterprise. Why?

    It's the applications support. If you are buying a $5M ERP, CRM or whatever, it's going to support Oracle, and possibly DB2 or MS/SQL. In order to "port" to another DB, it's going to take a Huge effort with vendor support.

    When third party commercial developers start supporting open source DB's, THEN you will see enterprise adoption. In order for commercial developers to start supporting OS DB's, they need to see enterprise demand. Before you will see enterprises requesting MySQL support, MySQL needs to have the feature set needed to support those applications (such as triggers, stored proceedures, etc.) and enterprise level support for clustering, load balancing, replication, etc. MySQL is beginning to get some of these features, but it's not NEARLY at the same level as Oracle.

    It's the same situation as it is with operating systems. If the applications you need for your business are only available for the Windows platform, what real choice do you have?

  63. Re:"I think" by lewp · · Score: 2, Funny

    ERROR 1064: You have an error in your SQL syntax near 'People Web != Enterprise and $Web $Enterprise' at line 1

    --
    Game... blouses.