[Asterisk-Users] OT: Best DB

Chris Travers chris at metatrontech.com
Tue Mar 15 15:57:29 MST 2005


Giudice, Salvatore wrote:

>MySQL: Speed, Power and Precision
>  
>

Thanks, I will file this in my MySQL Appointment Book under Feb 31.....
Oh, you mean that is not a valid date? MySQL had no problem with it...

Seriously though, precision and accuracy are not strongpoints of MySQL.  
MySQL really has been designed to work extremely well for content 
management systems.  And it does this quite well.  However, for 
applications where the precision of your data manners, MySQL is not 
worth trusting under any circumstances, IMO.  For example:

Feb 31 is a valid date, as is Feb 29, 2005.
0000-00-00 is also a valid date.

If you create a numeric(4,2) field, and insert into it a value like 
1000000 it will truncate your number without even raising an error.

Text fields are truncated without so much as a warning.

Under certain circumstances, a MyISAM talbe can be created where an 
Innodb table was specified, thereby running inserts/updates/deletes on 
that table outside transactional control.  Again, an error is not reported.

All of the above behaviors are violations of the ANSI SQL standards 
which under certain circumstances can endanger the integrity of your data.

Look, I am not saying "Don't use MySQL."   I am saying that "I don't use 
MySQL because I have no use for it."

Also, MySQL does perform faster on simple selects with low concurrency 
than PostgreSQL does (1-2 clients).  But if you get up to 32 concurrent 
users, some reports indicate that MySQL will actually take more time to 
run the queries concurrently than that serially, but YMMV.  PostgreSQL 
does scale better for high concurrency usage under every single 
benchmark I have seen.  With modern versions, it doesn't even require 
tuning unless you want to use that system solely as your database manager.

Also, MySQL does not have many features I use for my more advanced 
work.  It support for subselects is somewhat immature, and it has no 
support for views, stored procedures, triggers, schemas, complex data 
types, and the like.  Iirc, it has no group or role permissions either, 
meaning that if you have a large number of users, managing the security 
can be a bear (yes, I have added emulation to some MySQL databases of 
this feature, but it is easier to add in other database managers).

If you want to use MySQL, go ahead.  That is fine.  My business will 
even support you if you do.  We just think that there are deficiencies 
in the database manager, so we run all our operations on PostgreSQL and 
only support MySQL for some customer applications.

>If you are so keen on paying for something, try buying support - MySQL
>AB. With PostgreSQL, you could get support from a mom and pop shop...
>However, either way you will save tons of money over Oracle.
>
>  
>
You could get PostgreSQL support from a mom-and-pop shop.  Same with 
MySQL...  Of course that is not the only place you can get support.

Fujitsu is now selling a version of PostgreSQL which they support, for 
example.  PostgreSQL, Inc. also sells support and pays at least some 
members of the core development team.  Then there are businesses such as 
Metatron Technology Consulting (shameless plug, we will support both, 
BTW), SRA, and Command Prompt, each of which offer high quality support.

Best Wishes,
Chris Travers
-------------- next part --------------
A non-text attachment was scrubbed...
Name: chris.vcf
Type: text/x-vcard
Size: 127 bytes
Desc: not available
Url : http://lists.digium.com/pipermail/asterisk-users/attachments/20050315/a9b30953/chris.vcf


More information about the asterisk-users mailing list