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."
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.
MySQL has the power (pretty much) to replace MS-SQL Server. That's not a question. The problem is that MySQL is a "at your own risk" type of application. The company doesn't really offer a robust support option. You get the software for free, and if you know how to use it (or can afford a trial-by-fire learning period), you can save money. Otherwise, it's an exotic but dangerous alternative.
I fully support the use of MySQL (or even PostGRE-SQL) with PHP over ASP(x) + SQL-Server. However, (good) documentation is a real killer in the open-source movement. Until there is quality documentation, MySQL will remain an experimental, fringe DB.
I know there are good 3rd-party books, but there should be a decent doc from the actual application developer. Otherwise, the perception is that the company only cares about DIY computer geeks. Maybe it's just me.
Transistors and Beer!!
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.
That's a load of cr*p. I doubt SlashDot readers need a lesson on the GPL and its implications. I wish journalists could be more precise.
J'aime mieux les méchants que les imbéciles, parce qu'ils se reposent. -- Alexandre Dumas
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.
I LOVE MYSQL.
Its well integrated into just about every web development system you can name.
With PHP or perl you can roll out a small interactive site in less than a day.
At least you can figure out how much it costs. I can't say how much customers love hearing about ORACLES price by the system you install it on system.
Its not one of Microsofts line of swiss chese products that have more holes than a typical sieve. Slammer worm anyone ?
Oh yeah MYSQL is a threat. Software that works and a revenue model that depends on satisfied customers.
Crash
I don't see Postgres getting much media coverage until the syntax stops sucking.
I'm sure that a lot of uber programmer types are going to say "if you can't figure it out, you're a jackass", etc etc... but the bottom line is too much easy stuff is a pain in the ass to do, syntactically, with Postgres... Even auto incrementing IDs in Postgres are annoyingly difficult compared to MySQL...
I am well aware of the cool stuff that postgres does, but a lot of that cool stuff is only needed by people with specialized purposes.. your average blog site or even e-commerce site doesn't really need nested queries and all that stuff, so why go through all the syntactical annoyances when doing a simpler site?
When pg gets easier to use, i'll make the transition...
http://www.babysmasher.com
http://www.openingbands.com
PostgreSQL should be the number one open source database because it supports SQL92 standards like transactions. I can see PostgreSQL being number one in the enterprise once Bruce and the guys at PostgreSQL.org implement Replication.(Replication for postgresql is available for the commercial version).
just my 2 cents.
There's also a lot of interest in SAP DB
"Of course, there's no mention of PostgreSQL or mSQL, but I guess that's typical."
The article is about an open source product posing a threat to bigwigs. Is it typical that mSQL and Postgress are not mentioned because they do not (yet anyway) pose any meaningful threat to the bigwigs. Like it or not, MySQL has far more supporters and users than either mMSQL or Postgres.
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.
http://saveie6.com/
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
Does Msql still have that license that says you cant use it 4 free in the workplace and then goes on a long rant about how people are too cheap to pay for oracle?
What an asshole that guy was.
One feature which I think would help it greatly in the corporate world is 'automatic' redundancy. Where, if you have a database shared by multiple servers, pulling a server out doesn't mean that part of the database is lost.
I know Oracle can do this but I believe SQL server cannot.
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.
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.
My legal education, in nifty podcast format
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!
Ehttp://eugeneciurana.com | http://ciurana.eu
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"
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.
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!
"e-commerce site doesn't really need nested queries"
To calculate profit, a query of revenue is nested with a query subtracting expenses. Businesses have to do more than be average nowadays.
Put a wrapper/installer around MySQL or PostgreSQL that lets you import a SQL Server database dump -- including stored procedures.
Let's see, I can pay $14,000+ for an Oracle license, which involves a deliberately convoluted array of hoops to jump through, "education points", maintenance contracts, and product module/pricing options that would make most long distance plans seem trivial. If I need support I have a plethora of options with cool names like "bronze", "silver" and "gold" which in effect give me a varying scale of hours or days in which I can wait to have issues resolved.
Or I can pay $300 for a MySQL commercial license and if I have any problems or additional functionality there are thousands of web sites with tons of free advice and code. And MySQL will blow the doors off of Oracle and other databases in terms of raw speed. Advanced options like data warehousing, replication, fancy triggers, rollbacks and other systems can be sometimes better-integrated on a hardware/os level so it's arguable as to whether MySQL's lack of some features is even a negative. You get more with less all around with MySQL: better support, more rapid bug/security patches, less hardware requirements, and more people in the online community who are willing to help without charging you by the hour because of their pretentious DBA title.
Tough choice...
But I wrote this story to /. over 12 hours ago and I feel it was a little more than interesting. This guys story is nothing but cut and pastes of 3 sentences in the story. I would think that the relative success of MySql would be a bigger thing on /. since that's exactly what you guys use as your backend.
/. is starting to become a pile of mush.
.com problems are due to the insane prices of NON OSS material such as Oracle or MS software.
Come on guys first you cant keep from posting sometimes 2 to 3 duplicates of a story now you have to either makeup stories and users and post them instead of what people are submitting. I run a news site and I post every tidbit of what my readers send about the topics we cover without having to resort to what
He mentions none of the interesting things I proposed such as do you think some
On another note how many jobs do state and local governments cut just to pay non OSS license fees? For the price of putting MS office in each cop's car laptop how many more officers could you have defending the public from crooks and terrorists.
simple. Don't wear underpants.
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...
Furthermore, neither PostgreSQL or mSQL have decent ports (e.g. easy to setup) on Windows (PostgreSQL requires installing Cygwin first)- mySQL does. This allows mySQL to compete with the "bigwigs" in this market (most particularly SQL Server). mySQL also works quite well on Solaris. Although the Linux server market share is increasing, especially for web servers, it still is not yet a major platform for commercial database software.
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.
BEA is already competing against an Open Source product-and loosing the battle. Oracle could be a fairly early casualty. A big chunk of the appeal of Oracle rests on its ability to compete in industry standard benchmarks. Open Source products have historically tended lang behind in having "glitzy" interfaces-but have tended to excel in reliabilitly and performance. It is clearly a logical development that in the next few years, the Oracle database will find itself replaced by an Open Source Database-this will be a tremendous blow to the prestige of Oracle as a company.
Now, most Oracle revenue comes from sevices and various accounting programs-but there are also starting to emerge various Open Source Accounting packages(i.e. SQL Ledger) that might in time start to hit Oracle more directly in the pocketbook.
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.
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
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.
We're getting articles from CNN now??
-------
"In times of universal deceit, telling the truth becomes a revolutionary act."
-- George Orwell
Given that, only an idiot would product such a product and fail to make money on it.
If such products get too expensive, we go back to something like the old days of huge mainframes.
Its not open source. I cannot freely use the product. So what if I get source, its not redistributable. Its no better than Microsoft's "Shared Source".
MORE BANG FOR THE BUCK!!! This freebie is making me rich! I don't need Oracle or Microsoft to crank up a high-volume data-driven web application.
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.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.
fifth sigma, inc.
When viewing from a pro-Open Source perspective, yes you can argue that MySQL is maturing well enough and hopefully can challenge the bigwigs in a few version revision. This argument is not only targetted at MySQL, but other open source DBs such as PostgreSQL, SAP DB, etc.
This is because in out typical Slashdot environment, people are supportive of the Open Source movement. But companies (suprise, suprise!), do not follow our line of thought.
We see it as free, they see it as if they are giving it away for free, then there must be a problem with it. Or more precisely I'm not gonna use it because there won't be anyone who's available 24-7 so that I can ask support about something which is already in the docs but I'm too lazy to go through it.
Some may laugh, but if you are working in a technical field... you'll start to wonder "Why the hell did I spend 3 days working on this documentation when the lusers won't be reading them anyway!".
And guess what, the big corporations know this! They'll say that with their product, all you need to worry about is what to use it for. Installation, servicing, patching will be covered by the company. Furthermore, they'll bundle application design apps, etc., to make your life easier. With an open source DB, you'll have to code one yourself, or use another that's already available.
We have to think as lusers instead of coders, to see why this bigwigs are getting paid a whole lot more for releasing something which is already available (to a certain extent) for free.
Welley Corporation - SLM Scammers
Of course, there's no mention of PostgreSQL or mSQL, but I guess that's typical.
Not being a troll here, but does people still use mSQL anyway? I know it was very popular a couple of years ago, but nowadays I guess it lost its place to mysql...
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.
localnet.com uses mysql for their database and they havent payed them a dime, even though they make tons of money off their database.
...I'd like to see the stats where SQL (big boys) is oversold. In other words, where is it being used as clear 'overkill'.
As far as I have been able to tell, every reason one might give for using MySQL also applies to PostgreSQL.
On the other hand, there are several things PostgreSQL can do that MySQL cannot.
So...starting from not having any database, and deciding which to use on that first project, I don't see why anyone picks MySQL over PostgreSQL. They seem to be about equally difficult to set up and learn, so why not go with the one that will be able to handle more? Even if you don't need that more now, why not, since it is no extra effort, be prepared if a project comes along that does need those extra things?
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!
I was thinking of how to intentionally fail my drug test... It would make a good memoir story someday.
How about dropping something in the sample; say, a gram of cocaine? Definite failure, with the advantage of being well in excess of LD50--make it show up as "so high, he died a long time ago." Has the added advantage of shaking faith in the drug testing system, if somebody can come out with an impossible combination. On the second test, substitute an entirely different drug. Really mess with 'em.
Moderate drunk! It's more fun that way!
As I remember a certain evil corporation attempted that. They result was that apps would store everything from logs to movies in the registry which resulted in major ram depletion and instability.
You can't judge a book by the way it wears its hair.
I'm investigating what is required to replace MS Access. Yes, some company made the mistake of basing their important information on that piece of crap.
I plan to use MySQL (probably 4.x) for the back-end. For the front-end, I might use OpenOffice. It seems to handle forms ok. Hopefully, I can figure out how to produce a decent report system in OpenOffice (you'd think that would already be built in).
I've tried to find an open source form/report system, but nothing I could find seemed adequate for the job. Commercial packages were always way too expensive (thousands of dollars).
Any suggestions?
-- Will program for bandwidth
The rabbit that stood up to Woundward is threatened by a database?
Frith as a computer manufacturer!
----------------
OnRoad: JunkYard ward meets SCCA racing.
Has anyone successfully done this with any of the open source DBMS's ?
* Created a database with 40G of data capacity
AND
* Kept is online 24 x 365
AND
* Created backups that were 100% guaranteed to restore the database in the exact state of when the backup was created
AND
* allowed 20 or more concurrent DML conections to the same TABLE (but different rows) without blocking
AND
* supported ROLLBACK and COMMIT
AND
* supported subselects
AND
* supported a stored (in the DB ) procedural language
AND
* received reasonably good performant
If you answered yes to ALL the above, what was the name , platform, and release of the software?
Thank you
a human estimate ("I estimate we command 20% of the world wide installed base of databases.") is way off. A lot of Windows applications run on top of Access or SQLServer, which probably puts the real figure at something more like 2%.
"And this is my boy, Sherman. Speak, Sherman." "Hello." "Good boy."
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.
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.
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.
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 */
I'm surprised this hasn't been mentioned yet, but about a year and half ago a big gaming/computer forum was running MySQL with vBulletin as the frontend. Horrible permorance. They had top-end Xeon servers dedicated completely to MySQL, and they still had about an hour of downtime everyday. I'm not sure if this true all the time, but in this case, MySQL could not handle heavy loads. They had to end up taking out there 'General Mayhem' forum, where more than half the traffic was.
Truly, I just assumed so much in my first post. I had not idea that there would be so many high-level sys-admins watching and posting here. Foolish me. I have no idea what I was thinking.
MS-SQL is the best thing ever. It is the only DB that can handle big loads. IT was the first and only. Yeah, Oracle is crappy. I had no trouble talking my way into a $15k standard version for my company. What was I thinking?
When I need advice, I assume I can count on this convocation of true nerds to help me out?
Transistors and Beer!!
- 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.
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.
.0363160 Bulgarian Leva worth
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
ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
And next you'll be telling me that Linux is a challenge to Solaris and Windows...
Er, wait a sec...
Cheers,
prat
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.
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.
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.
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
Among the enterprise-level DBs, SQL Server beats the crap outta every other DB both in price/performance, price AND performance. So TPC says it's got the highest-performance and it's the cheapest DB available on the market. See http://www.tpc.org/ for more information.
I don't get it. MySQL releases under the GPL, but they also release under a proprietary license as well. They must require that patches be submitted with copyright assigned to MySQL AG ... right?
home page
UTF-8 is the default encoding for XML. If you want to store default XML in a database, or create a database that can handle any text your customers submit without corrupting it, or that can handle all of your major markets without requiring a different DB (but with the same functionality) for each region...you'll have to use PostgreSQL, because though MySQL has been promising UTF-8 for years, they just don't seem to understand it well enough to ever deliver.
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
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
As far as I know, both Postgres and MySql do not support online backups.
This makes it unusable for a lot of enterprises.
Also, many people here do not seem to be aware that MySQL with InnoDB tables can do commits/rollbacks and in the last C'T [German Computer magazine] there was an article about MySQL and ACID.
Although MySQL might have a huge market share, let us think about who uses it. Stating the obvious, most sites using MySQL now don't have the financial resources to purchase an Oracle license and wouldn't be using it in the first place. I'd say Postgres would be a much greater threat to Oracle, as it's quite clear that Postgres has a larger featureset than MySQL and is geared toward users who need those features.
Ah, what a pity! Not a single comment rated Funny?! I didn't think the topic of databases was that boring. ;-)
I evaluated MySQL and found it to be a very immature product.
/. mentioned that Interbase had an open-source equivalent called Firebird. I've been using it for 6 months now and I would never ever consider MySQL again.
Someone here on
I don't get the feeling that Firebird is up to Oracle capabilities and MySQL certainly isn't up to Firebird standards. That should be a hint.
It's really a shame that MySQL gets so much air-time while being so weak compared to even it's free competition.
Caution: Contents under pressure
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?
I submitted this 3 days ago....
Here are your recent submissions to Slashdot, and their status within the system:
* 2003-03-13 22:59:22 MySQL: A real alternative for your DB (articles,biz) (rejected)
Guess someone felt otherwise now. Feel free to mod me down.
We were all warned a long time ago that MS products sucked, remember the Magic 8 Ball said, "Outlook not so good"
I have never once had a question about MySQL the docs did not answer, and I learned with MySQL from knowing absolutely nothing about databases. So, tell us, oh all knowing troll, what exactly are the MySQL docs missing?
CAn'T CompreHend SARcaSm?
A variety have posters have complained about missing features. Some are already available - and the poster just stopped following MySQL at v 3.0. v 5.1 will have most of the features you'd expect in a relational database. Another post has already clarified that transaction support is available via Berkeley DB tables.
last I heard, views weren't on the listViews will be a 5.1 feature. Check out MySQL Database Server features list for the the current development plan. (Search "upcoming features" to find their release plan.)
At any rate here's my favorite feature. I can open mysql and run a query summarizing all charges (from a 23 Million record table) by financial class for my boss in a certain time frame all in under a minute (query time: '13 rows in set (42.40 sec)'. Time to open mysql command prompt, and launch a query from a file:
My motto: "A cat is no trade for integrity."
(realizes that his school's CSEE department is named after a former COO of Oracle who donated a lot of money) Go Oracle!
"I think that when you become a Republican, you don't get to score any more." -- Butt-head
Check...it might also be licensed under the LGPL, which is much like the BSD license...maybe that one too...Check it out. I know OpenOffice.org is licensed both GPL and LGPL.
There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
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.
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.
Parent is a troll/flamebait.
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
You meant to say "pre-relational." Pick and other multivalues databases have been around for a long time, sure. That makes them "pre-relational" because they predate the big shift to relational databases.
The very concept of multivalued columns is a violation of 1st normal form, though, so they are not on a sound theoretical foundation the way RDBMSs are.
Firebird should do what you want. It came from interbase so although Firebird 1.5 is still in beta it was allready a fully featured RDMS at the start. Big advantages for me are that it is completely free (beer&speech) and also supports windows as a server platform (which some of my clients prefer)
Have one compatriot using it with great success and singing its praises but have never seen a competitive analysis.
Got time? Spend some of it coding or testing
Just an addition to your list: Firebird -- used to be InterBase.
So does PostgreSQL. When they polled their users, four percent claimed to run it on Solaris (4th most popular after Linux, Windows and *BSD).
Got time? Spend some of it coding or testing
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):
= A2 44_0_1_0_C
http://www.open-mag.com/01943583279.htm
http://www.alwayson-network.com/comments.php?id
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
Welcome to Earth, I hope you didn't expect fairness.
I guess SlashDot is Real Life(tm) compatible.
Got time? Spend some of it coding or testing
Not arguing, just pointing out that PostgreSQL replicates reliably [PDF] too. (-:
Got time? Spend some of it coding or testing
> I had to do some work on a Postgres system over the weekend. I come from a MySQL background. ... and
>Having used both, I can honestly say that I'd rather wait for MySQL to add the one thing I'm actually waiting for: stored procedures, than use Postgres. Postgres just gives me the shits. Maybe that's why MySQL is the No1 open source database.
Excuse me but "had to do some work over the weekend" isn't the same thing as "having used both"...
You had the time in one weekend to learn all the stuff that most PostgreSQL admins learn over a few weeks or months?
I use PostgreSQL because it has always been free and it has never lost data. I haven't had a command line segfault since 1997 so I guess I must also have my server set up correctly...
And if I was to say bad things about MySQL (which I couldn't use in 1997 because it wasn't free) I would take at least two weeks to learn it - not just 2 days.
realkiwi
Its not just all database software, its all software, I am a member of Linux Users Victoria and out our last monthly meeting a person from MySQL get to do a presentation, here is a quote "Although we would like to take over the world, we just like to make good software, and also, we cant really take over the world because oracle is very good at being oracle, and Microsoft are VERY good at being Microsoft." But this shows that the capitalist arguments against free software are a) wrong b) biased c) thought in denial.
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
;-) )
I used to correct myself whenever I said BeOS had this, and BeOS could do that very fast.... It still can dammit
But its safe to say BeOS had just that, a filesystem with all the goodies of a "database" a simple app could want and more! (like life updates of searches, oracle doesn`t do that
MSDE (free version of MS SQL) is also free (as in beer), not open source, and has most the best big-guy features. Not many people seem to know about it. But it is the real stuff - hundred miles ahead of MySQL. :)
MSDOS: 20+ years without remote hole in the default install
All nice, but MySQL doesn't offer a lot on the area of relational integrity (constraints, triggers). Also it doesn't support subqueries so you are 'joining' a lot.
The 4 CRUD actions are not the total picture you need, for even a small database driven webapplication. And if price is a problem, postgresql is far better: it offers relatonal integrity, sports subqueries and more. MySQL is _NEVER_ the best option. NEVER.
Never underestimate the relief of true separation of Religion and State.
No support for stored procs. No support for multi-table transactions. 2gb file limit (thought you can get around it by spending 2 weeks tweaking and recompiling the kernel).
No, I really don't think so.
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.
Really? Now, how did you implement relational integrity? You added a lot of queries to perform the relational integrity? You can't! You can't add relational integrity by code ON TOP of a database system. Especially not in a multi-user environment. Especially with a database system which doesn't support transactions. So you can first test with an sql statement, and based on that result, perform some actions, but those 2 things are not 1 atomic unit. So just after the test-statement is done, another user could be messing with your data. Oh, you are not going to tell me you lock primary key rows when inserting a foreign key, are you?
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.
Whoa, sherlock! You are saying that features in MSSQL don't work but they do in Oracle? Please, can you give me a list of them, so I can use that list in my daily work, so I can avoid features that are not working in MSSQL.
MSSQL is worlds fastest database AND supports true ACID compliance, stored procedures, views, partitioned views etc. etc. It also costs a hell of a lot less than Oracle. Oracle does have more features though. But... why wouldn't it be a reasonable choice? Because the features don't work but they do in Oracle?
Have you ever worked with a true database management system? I have the fear you haven't
Never underestimate the relief of true separation of Religion and State.
"Can you imagine the developers, who have big enough egos to include three pages of MS SQL Server bashing in their docs"
reading Slashdot. I can.
Maybe you should have used the AC option.
Can they fire you?
The Singularity is closer than you think
Quant
There are very good reasons for using MySQL. A need for a reliable, ACID-compliant datastore isn't one of them.
A Few More Details
Instead of performing one complex query that is entirely processed on the database end, MySQL users have to perform 2 or more serial queries that each must go over inter-process or network communication between the app and the database. This significantly reduces the speed advantages of MySQL.
If a series of DB actions need to be performed in a block, MySQL requires each SQL statement to be sent from the app, again in a serial manner, again over IPC or network.
Data invariants must be maintained by application-level code, which requires building carefully-planned abstractions to guarantee integrity (for every means of accessing your DB), and even more unnecessary back-and-forth communication between the app and the database.
Only one user can write to a table at the same time. For web usage, that falls under the category of "pathetic."
The Bottom Line: MySQL is just a glorified filesystem with a SQL interface.
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.
Slashdot is running MySQL, and we've seen the load it can take.
I wonder why almost nobody mentions Firebird,
this database is amazing, born out of Borlands Interbase it goes now into a different direction. Excellent database with non locking commits, subselects, transactions and even replication features. And the memory footprint of this thing is amazing. This database definitely needs a serious second look before going towards mysql or postgres!
When you drop the table, you'll also have to manually drop the sequence as well, which kinda defeat the whole purpose of using "serial" instead of creating a sequence.
MySQL 3.23 has foreign keys, transactions and "basic" triggers ("on delete/update cascade"). All you need to do is use the innodb table handler when creating your table.
The following is my personal opinion based on experience with MySQL 3.x, PgSQL 7.x and MS SQL 6.x-2000. YMMV.
... IN () and EXISTS. The difference is orders of magnitude.
-- 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
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.
A post generates some replies that get modded up pretty high.... but the original post is modded to (Score:0, Redundant) ??? WTF?
A well placed Champagne cork should do the trick.
I suggest using Brie as a lubricating agent, to ease the insertion and removal of the cork.
1). Colin Powell -- Secretary of State, ex-chairman of Joint Chiefs of Staff, of Jamaican origin, he has one Jewish ancestor on his father's side. He grew up in a heavily Jewish-populated neighborhood in New York, and speaks Yiddish. ..."
A heavily Jewish-populated neighborhood of New YorK???? Have you ever BEEN to New York. That's like saying a heavily cornfed-populated neighborhood of Iowa.
Dumbfucker...
You'll have that sometimes...
-Dad
If IBM found compelling reasons to do so, then said compelling reasons must exist. Now, you don't see AS/400s at the top of the charts at tpc.org, so I would tend to believe that it isn't necessary for high performance, but that doesn't mean that there is no benefit at all.
p.s. With no views, no triggers, and no foreign keys, I wonder why MySQL gets all of this hype. There are so many free databases that implement these features and don't seem to suffer from performance issues.
Sybase ASE version 11.0.3.3 is free for production use on Linux.
Since this is my (tax) money that we are talking about, please tell me that you are using this version for non-critical applications.
That depends on who classes what as `enterprise-level'. PostgreSQL eats SQL Server's lunch pretty much across the board except on carefully architected benchmarking systems (think MindCraft and four separate logging partitions). SQL Server is basically only warmed-over SyBase, even though a lot of the later warming-over was supervised by a very competent ex-DEC database bloke.
OBTW, don't trust Microsoft's costings for their competitor's systems as far as you can throw them.
For example, they sponsored a recent IDC study which assumed a software cost of USD$940/1009/340/6609/1390 (networking/file/print/security/web) for each Linux system (real cost $0/0/0/0/0, versus (they claim) $211/$3988/1665/5829/7107 for Windows 2000) - which factor alone made more than a slight difference to the resulting TCO figures. Microsoft-sponsored-IDC quote staffing costs for Linux at significantly higher than those for Windows, where in real life the reduction in headcount brought about by increased reliability prunes those costs to about 1/2 or 1/3. They also quote downtime costs for a Linux-based file server at over $4000 a year and nearly double that for a print server! I could do a complete reinstall from scratch every quarter and still cost less than that.
Being pessimistic and assuming that a Linux server collapses half as often as Windows, and nett staff costs are around half those of Windows, the bottom lines for Linux work out to: Network 64% File 54% Print 55% Security 56% Web 40% of Windows. Quite different to IDC's own conclusions.
IDC also do $3 worth of outsourcing for their WIndows file server. Good trick.
Got time? Spend some of it coding or testing
I grew up on Sybase and Oracle, and couldn't stand the constraints of Msql/Mysql when I first started using them.
Now that I'm using Postgres wherever I have a choice, I even prefer it to Oracle.
About the only problem I have now is that I support too many different databases, and switching between ';" and "go", and "show tables" and "\dt" drives me nuts.
In any case, Postres rocks.
I forget what 8 was for.
So please, tell us how many different databases you have DBA'ed on or architected. What functionality the "big guys" have that MySQL doesn't have.
Oh wait, you have never done anything beyond a website ?
Couple of hints: MySQL and OLAP, MySQL and Clustering, MySQL and XA compliance, MySQL and hot backups, MySQL and schema migration etc etc etc Sure it has _some_ of this stuff. But can it compete head to head with the "big guys".
The idea that MySQL will replace Oracle across the enterprise is laughable, the support agreements aren't there, the reliability and history isn't there. And the last comment sums it up.
Have you _any_ idea how much people apy for those large data bases and data warehouses (now MySQL for Data Warehousing.. please) ? Hint: It makes Web Sites look like chicken feed.
Enterprise systems is worth more as a market than the Web Systems. And MySQL does _not_ have the facilities to compete. What it would need the support of SAP, Baan, JDE, Peoplesoft, Siebel et al, as well as a whole lot more functionality.
People Web != Enterprise and $Web $Enterprise
An Eye for an Eye will make the whole world blind - Gandhi
I believe it has a limit on the number of concurrent users (5?). :-(
Also getting hold of it is a problem, well it was for me the 2K/XP compatible version doesn't appear to be on the web site I think you need the pro version of the OS
no relations between tables, no stored procedures - sorry, never gonna hurt the Oracle\DB2\Sybase's out there for the hardcore database stuff til they do something about that - which they wont since not having those is what makes it fast at other things (they even state that in the docutmentation)
Lots more out there, I'm sure... you can easily skip some when your brain melts down after scanning 200 entries and maybe clicking on 50 to see if they're as relevant as they seem. Still much easier than reinventing the wheel yet again.
Got time? Spend some of it coding or testing
I have an Oracle background, and for a new project (my own) I decided to use something I could afford (ie, free). So I checked out SAPDB, becase here in Europe SAP has a certain blue-chippish reputation.
I have to say, I was pretty disappointed, not in the DB itself but in the documentation, installation, supporting programs, and so on.
Simply put, it's a MESS. I wouldn't be surprised if it runs well (I didn't do any performance testing), but I sort of got the feeling the Big Companies using it probably had their SAP consultants do all the work, and never had to touch it themselves.
I ended up with Postgres, which I'm quite happy with. Excellent documentation, good online support forums, decent if not great admin tools for Windows, they don't pretend that the DB works on Windows (though some company makes a supported Windows version). Oh yeah, and slowly, slowly some of the better database design tools support it. And I hear it's got a great admin interface for Linux, which I hope to try out some time.
There's even a phpMyAdmin-style web admin tool too if you're into that.
I understand why SAP doesn't want to pour anymore cash onto the product, but as long as the community is so small, I'm afraid people will continue to ignore SAPDB or, like I did, evaluate it and move on.
Even if it's a really good DBMS as such.
This Like That - fun with words!
MySQL works in a completely different "realm", if you will, than Oracle, DB2, Sybase ASE or ASA, etc.
Reasoning:
MySQL is a great replacement for a file system-like Berkeley DB interface. Works fine for small jobs, but it isn't ANSI SQL compliant, and doesn't necessarily support the same level of features and robustness (transaction-level rollback/commit/etc) as do the major vendors.
A prof once told me: When you buy a license from one of the big DB vendors, you aren't necessarily paying for their performance or features. (They're at a point now where they all run pretty well the same for the average user and offer pretty well the same features.) What you *are* paying for is the "guarantee" of stability and robustness in the event of a critical failure.
That said, I use MySQL for my webserver, and Sybase Adaptive Server Anywhere for my business operations. ASA is fast, cheap, incredibly easy to administer, and I know that I can rely on it for my data integrity. IMO, the same cannot be said (with such confidence) about MySQL, and therein lies the difference.
Really? Now, how did you implement relational integrity?
Perhaps through using the transaction support that has been in MySQL for months now. BEGIN and COMMIT/ROLLBACK. You know. Transactions.
I agree.
We have been using SAPDB for over 2 years, and it is very disorganized. There is no replication of _any kind_ (Microsoft has this with SQL Server and so do others).
I like that it is ivery CLI driven, but the code is a mess of Pascal converted to C and the drivers are poor quality, etc, etc.
Granted, it operates solely against files for the time being, but it does create indexes for faster searching and such. And it does make metadata (user-definable or auto-extracted) available for searches...........
I'm doing this AC because I work very closely with Oracle and they're known for attacking like wild dogs if you threaten them somehow.
Anyway, the market for large, enterprise-class DBs is small. Very small. I think its saturated.
The market for small DB's is much larger.
Oracle is notoriously difficult to admin, I suspect Oracle likes it that way.
You take that together, and I think Oracle over the long term (10 years) is doomed. They overcharge for their product by a factor of 10, and they're arrogant. Nothing good ever comes of dealing with Oracle.
The product in my view is overrated. Too many bugs in software that you end up paying $1/2 million.
The sooner these dinosaurs disappear, the better.
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?
Fuck mSQL! That is a piece of shit product!
Hire me...
You cannot make SQL queries against XML or flat files. Integrating a DB into the OS is a good idea, that is why we have filesystems. But, v4 of MySQL has a library that can be embedded into applications that will let them make their own MySQL like data stores that can be accessed with a SQL query. You do not need to have a database server running, it is in the app. You do not need a database for your todo list or your contacts, that is just bad app writing (unless the app is being written for 1000+ users (LDAP!)).
Hire me...
With respect to "block and row level locking. A select on a 50 million row table shouldn't lock the table." I can only say that a read (i.e. select) should never lock a table in anything approximating a modern database. I think that you meant that a write (insert/update/delete) should not lock rows of a table that are not targets of the statement, yes?
Scott
But for some reason people ignore it. Is it because it is created by a company and not a group ?
Errr... MySQL was written by a company as well. TCX DataKonsulter AB are the company of IT consultants who originally wrote MySQL.
I think the original poster meant that MySQL is being used for many things that really do not need a DB. If something can be done efficiently and effectively in a plain-text flat file, why not? Sometimes, developers find a reason to use MySQL when it is more than really necessary to accomplish the goals of a project.
Use the right tool for the job. MySQL is probably overused right now.
We use Firebird in Enterprise OLAP capacities for a few big clients.
0.5TB Single File Databases, High speed built-in stored procedure language, simple UDF (User Defined Function) interface for funky stuff written in C, Delphi, PERL, whatever.
We've never had a requirement for MS SSQL Server, Oracle, DB2, Empress, PICK, or Postgres.
Firebird just does it all, and blazingly quick at that
And so...? The TCO study was provided by IDC, using carefully chosen figures as expressed by Microsoft when they requested the study. The name on the shi8ngle doesn't matter nearly as much as who actually provided the impetus.
Think back to MindCraft, where they did things like using 4x100Mb cards instead of 1x1000Mb like anyone else would, and spreading Windows' logging across four partitions. Sure, they finally managed to tweak good results out of it (and of course the Linux kernel was so much better in those areas three months later anyway), but who in their right mind is going to set up a production machine like that, or even know that that doing so would make it faster?
Likewise choosing high-end hardware specifically for your TPC and tuning it to within an inch of it's life is not what your average punter is going to do, and only vaguely related to what a good DBA will do. They're going to buy a stock machine, do a stock install, make a few of the more popular tweaks, and run that. In those circumstances, PostgreSQL will comprehensively pound MS SQL Server into the pavement.
Got time? Spend some of it coding or testing
Let me just say that we have been using MySQL as our front-end database for just about 2 years now. We replaced MS SQL 7.0.
For those saying that MySQL isn't suitable for high traffic web sites should know this...
We provide web servervices to many of the large Real Estate Brokerages across the US. We are serving up about 60,000,000 page views monthly. The MySQL server powering those page views gets over 350,000,000 questions monthly. Our primary database is sitting at around 15,000,000 records. Anyone considering a new database should not believe what other say and test MySQL yourself. I can't stress this enough! We did this with MS SQL 7/2000 and MySQL. MySQL met all of our needs and crushed MS SQL in all of our testing.
Needless to say, MySQL is VERY powerful in capable hands!
Also, hot backups are possible. We backup about 24G worth of data in just a few seconds with no degraded services!
More than 90% of the websites in existence. (-:
Not that a Tux-based webserver is limited to static content, it's just that the static content whips out the door fast enough to make the cables bulge. And if it can do that on a clunker, what can it do on a real server?
Mmmm. Single machines, do we go for the high-end balanced-and-tuned zSeries or one of SGI's monsters? Clusters... I don't suppose you noticed that the world's most popular search engine is a passel of Linux clusters? I vote for the 512-way server.
Only on tests where the majority of skull-sweat went into selecting a setup that favoured every one of Windows' strengths and suffered from every one of Linux's weaknesses. On a level playing field, or to put it another way, something `resembling reality', IIS's ass is grass.
Er, no? IIS has always been Ring 0, which is why vulnerabilities in it have always been a catastrophe. That hamster has already been whipped to death.
Catching up with Java (Real Soon Now) is supposed to be `far ahead'? Gimme a break!
Speaking of buttloads of RAM, that's the way to make Samba really party. It uses about 20-30% more RAM per instance for file sharing than Windows 2000, but OTOH can serve about 10x as many connections on the same hardware. So which would you rather do, pay for ten servers, ten sets of licences and figure out how to integrate them? Or pay for one server and double the RAM?
Got time? Spend some of it coding or testing
As people have pointed out in the various threads, folks get MS-SQL licenses for all sorts of things because they either already have a few licenses or because their consultants tell them they need them. Of course you need the MS-SQL license (or Oracle or Sybase or DB/2) for commercial ERP/CRM systems and some other hefty applications.
But what about decision support systems and (smaller) datawarehouses? Why should I license 4 processors of MS-SQL (e.g. 2 active, 2 for failover) for the DSS when I can get use MySQL? DSS/DW is mainly reading data -- stored procs, etc aren't that important, nor are transactions. Plus I can load MySQL with the batch update that is already using text files dumped out of the production MS-SQL server -- bcp on MS-SQL is a common way to load data. There's no good reason to drop another $40k on the reporting server.
I can even keep using Crystal Reports or ASP or whatever I'm already using. Plus I can run it on my existing Win2k servers (that's a strike against Postgres for now) without fighting over linux, etc.
Published to the LKML. Sorry, off out the door to RAID a machine in Belmont.
Got time? Spend some of it coding or testing
Depressing sales reported today, lower stock price. Guess more and more people are getting tired of those outrageous licensing demands. Guess Larry will have to use that same jet for another year...sigh.
When I first saw this story come up I was wondering what you would have to say about it.... How can SQL's finest hour be your darkest? Keep your chin up, troll on,
---- The real Slashdot is still here. You just have to browse at -1 to read the comments.
Contain both configuration and documentation.
You can't judge a book by the way it wears its hair.