On Thu, Feb 01, 2007 at 06:18:03AM +0100, Danesh Daroui wrote: > > Maybe MySQL is not the best database engine in the world but it is one > the best engines. I have worked on MySQL for several years and from four > years ago I have started to develop my own database engine inspired by > MySQL. During development of my own database engine (BromeliaSQL) I > realized the magical techniques which have been used in MySQL which are > unique. For example MySQL was (and maybe is) the only database engine > which allows you to read and write to a table which has been indexed > even by using B-Tree which is the most complex structure, at the same time.
That's nice. > About allowing corrupted data, it is not the responsibility of database > engine to verify if the data is valid or not since the database engine > only "Manages" data and not validate. Although, MySQL have a very very > powerful library of functions to validate and generate and validate date > and kind in any possible format. > I'm sorry, but this is pure crap. There is no way that anyone can convince me that inserting 2007-02-31 or even 0000-00-00 into a column of type DATE is even remotely permissible. What fantasy land do people live in where such dates are valid? I simply don't buy that. It is obvious that you do not work with databases in a multiuser environment. Imagine this. You are running a huge payment processing system. There a number of client applications which have been developed to interface to the database backend. Now, what happens when someone creates a client with a bug that tries to insert payments dated February 31st? MySQL says, OK, go for it. What about all the rest of the users who actually depend on the data to be correct and consistent? What about management, who expect to be able to generate meaningful reports? Think about it. How meaningful is it to report on events that could not have happened according to their dates? I could go on. Like I said, if you are running a phpBB or some dinky little application where you don't care about your data and/or you don't need true multiuser support, then MySQL works fine. I still think it is a bad idea to use it in those situations, but it will work. What I don't get is why people are so quick to stand up and defend MySQL even though it has so many shortcomings. Regards, -Roberto -- Roberto C. Sanchez http://people.connexer.com/~roberto http://www.connexer.com
signature.asc
Description: Digital signature