Major Changes To MySQL Coming Soon
Meltr writes: "This ZDNET article details some of the coming changes to the MySQL database server. In 4.0, to be released in mid-October: 'support for the Unicode character set, the SSL (Secure Sockets Layer) protocol, embedded database links and multitable updates' and in 4.1, to be released in December: 'nested queries and stored procedures'."
weenies
Hmm I guess this means its a good thing that I didn't buy the MySQL book because its all going to change. I hope that the differnces aren't very complicated to interchange between so that the people who are familar with MySQL now aren't going crazy tring to retrain their brain for the new versions. But its only a hope.
Unicode support will come in very nicely for
database driven, foriegn language websites.
Hope the Java JDBC drivers for MySQL are updated
to handle unicode as well. (Should be easy, as
Java got all the Unicode stuff as it is).
I'm just looking forward to being able to tune the FULLTEXT search function without recompiling the database server!
Universal Objects has also announced that their Unicode report server has been ported to Linux and is available now. Cheap, multilingual solutions might be what Linux needs for acceptance.. I belive we could beat Microsoft at the whole "total cost of ownership" game here.. What Unicode compliant database software is available free or cheap to use this with?
Wow! You mean MySQL is only two versions away from having 75% of the features of PostgreSQL? I'm amazed.
I just started teaching myself a little bit about mySQL this evening. I'm already impressed by this example of open-source might...
I don't see these as major changes, rather than just adding some features...
Slashdot strikes again. If this was Microsoft, you'd be criticising them for releasing vapouware. But it's MySQL/linux so it's cool huh?
Get PostgresQL, a real DB. That already has all of these features, and rock solid too, not beta patches etc.
"Making linux GPL was the best thing I ever did" - Torvalds. I'd hate to see the worst thing...
It sounds great, MySQL it is trying to implement many features that were missed without loosing speed.
You can have a look to these comparison between Mysql-PostgreSQL and other open source databases.
Excellent. One of the reasons my company decided to hold off on porting to mysql was the lack of stored procedures. A pity; now they've moved to DB2 and the moment is lost.
"Einstein argued that [...] God is not capricious or arbitrary. No such faith comforts the software engineer." ~ Brooks
What I'd like to see is a profound comparison of mysql and postgresql. I'm a happy user of both, and I currently have pgsql serving a 8 million pageviews/month site, and handling load gracefully. AFAICare, pgsql is at least fast enough. I also never had any reliability/data loss problems with mysql, despite heavy concurrent access. AFAICare, mysql is robust enough. I'd really like to find out what are the core differences in both designs to get a grasp of how fast they may evolve.
If at first you don't succeed, skydiving is not for you
Another Open Source debacle. They add gobs of new features while leaving the most fundamental and important feature untouched (again). Feh.
Go ahead, flame away, I can take it.
The only certainty is entropy.
Yes, why ? Mysql is a very popular free sql database system , and I still have problems figuring out why.
It supports almost none of the sql features I need. The solution to my needs(which includes free/opensource) is PostgreSQL,
which do supports the features i require(subqueries, locking, stored procedures,views,triggers,other _real_ nice features..).
One point that often comes up is that mysql is very fast, and it is fast, but atleast for my projects only silghtly faster than postgresql(2-4%),
and in many special cases posgresql is way faster.
Also the point of mysql beeing very fast disappears if you use the locking features of mysql, BDB/Innodb tables.
For me, its postgres over mysql anytime.
1. Microsoft Access is more functional, easier to use and deploy than MySQL.
More functional? I could explain theoretically why that statement is utterly ludicrous, but I'll merley give a practical example:
A big British financial organisation maintained internally, its publicly available financial data in Access. I wrote a system for them, using GNU/Linux, MySQL and mod_perl, which allowed web visitors do perform complex searches on this data. The internally-maintained big Access dataset was imported into the MySQL datbase via an import system I wrote for them. Now here's the interesting thing - they began to realise that the web-based system, even over an ISDN line, returned data substantially more quickly and reliably than did Access, even after they upgraded to the (ACID compliant) SQL server! Indeed, the latter constantly corrupted their data, would get into all sorts of unremovable row-locks and god knows what else in its attempt to remain beautifully ACIDic. Eventually, they ditched it and now use my system (with a content management client they've had written which accesses MySQL via myODBC). They've been using this for just under three years now, and there has not been, cumulatively, even one minute's downtime.
I can tell already that this is going to be a flame war, but here are my two cents: PostgreSQL has stored procedures, unicode support, transactions, triggers, rules, and all sorts of other goodies! In fact, there is precious little that PostgreSQL doesn't have. I am using it for several projects at work, and I love it. It's great that MySQL is adding features, but it has a lot of catching up to do.
I can't understand why anyone would use MySQL when PostgreSQL is more free and without doubt far technically superior, even speed-wise PostgreSQL is faster; as of the 7.1 release.
You're a pathetic troll.
I am quite frightened when i see people still using MySQL ...
... (AFAIR there is no views)
...)
...)
...)
.gdb files)
... go for a powerfull database ;-)
Ok, it's a nice database but it lacks from major steps :
- fast and decent transactions
- procedures
- triggers
- views
Why do not people user alternative database such as PostgreSQL or Interbase ?
For instance insterbase and its sister projects (IB Phoenix : http://www.ibphoenix.org/ , FireBird: http://firebird.sourceforge.net ,
The basic specs of interbase are :
- full SQL92 compliant (entry level)
- not fully SQL99 compliant
For instance you have :
- fast transactions
- super fast blob/clob feature
- procedure (full SQL92 here!!!)
- trigger
- strucutred data types
- JDBC2.0 driver (type 4 JDBC3.0 is underway
- cool tools (admin, major crash fix and recovery stuffs
- easy data deployment (thru
Under linux there are 2 architecture, the classical server and the super server (cf the docs).
There are also cool and nice free GUI admin tools such as IBAccess:
http://sourceforge.net/projects/ibaccess/
All these stuffs are opensourced and free (as in beer) !
No more hesitation
Foreign keys are supported since yesterday with the InnoDB table handler (check www.innodb.com for more infos).
But does it support foreign key constraints yet? This oversight on the part of the developers has caused me no end of headaches. I'm tired of having to write three thousand extra lines of Java code to do something that should be automatic. I'm tired of the MySQL developers playing fast and loose with the SQL standard. It's time to fall into line.
Denial isn't just a river in Italy
All very nice, but will it build properly on a MIPS system?
I've had no end of trouble trying to get 3.23.xx to build on our Cobalt RaQ2's, just refuses to play nice...
Listening for the sound of the coming rain...
Which front-end are you using for your MySQL-PgSQL Databases? :)
I am interesting from hearing about your experience.
I have tested:
- MS Access through MyODBC
- StarOfficce through MyODBC or UnixODBC (it is missing native support connection to MySQL but it is in StarOffice TODO list, maybe in forthcoming StarOffice 6.0?
- Rekall: it is still in Beta but seems really awesome
Do you know any other alternative which one it is your prefered? i would like hearing about you
Any serious work would be done in Oracle. Yeah, I know, I know (db2? Sybase?)... But seriously, I've got it up and running under Linux and it has everything. Connection times are no problem with connection pooling. Java Servlets make it very nice.
I tried to do all of this with mySQL wholeheartedly, and couldn't get anywhere. Once you've had full SQL support, you can just never go back.
phppgadmin
- daniel
Turn off your computer and go outside
I really enjoy using MySQL-Front. It's free, has lots of great import/export features, and is getting quite stable. There is another good tool called Mascon, which is available in a free and non-free version.
Have to say I 100% agree with this guy. PostgreSQL is light years ahread of MySQL, and is 100% open source. The GPL'ed version of MySQL isn't even free software! (The GPL version i always a subverions or two behind, I believe.) Why people continue to use it when PostgeSQL is out there defies all logic IMHO.
DAMN IT. I have to apologize to EVERY person who posted here -- I had done some damn fine moderation to the comments, putting all 5 points into these posts about MySQL. I then posted anonymously and watched in horror as slashdot undid my moderation! Since when does anonymous posting affect moderation? Sorry guys, some of you plus-twos and plus-threes just dropped a point. Fuck. That was an hour wasted. Taco, Neal, someone: would it kill you to put up some alert text? That totally screwed over some very good contributors.
In that past I've used Access to prototype, then exportsql (in the Mysql contrib page - it's too slow get grab a link right now) to create the script for mysql.
Now I generally use PHPMyAdmin to do it through the web.
"don't fall into the fallacy of believing that Perl can solve social problems. Maybe Perl 6 can, but that's a ways off"
This is great! When I forayed into the SQL land 3 years ago I dried postgreSQL first because it was a "pure" SQL that was a true GPL and free.. but honestly, MySQL is tons easier to set up and use and program for. So that is what I settled on, it just added a step for me, I had to show a client how to download and install it to meet the license requirement at that time.. (Shoulder driving, click there, click ok, now type rpm -i *.rpm.. cool I can take over now!) I use it extensively today, and the documentation seems to be greated for MySQL than postgreSQL. Is that a fact though? is there sources for postgreSQL for dummies? or nice comprehensive manuals? or 3rd party books?
Do not look at laser with remaining good eye.
But what's the best MySQL type of (transaction-enabled) tables :
Or something else, new to MySQL 4?
Anyone has experience or benchmarks with these different types of tables?
{{.sig}}
It goes a little like this:
1. Someone needs a small easy to install database quick.
2. Sysadmin knows PostGres is superior but also knows that MySQL is dead easy to set-up quickly. He has set up MySQL before since someone told him how easy it was. He uses that.
3. People are so impressed in the organization that he got the thing up quickly they start suggesting MySQL for larger projects where it falls flat.
4. The organization gets turned off to Open-Source databases and chooses Oracle or DB2 instead totally bypassing PostGres which is sad.
In the end PostGres gets completely bypassed. Lots of people cut their teeth on MySQL so when someone needs a small database set up really quick they choose it. If more people used PostGres initially I think they would never look back. However, I understand immediately why MySQL is used so often.
ACK
"Hatred is the coward's revenge for being intimidated"
DBTools Is a pretty nice Windows-only front end (Though it will easily admin a server on a linux box.) - It looks a lot like Oracle's tool did 5 years ago, but it really works pretty well.
This is the tool I recommend to people coming from MSAccess. I often use it when creating tables because I can never remember the syntax for doing auto-increment fields...
It will take you about 5-10 minutes to figure out how it all works and it doesn't insult the intelligence of the command-line crowd.
Hope this is of some use to somebody...
Cheers,
Jim in Tokyo
-- My Weblog.
At work we use oracle to run a system I'm supposed to operate. As the actual application is, to say the least, weak my major interface to the system is TOAD [from quest software]. Its similiar to DB artisan etc.
Do either Pogres or MySQL have similiar, free tools? if so any recomendations / problems. I'd like to play about with one of the 2, but really want a reasonable FE to do it in.
Thanks
According to the article:
"The GPL allows open-source programs to be changed by users, but those changes aren't official and can't be sold commercially unless they're given back to and accepted by the owner."
That's not exactly how I understood it. My impression was that the GPL was a recursive license allowing the free use and modification of code, but requiring that said modifications also be made freely available under the GPL. I didn't think the person whose code I was modifying had to accept my modifications in any way. Nor did I think it was directly incumbent upon me to send them to him.
I wonder what it is about journalists that makes them so capable of half-understanding so many things?
A big British financial organisation maintained internally, its publicly available financial data in Access.
Bullshit. Nobody stores critical data in Access.
The point of these tools is to manage more advanced stuff like Sequences, constraints (including foreign keys), rollback segments, parallel queries, transactions, etc. etc. MySQL doesn't have anything much more advanced than very basic inserts and updates. What's the point of a tool?
BSD-Python-PostgreSQL is becoming a really big buzz, might not challange Linux-PHP-MySQL as the one on the throne yet, but soon it might.
My sincerest condolences to anyone trying to use this in a production environment.
Easy does it!
This comment has been submitted already, 276865 hours , 59 minutes ago. No need to try again.
Yep, phpMyAdmin is great; really everything you'll ever need to administer your MySQL database. Once a month or so I drop into command-line access via telnet to do a big, tricky query, but that's more a "because I can" kind of thing -- phpMyAdmin always allows you to execute queries directly if you want.
As far as user front ends go -- just write everything in PHP. Look at the phpMyAdmin code if you want some ideas; they don't mind! Anyone with a decent amount of Web development and general programming knowledge can whip up a good-looking, functional PHP-based Web interface for a MySQL database in a very short time.
The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
It's about fucking time!
MySQL has been mired in the stone ages of Dbase4 for years; these will be welcom additions and will definitely help MySQL overtake some of its lofty closed source competitors.
Me, I'm sticking with PostGreSQL. But I applaud the effort of the developers to make their application into something that DBAs worldwide can feel proud to add to their resumes.
Hey freaks: now you're ju
To all those who are comparing MySQL to PostgreSQL, I'd like to comment on why this is good.
First, competition will make them both better. The whole point of open source is *more* choice, not less. Stop complaining that MySQL is finally catching up to PostgreSQL and use which one you want. They both have their strengths and weaknesses. It's not like they both cannot coexist.
Second, I use MySQL occasionally now because most ISPs seem to support it. PostgreSQL is great, but I cannot use it because my clients have long since chosen their ISPs and it is a major PITA to change for many reasons.
I'm not ragging on PostgreSQL. PostgreSQL is the most feature-rich, open-source implementation of a SQL92 database out there.
But the fact is, MySQL simply kills it in performance. Which is usually the number one issue with any kind of database. That isn't to say that PostgreSQL is bad. It just isn't as fast. That's all. Here's a benchmark of MySQL versus other databases... including PostgreSQL.
All of this being said... if MySQL gets the following features, I think PostgreSQL will lose ground on MySQL again:
1) Nested sub-queries/sub-selects *coming in 4.x*
2) Update a table with joins to other tables. *coming in 4.x*
3) Delete from a table with joins to other tables. *coming in 4.x*
4) Stored procedures *coming in 4.x*
5) Triggers *who knows*
With 4.1, they will be most of the way there. With triggers, they will be pretty much feature complete.
Personally, I'd like to see materialized views implemented once all of this is done. I think that having materialized views will position MySQL as a serious consideration in the IT industry an an 'Oracle killer'. Lots of companies have already trashed Oracle in favor of MySQL. Those that have not... usually haven't done it because of lack of features in MySQL.
Hopefully that changes.
You shouldn't be administrating databases at all if you don't have a good understanding of the theoretical context and these, eh "advanced" features. Shit, I've seen so many web-monkeys-turned-dbas fuck up their systems because they lack the proper education of basic rdbms functionality.
______________
OTTERS RULE.
Vintage computer games and RPG books available. Email me if you're interested.
With the demise of greatbridge and its support of postgresql, I can only hope that this flurry of activity with mysql results in a more scalable product.
I often use mysql for projects until they get to a point where I think working around the scalability bugaboos becomes more of a chore than it's worth. I'm surprised the slashdot folks have stuck it out as long as they have, but their perseverance seems to be paying off (finally). 8-)
OK, so I'm a coward.
It would be great to see MySQL include support for referential constraints...SSL support sounds cool, but as a developer I find a feature like referential integrity useful when coming up with complex data models.
I never hear much about "alternative" commercial databases like Frontbase or SOLID Server... what good are they ? Did anyone tried them in a web environement ?
But really... there are 'database people' and poeple that need to store data for a simple website that don't give a damn about acid stuff if it costs them anything more then mysql takes in resources.
And that someone that pointed out that the speed of grep is nigh infinite.... he should try 4Gb textfiles. When you next see him, be sure to give him the troll treatment - for that's what he is.
+++ATH0
how about views and stored procedures! sheesh still missing from what is otherwise an excellent database - at least sub selects will make it...
No. Actually, speed (which is what I assume you mean by performance) is the last thing a database engineer is worried about; otherwise, you're just increasing the speed at which you fuck your dataset.
No. ACIDity means nothing if your SQL takes ten years to come back. As far as fucking your dataset because of high performance... I'm afraid I haven't seen that.
Now, agreed, lots of DBAs don't care about performance. Apparently, you are one of those. But from a usability perspective, you have to have good performance.
Enhanced MySQL (especially with Gemini tables) has excellent ACIDity. Automatic crash recoverty, ACID transactions. Row-level locks. SQL-standard statement atomicity. Replication. Index based queries. Table cardinality and referential integrity. Blocked I/O for good performance. Optimization statistics.
What I am saying is that MySQL is a fantastic database which not only has good features as far as ACIDity goes, but is also faster than everyone in the bunch -- although I'm not sure about fucking of datasets -- I've never had MySQL fuck up my datasets.
That was all I was saying.
I have used MySQL for web-based applications only until now. And while I like it because it is fast, easy to install and administer, as others have alread pointed out, I find it still lacks some rather important "features" (like views, nested queries and stored procedures), a fact that makes MySQL a non-choice for most of my customers at the moment.
You mean that people do not have the right to store some data in mysql when they didn't complete their $100K oracle training?
Pssh.
Actually MySQL is free for most of us, except in unlikely circumstances. Which is good because I used it for a year without paying anyone -- the article prompted me to look up the licensing terms to see if I'd cheated. See http://www.mysql.com/support/arrangements.html for details of MySQL's licensing terms.
How do they plan to do SSL? OpenSSL isn't licensed under a GPL-compatible license.
If they've built a whole new SSL library, I'm impressed.
Become a FSF associate member before the low #s are used
The GPL'ed version of MySQL isn't even free software! (The GPL version i always a subverions or two behind, I believe.)
You're wrong - the newest version of MySQL is GPLed (you can buy another kind of license from the company behind it if you need to). They changed their policy mid-2000, if memory serves.
When using databases as backends, I'd much rather use PostgreSQL myself (transactions without table trickery, foreign keys, views and subselects being the things I miss most in MySQL), but MySQL certainly is free - and the subset of SQL they do support is very useful, and sufficient for many purposes
With MySQL its:
I spent a few hours one weekend trying to perform these equivalent operations with pgsql, etc. Granted I work with MySQL every day, but I wanted to try out PostgreSQL and see how it compares. It took me forever to find out that I needed to 'su' to user postgres in order to connect to the freaking database! Grr.
I'm willing to try, but somebody needs to point me to the right parts of some manual, FAQ, or HOWTO ... because dammit if I didn't actually go and do just what I said I would do above to make sure that it worked, and now I have an installation of MySQL running in less than 5 minutes.
--Robert
Enough of the MySQL bashing already. PostgreSQL is great ok? That doesn't mean there's not a place for MySQL.
The place I work for is probably going to go with MySQL, and I'll tell you why.
Currently, all our databases are in MS Access. The largest of which has about 12,000 rows, which could grow up to about 65,000 rows in my lifetime. In our couple of "big" datasets, updates are done annually.
99.999% of everything we do will be database reads, with the occasional conference registration type deal.
We require win32 odbc access, as we're still a primarily wintel shop (I don't like it, but I live with it for now). We need people to be able to connect, retrieve, and edit their data with Access, as it's what they know. MyODBC is far ahead of the PostgreSQL ODBC driver.
It wouldn't make much sense for us to buy Oracle, or run PostgreSQL. It adds uneeded complexity where just using MySQL provides us with the needed speed improvement (900 ms for a query against access down to 30 ms for the same query against the same data in MySQL).
Use the tool that fits the job. If we were doing GIS, storing gb's or tb's of data, needed massive fault tolerance, etc., we'd look towards Postgres or a commercial solution. But the truth is, we just don't need it... we need something inbetween Access and Postgres... something with the performance but relative ease of administration. MySQL fits that bill quite nicely.
One word: Windows.
MySQL is available for Windows with a simple, quick install. PostgreSQL can be compiled on Windows, but I think you need Cygwin to do so, and the installation routine is a readme, not an executable wizard.
Most small and mid-size ISPs offer MySQL on their servers, not PostgreSQL. Why? I'd guess it's because it's used more widely (yes, that's a catch-22), and because clients can easily install it on Windows to develop their applications.
For simple applications like a web site, you usually don't need the features of PostgreSQL, MySQL will do the job. If you need the features that PostgreSQL can offer, you usually develop with a database server which you can run Linux on anyway. But for applications devloped in small networks or even on a single computer, availability for Windows is a huge selling point because it's the number one desktop system.
Sig (appended to the end of comments I post, 54 chars)
Anyone know a good way to address a SQL Server database from an application using the mySQL API?
That is, is there any type of library available that would let my Unix C program talk ODBC to a SQL server system?
I know about ODBCSOCKETSERVER, and it's what I use now, but it's not robust enough for some of the things I want to start doing, and I'd really like to have a system that directly talks ODBC under Unix instead of having to go through a Windows box with ODBC installed. (I don't want to run the bridge on the computer that actually contains the SQL server interface).
Thanks for any thoughts.
D
InterBase also has a very interesting transaction mechanism based on a multiversioning engine. One key benefit is that readers never block writers. You can process a long report of consistent (commited) data, without blocking data-entry applications.
Here is a description of this versioning system.
I must admit that I have no "real life" experience with this database. I don't know how fast or robust it is. Has anyone used it ?
MOD THE CHILD UP!
The MySQL/mSQL book is the worst Oreilly book I've read. The online manual is far better, which is sad.
/. is irrelevant.
"MySQL: When your data doesn't matter that much"
Ehhh... needs some work.
"Do you expect me to talk?" "No, Mr. Bond. I expect you to die!"
>But the fact is, MySQL simply kills it in
>performance. Which is usually the number one
>issue with any kind of database. That isn't to
>say that PostgreSQL is bad. It just isn't as
>fast. That's all. Here's a benchmark [mysql.com]
>of MySQL versus other databases... including
>PostgreSQL.
Their posted benchmarks are for SINGLE threaded access. Unless you're using it for one of the very few niche applications that require this, the benchmarks are *useless*.
MySQL has a major problem with heavily concurrent access, particularly in instances where you are doing a lot of updates.
At work I'm migrating from MySQL to Postgres for precisely this reason. Performance has been going majorly downhill as the utilization has grown. And now its not uncommon to see as many as 50-60 threads stalled waiting for a table lock .
Yes, I'm aware that alternate table types exist for MySQL that implement finer grained locking. The problem is they are fairly new, and are in use on only a small portion of the MySQL installations out there; hence, they are nowhere near as well tested as Postgres.
Also, the benchmarks published on InnoDB are extremely poor. The comparison to Postgres suffers from the same single thread test only problem I mentioned and is far from comprehensive. The rest of it is even worse - the test for concurrency impact only shows results up to 50 threads for inserts, and shows a major dropoff in performance of selects between 50 and 100 rows. And he actually admits to poor methodology on the test against a commercial database.
Matt
MyISAM tables are not good in an environment where you are doing a lot of long running updates and selects on the same tables.
InnoDB tables doesn't however have this problem.
The benchmarks on the www.mysql.com page are still single users, but we are working on an open source multi user tests that will show how the different table handlers MySQL provides works under heavy multi-user load.
The single user benchmarks does however show the top speed for a database and the strength and weakness for each database, so they are still very useful on their own.
Regards,
Monty
PS: I agree that the benchmarks on the InnoDB web page are far from perfect.
And everyone knows that the guys at mysql.com are gonna be able to install, configure, and tune postgresql to be an optimal dbms just like they did with mysql.
These guys couldn't even get vacuum to run, a command I've never had fail...
They probably have no idea how to optimize the query planner, change the buffer memory blocks, or create the right types of indexes to accelerate the database. And that's ok, but you should realize these things before you go by a benchmark made by one company against a competitive product.
--- It is not the things we do which we regret the most, but the things which we don't do.
That is a function of how your tables / database are setup, rather than the database system it's running under.
Right?
The copper bosses killed you, Joe. 'I never died', said he.
>MyISAM tables are not good in an environment
>where you are doing a lot of long running
>updates and selects on the same tables.
Unfortunately MyISAM is still the best backend that has a widely deployed long-standing backend.
>The benchmarks on the www.mysql.com page are
>still single users, but we are working on an
>open source multi user tests that will show how
>the different table handlers MySQL provides
>works under heavy multi-user load.
I applaud the effort. That doesn't change the fact that the current benchmarks have major deficiencies.
>The single user benchmarks does however show the
>top speed for a database and the strength and
>weakness for each database, so they are still
>very useful on their own.
It shows the top speed for a database under conditions almost never found in production environments and hides the weaknesses of MySQL by doing so. They are very much NOT useful to most people.
Matt
man -k postgres might do wonders for your clue deficiency, or try "apropos postgres", if yer "old school."
--
You sure got a purty mouth...
MySQL capabilities range across a number of topics, including the following:
- Ability to handle an unlimited number of simultaneous users.
- Capacity to handle 50,000,000+ records.
- Very fast command execution, perhaps the fastest to be found on the market.
- Easy and efficient user privilege system.
However, perhaps the most interesting characteristic of all is the fact that it's almost free.
We developed more than 50 websites using PHP and MySQL, we never had any problems
with this Open Source technology. Thumbs Up!
Herve Fulchiron
Creastar.com
I see a alot of the postgreSQL vs mySQL but not much on MS SQL vs MY SQL. I think 99% of us would agree that Access doesn't complete w/ MY SQL. But how many of you would push mySQL over MS SQL on a MS platform? I've had a chance to use both and actuall run both mySQL and MS SQL on the same DB server. For set up and configuration, MS SQL wins hands down.
As to speed tests, I would like to check some out (both straight SELECTs and queires where row locking is required).
As to the features, it's hard for me to imagine useing a DB w/o Stored Procedures, Views, and SubQueries.
Might I suggest some additions:
These are all really great tools; why leave them out? I like Oracle too, but $10k per processor is pretty steep. Hey, it's big and slow, but at least it's expensive!
Wearing my programming hat, I have to use the right tool for the job. If I don't need lots of nifty DB features, I'll use my native filesystem structure to store data, or even a flat file. Remember those? If I need bells & whistles, I'll choose a DB that has just what I need, and no more. Why waste cycles (or licensing fees) on worthless features? If I need transactions (for example), and I don't want to spend $$ on proprietary DB licenses or on man-hours trying to figure out a complicated open-source DB (remember TCO?), I'll code it myself with something simple like MySQL on the back end. If I do need scalability/lots more features/whatever, I'll pony up the time/money for the big boys.
Right tool, right job.
This post expresses my opinion, not that of my employer. And yes, IAAL.
Try throwing 20 million rows in and out of the server everyday. Big RDBMSes still have a place. Write portable SQL as much as you can.
Nobody, but NOBODY, will challenge Oracle with a database unless SAP and PeopleSoft port to it.
I wish RedHat had understood this. RedHat might have been better off bundling SAP-DB and selling an SAP-optimized version.
I will agree that for 99.9% of MySQL users MySQL runs just fine. They don't need, nor care about, sub-selects, row-locking, triggers, etc.
:)
We used to run MySQL but found that it died *horribly* on heavy multiuser loads. (e.g. 500 concurrent users, all updating/insert/etc.)
I investigated the problem and found out that table locking really, really sucks. Last summer when we had this problem we didn't have the luxury to mess around with pre-alpha table structures and spend countless hours poking around with settings.
I carefully explored the other RDBMS's out there and eventually picked Sybase ASE 11.9.2 for Linux as the best choice. I can say it was hands-down the best choice we made. Now we're at 12.5 which supports SSL, XML, etc. and a host of other features MySQL hasn't even thought of.
Instead of 'dealing' with MySQL we're making money with something else.
So here it is:
If you are having problems with MySQL - DON'T PUT UP WITH IT. There are many other fish in the sea that will better fit your application. Simply because it is 'free' or 'popular' does not make it better for your application.
As someone else said, I always follow the 'pick the best tool for the job' test. If it is out of our price range, we either find a way to buy it or move on to the next item on our list.
I think far too often people perform the 'open source' or 'free' litmus test first -- leading to major headaches down the road.
If we were in this situation today I think we'd rather have picked Postgres, simply because it was a lot cheaper and offers many of the performance-enhancing features as the 'big three'!
Thanks,
--
Matt
#1 why don't you use alias ? ;-)
:o)
;)
It is a IB6 feature
#2
why use a shell tool when IBACCESS exists ???
I you use JAva you may also use any SQL Editor tool to manage it.
#3 did you tried the gfix tool ???
#4
dbaccess does the stuff
have fun with IB
all are opensourced and zero cost :)
...)
(You can pay if you want but it is for the support
It is the best ration price/spec/perf at this time !!!
I keep on seeing the same statement, over and over, saying:
"I don't understand why MySQL is so popular, the only thing it has going for it is tha it's easier to install!"
Answer...staring...right...at...you.
Democrats or Republicans. They are both taking us to the same place and they are not afraid of us anymore.
But they are
then you are saying that the gap between the two products isn't that big.
I'm not saying that. It's a big gap, and not likely to close anytime soon.
That those features of PostgreSQL that have been around for years aren't anything to shout about.
That means that they are tested and proven. And work reliably now. That's worth shouting about.
Is it that hard for you to imagine that the everyone else is getting along fine with what mySQL has to offer?
If they understand the alternatives, and really only need a fast, small but junior leauge DB like MySQL, then no problem. If they are just ignorant, then I suggest trying harder.
My Karma: ran over your Dogma
StrawberryFrog
Also, my guess is that they didn't bother turning off all kinds of features in the other databases in order to put them on equal ground with MySQL. Features such as transactions, row-level locking, etc.
It's amazing how much faster a database runs when it doesn't have to worry about such 'niceties'.
Go MySQL!!!
:)
:))
Todat i was making a query which as quite hard, but eventually i succeded. But when nested queries are possible... Oh, this would be heaven!!
Now wait for the transactions
There was just one thing. I've reloaded the zdnet page many many times and every time a f***g Oracle banner poped up. Yeah, we know you're bigger. we also know MySQL is free and will run on my slowestt 486 with a maximum of 32Mb RAM
Privacy is terrorism.
I've been using MySQL for a couple months, nothing too serious, just storing some content for my website. After reading the posts concerning MySQL vs. PostgreSQL, I was convinced that I should switch to PostgreSQL....In the end, I want a complete JDBC driver and SQL92 DB.
So, I went to the website and decided to order a CD. I'm on a broadband connection and it would download in a couple minutes, but I wanted to support the development.
I attempted, but their 'purchase' page had no submit button for the form. I let them know, and got the response that there was a submit button. I checked under IE on my roommates' win me machine (and in the html) and there is one.
So, I've heard all these great things about PostgreSQL? Anyone know when, or if, they will support Linux? Until then, I guess the MySQL vs. PostgreSQL argument is kinda moot...
take your sig and shove it
Also, it is much easier to pronounce. I never ran into an MP3 that was put online to teach me how to say "MySQL". :-)
Ditto!!! MySQL provides WAY more horsepower and features for 99% of web applications out there.
In the case of huge searches through gobs of text... Well, guess what... Any database is going to huff and puff on that kind of a query. We had the same problems with Oracle.
Does any search engine use such a simple query technique? NO! You have to do some (gasp) programming and (gasp) planning in order to create a (double-gasp) algorithm that works. Check out what the areyouhotornot.com guys did.
KDB is a very fast and efficient. It also has the best stored procedure language around (it may look like Perl, but it is no where close to it in philosophy).
.1 second.
----
on thursday jan 4, 2001 steve miano, ed bierly, keith mason and i
loaded 2.5 billion trades and quotes on a 50cpu linux cluster.
simple table scans on one billion trades, e.g.
select distinct sym from trade
select max price from trade
take 1 second
multi-dimensional aggregations, e.g.
/ 100 top traded stocks
100 first desc select sum size*price by sym from trade
/ daily high and close
select high:max price, close:last price by sym, date from trade
take 10 to 20 seconds
translating the data from TAQ to kdb took about 5 hours.
(steve had loaded the 200 TAQ cd's onto several disk drives.)
distributing the 100gigabytes over the 100Mbit ethernet took 3 hours.
(this cluster should probably have Gbit ethernet)
loading the database (k db taq.m -P 2080), starting 50 slaves,
connecting, mapping shared indicative tables over nfs, building
parallel partitions, etc. took
----
1. What is Kdb ?
Kdb is an extremely fast RDBMS extended for time-series analysis.
2. Does Kdb support SQL92, ODBC and JDBC ?
Yes.
3. Is Kdb a read-only RDBMS ?
No. Kdb is very fast for OLTP (online transaction processing).
For example, it runs over 50,000 ATM-style transactions per second logged
to disk with full recovery on a single cpu. This was against a database of
over 100,000,000 accounts, tellers and branches. Kdb can do batch updates at
several hundred thousand records per second per cpu.
4. Is Kdb a memory resident RDBMS ?
No. Kdb has minimal memory requirements and is very fast from disk.
For example, it ran the gigabyte TPC-D (an industry standard decision support benchmark)
queries and updates on a 200MHZ PC with 64 megabytes of memory, an ultrawide SCSI
controller and four disk drives many times faster than the best published results
at a fraction the cost.
5. What about time series ?
Kdb handles much more than just SQL92 tables. Online analytical
processing (OLAP) on multi-dimensional arrays is done with our
extended SQL language, KSQL. For example, on the 35 megabyte OLAP APB-1
benchmark queries, Kdb ran 12,000 queries per minute with no precalculation.
6. Since Kdb is so fast, does it require more storage ?
No. Kdb is simple and will often store just the raw data.
For example, in TPC-D, the published results required storage
between 3 and 10 times the raw data. The Kdb factor is a little over one.
Some OLAP tools require (for fast queries) massive precalculations. For example,
in APB-1 some expanded the 35 megabytes of input data to many gigabytes. Kdb
aggregates relations (extended with time series fields) so fast that precalculation
is often obviated. Certainly when the raw data is less than a few gigabytes.
7. Is there a parallel version ?
Yes. Although Kdb can handle much larger databases than other database
products without requiring parallel processing, there is a parallel
version for the largest applications. Kdb scales
----
KDB is the classiest database on the internet.
See http://kx.com
-j
I'm just going to have to keep hitting "refresh" until v .44 comes up ;-).