I know this is a bit off topic but we are using Asterisk :) Since this list is full of tech gurus w/ all different sorts of backgrounds, I thought I would get the best opinions here. We have several different switches and other telecom equipment at our facilities which all have their own proprietary cdr platforms, which are rather limited. The company I work for is looking to develop their own in-house billing system that would combine cdr from all platforms and bring it into one big db, so we can do whatever we like w/ the data...billing, invoices, reports, asr...etc... So my question is this.... What's the most stable, fastest & reliable database for this project? Call volume is about 8 to 10 million minutes per month, and we want to have 12 months of cdr available at any given time, anything older can be archived on tape. So what's the best db...oracle, ms sql, informix, mysql or something else? What server specs would be ideal for this type of setup? TIA, Jon --- [This E-mail scanned for viruses by Declude Virus]
On Wed, 2005-03-09 at 14:50 -0500, list@ipmotel.net wrote:> I know this is a bit off topic but we are using Asterisk :) > > Since this list is full of tech gurus w/ all different sorts of backgrounds, > I thought I would get the best opinions here. > > We have several different switches and other telecom equipment at our > facilities which all have their own proprietary cdr platforms, which are > rather limited. The company I work for is looking to develop their own > in-house billing system that would combine cdr from all platforms and bring > it into one big db, so we can do whatever we like w/ the data...billing, > invoices, reports, asr...etc... > > So my question is this.... > > What's the most stable, fastest & reliable database for this project? Call > volume is about 8 to 10 million minutes per month, and we want to have 12 > months of cdr available at any given time, anything older can be archived on > tape. > So what's the best db...oracle, ms sql, informix, mysql or something else?Best is subjective. It really depends on what needs you have to satisfy and what you are willing to compromise on. You can drop all the commercial DBs if your group is willing to develop/work a bit more. If you need replication, you need to look into what supports it. I understand there are tools for Mysql and Postgres to do replication, but postgres may not be as well polished there yet. My experience has been that postgres is better at scaling than mysql without having to jump through the hoops to make it scale. Of course my experience was about as much writing(inserts, updates) as reads. For stability, I don't think there is any problems with mysql or postgres. I only had problems with mysql under heavy load. -- Steven Critchfield <critch@basesys.com>
On Wed, Mar 09, 2005 at 02:50:47PM -0500, list@ipmotel.net wrote:> I know this is a bit off topic but we are using Asterisk :) > > Since this list is full of tech gurus w/ all different sorts of > backgrounds, I thought I would get the best opinions here. > > We have several different switches and other telecom equipment at our > facilities which all have their own proprietary cdr platforms, which are > rather limited. The company I work for is looking to develop their own > in-house billing system that would combine cdr from all platforms and bring > it into one big db, so we can do whatever we like w/ the data...billing, > invoices, reports, asr...etc... > > So my question is this.... > > What's the most stable, fastest & reliable database for this project? Call > volume is about 8 to 10 million minutes per month, and we want to have 12 > months of cdr available at any given time, anything older can be archived > on tape. > So what's the best db...oracle, ms sql, informix, mysql or something else?I'm not saying that it is the best or anything, I'm just wondering why it is ommited: PostgreSQL Comes well-integrated with your linux distro of choice, just like MySQL. Well-supoprted by Asterisk. I don't know exactly what type of application you'll have but generally it performs better than MySQL with more complex logic. Both MySQL and PostgreSQL have the obvious atvantage of being free of licensing headaches. E.g.: you'll never loose a week of development because the server licenses are delayed and you'll never have to change your design because client licenses are expensive. -- Tzafrir Cohen | New signature for new address and | VIM is http://tzafrir.org.il | new homepage | a Mutt's tzafrir@cohens.org.il | | best ICQ# 16849755 | Space reserved for other protocols | friend
> > I know this is a bit off topic but we are using Asterisk :) > > Since this list is full of tech gurus w/ all different sorts > of backgrounds, I thought I would get the best opinions here. > > We have several different switches and other telecom > equipment at our facilities which all have their own > proprietary cdr platforms, which are rather limited. The > company I work for is looking to develop their own in-house > billing system that would combine cdr from all platforms and > bring it into one big db, so we can do whatever we like w/ > the data...billing, invoices, reports, asr...etc... > > So my question is this.... > > What's the most stable, fastest & reliable database for this > project? Call volume is about 8 to 10 million minutes per > month, and we want to have 12 months of cdr available at any > given time, anything older can be archived on tape. > So what's the best db...oracle, ms sql, informix, mysql or > something else?We use PostgreSQL in house. It performs wonderfully and cross-platform drivers (ODBC, .NET) are way further along than MySQL. We switched from MySQL a couple of months ago and have never been happier. -- Richard Cook richard@voctel.com T: 705-223-2000 x2010
Richard Cook wrote:>We use PostgreSQL in house. It performs wonderfully and cross-platform >drivers (ODBC, .NET) are way further along than MySQL. We switched from >MySQL a couple of months ago and have never been happier. >We use Postgres exclusively too (12 databses, several of them with several millions of records, both OLAP and OLTP roles). We switched from informix 4 years ago and we also subscribe to the "never been happier" point of view. -------------- next part -------------- A non-text attachment was scrubbed... Name: apollon.vcf Type: text/x-vcard Size: 348 bytes Desc: not available Url : http://lists.digium.com/pipermail/asterisk-users/attachments/20050310/189227dd/apollon.vcf
> I'd *love* to see the particulars of that test. It's been > shown time and time > again that postgres' speed CLOBBERS mysql for anything but > the simplest > selects, and that it can handle far more concurrent > connections without > slowing down.I strongly agree with this, i have a prepaid voip solution with asterisk, freeradius and postgresql , the hole thing relies in stored procedures and triggers (i mean the billing, traffic monitoring, admin system, etc). It had scaled from thousands of minutes per month to two millions in these days without an issue, we export the cdr to mysql for the IT/Customer Service guys, because they have php/mysql programmers (We do Java/Postgres), but we keep the original data in our postgres DB, for simple select like the sum of minutes per month or per customer in a period of time, yeah, postgres is about 30% slower than mysql, but if they want to know the total minutes/calls per destination country, customers and peak hours, we run a single stored procedure with temporal tables and cursors, wait some seconds and... oh yeah, the beautiful report suddently appears in our screen, then we smile while our workmates run 3 or 4 querys (stored procedures in mysql?, not yet, triggers?, not yet, cursors?, not yet, what else ??.... not yet,etc) and wait minutes for their results. Hardware HP DL380, 2x 2.8 Ghz, 3GB RAM Software Asterisk, Freeradius, Postgresql 7.4, Mysql 4.1 Just my $0.02 --- Miguel
> You snipped out my paragraph where I mentioned tuning the DB itself, > queries, and schema. I have no doubt that 8.x is faster than > 7.x, but I > did not find any reports from people claiming a 10X > performance boost. I > didn't look hard, but I did look. I'll look into installing > 8.x and see > if we can rerun the tests.a fast query is not always enough, if this is your case, then go for mysql. is you look for full featured db, strong performance (may be you can see a mysql query is faster some times, but with postgres you get acceptable response time on every query, no matter how complex it is), great support forums, true open source (free), and you have talented SQL programmers (you need to use more than simple sum,left join, case statements) you must go with postgres, they feel more comfortable with their great PLPG/SQL language, not the limited functions of mysql (read my previus post on this thread for details). --- Miguel
I vote for MySQL. PostgreSQL is fine, but MySQL handles much better under extreme load. MySQL is also usually touted as being generally faster for the average application. However on the flip side, PostgreSQL supports more features than MySQL, such as subqueries, more functionality in stored procedures, cursors, and views. In terms of support, you can get support from MySQL directly, while PostgreSQL means you have to turn to mailing lists. It's really your preference depending on the size of your organization and how skilled your staff is in supporting open source in house. Lastly, be aware that MySQL is distributed under the GNU license with a commercial rider for derivative works and PostgreSQl is a BSD license. Also if you are looking at SER as part of your infrastructure, I would recommend you stick with MySQL. Cheers... SG -----Original Message----- From: Apollon Koutlides [mailto:apollon@planewalk.net] Sent: Thursday, March 10, 2005 2:41 AM To: Asterisk Users Mailing List - Non-Commercial Discussion Subject: Re: [Asterisk-Users] OT: Best DB Richard Cook wrote:>We use PostgreSQL in house. It performs wonderfully and cross-platform >drivers (ODBC, .NET) are way further along than MySQL. We switchedfrom>MySQL a couple of months ago and have never been happier. >We use Postgres exclusively too (12 databses, several of them with several millions of records, both OLAP and OLTP roles). We switched from informix 4 years ago and we also subscribe to the "never been happier" point of view.
I have had MySQL databases running in excess of 2 terrabytes handling up to 700,000 inserts/hour on an 8 cpu machine. Try doing that with PostgreSQL. If you are just running SER or Asterisk, etc - you simply do not need the increased feature set or the need to optimize postgreSQL. As for the "production recommendation" you refer to, I would respectufully disagree. If you are an enterprise comapny looking to deploy an open-source DB, you will pick the one that has an established support company to contract with. So, 'NO': postgreSQL is not recommended for production environments. MYSQL AB provides enterprise class support. PostgreSQL support consists of contracting with mom and pop support shops, mailing lists, and irc. That simply will not be acceptable for the enterprise user. In the end, pick whichever one works for you with the least problems. Maybe postgreSQL is easier for your people to support. Green pill or blue pill, it's your choice... -----Original Message----- From: Mohit Muthanna [mailto:mohit.muthanna@gmail.com] Sent: Thursday, March 10, 2005 8:06 PM To: Asterisk Users Mailing List - Non-Commercial Discussion Subject: Re: [Asterisk-Users] OT: Best DB On Thu, 10 Mar 2005 19:14:36 -0500, Giudice, Salvatore <Salvatore.Giudice@fmr.com> wrote:> I vote for MySQL. PostgreSQL is fine, but MySQL handles much better > under extreme load. MySQL is also usually touted as being generallyI'd have to (respectfully) disagree with that... MySQL just cannot handle high load or large datasets... it's inherent design does not allow it to scale too well... I lost countless hours trying to optimize disk / filesystem distribution, SQL queries, kernel parameters etc. etc. to get MySQL to _not crawl_. After many failed attempts, I switched to Postgres and haven't looked back. I personally believe there is a "right tool for the right job". MySQL works great for small datasets and (relatively) lighter load. Infact, it shines there. But don't expect it to perform as your database grows in orders of magnitude. Postgres is certainly a database that is "recommended" (IMHO) for production environments. If you're a VoIP provider, and are trying to provide a near "carrier-grade" service, postgres shines. Moht. -- Mohit Muthanna [mohit (at) muthanna (uhuh) com] "There are 10 types of people. Those who understand binary, and those who don't." _______________________________________________ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
My god. WTF is doing 700,000 inserts/hour for 2TB of data? -Matthew Giudice, Salvatore wrote:> I have had MySQL databases running in excess of 2 terrabytes handling > up to 700,000 inserts/hour on an 8 cpu machine. Try doing that with > PostgreSQL.
Security events generated from IDS. -----Original Message----- From: Matthew Boehm [mailto:mboehm@cytelcom.com] Sent: Friday, March 11, 2005 3:11 PM To: Asterisk Users Mailing List - Non-Commercial Discussion Subject: Re: [Asterisk-Users] OT: Best DB My god. WTF is doing 700,000 inserts/hour for 2TB of data? -Matthew Giudice, Salvatore wrote:> I have had MySQL databases running in excess of 2 terrabytes handling > up to 700,000 inserts/hour on an 8 cpu machine. Try doing that with > PostgreSQL._______________________________________________ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
<quote who="Giudice, Salvatore">> Security events generated from IDS.That is called logging noise. That must have been a experiment in statistic anomalies and trends. -- END OF LINE -MCP
list@ipmotel.net wrote:> I know this is a bit off topic but we are using Asterisk :) > > Since this list is full of tech gurus w/ all different sorts of > backgrounds, I thought I would get the best opinions here. > > We have several different switches and other telecom equipment at our > facilities which all have their own proprietary cdr platforms, which > are rather limited. The company I work for is looking to develop their > own in-house billing system that would combine cdr from all platforms > and bring it into one big db, so we can do whatever we like w/ the > data...billing, invoices, reports, asr...etc... > > So my question is this.... > > What's the most stable, fastest & reliable database for this project? > Call volume is about 8 to 10 million minutes per month, and we want to > have 12 months of cdr available at any given time, anything older can > be archived on tape. > So what's the best db...oracle, ms sql, informix, mysql or something > else?At the risk of sounding like a closed source fan (I'm not) I do think you should at least consider Oracle for this job. I built a system a few years ago which takes a constant stream of entries from a number (<100) of remote systems analizes them and generates reports (see http://www.westpoint.ltd.uk/example-reports/reports/index.htm) We use Oracle for it, and it has been great. Also they have improved the weakest points: 1) pricing - It is now _much_ cheaper than it was 2) Install - I had a couple of oracle newbies install it in a couple of hours, that was never possible in the old days. Once you have it there are _stacks_ of neat features and a really solid performance. I am especialy fond of the ability to put java into triggers (we send SNMP traps to ops console when specific error conditions occur on inserts) and the whole oracle Text and XML integration has saved me _months_ of development time on various project. My view is that if you are going to spend significant development time/money on a big database project, you shouldn't rule oracle out 'cos of a 2k fee. Tim.> > What server specs would be ideal for this type of setup? > > TIA, > Jon > --- > [This E-mail scanned for viruses by Declude Virus] > > _______________________________________________ > Asterisk-Users mailing list > Asterisk-Users@lists.digium.com > http://lists.digium.com/mailman/listinfo/asterisk-users > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users >
MySQL: Speed, Power and Precision _________________________________ MySQL is free. It can be installed in less than 59 minutes from source for light use by a first time user AND there is no need for extravagant tuning. Out of the box, it comes with 4 database engines: Isam, MyIsam, Heap, InnoDB, and BDB - and if you are particularly keen on undertaking elaborate tuning projects to squeeze every last drop of life from a database, you can even write your own database engine for MySQL. 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. For benchmark information comparing MySQl with several DB's on various OS's (yes Oracle and PostgreSQL are included) see the following link: http://ftp.iranscience.net/pub/databases/mysql/information/benchmarks.ht ml -----Original Message----- From: Chris Travers [mailto:chris@verkiel.metatrontech.com] Sent: Sunday, March 13, 2005 2:27 PM To: Asterisk Users Mailing List - Non-Commercial Discussion Subject: Re: [Asterisk-Users] OT: Best DB> > At the risk of sounding like a closed source fan (I'm not) I do think > you should > at least consider Oracle for this job. > I built a system a few years ago which takes a constant stream of > entries from a number (<100) > of remote systems analizes them and generates reports > (see http://www.westpoint.ltd.uk/example-reports/reports/index.htm) > > We use Oracle for it, and it has been great. Also they have improved > the weakest points: > 1) pricing - It is now _much_ cheaper than it was > 2) Install - I had a couple of oracle newbies install it in a > couple of hours, that was never possible > in the old days. >On the other hand, PostgreSQL is Free and can be installed for light use in under an hour from source by a first time user, or far less time than that if you use RPM's etc. Tuning it for heavy load can take a little more time, but that is life with a read DB (Oracle is not so different in this regard.> Once you have it there are _stacks_ of neat features and a really > solid performance. > I am especialy fond of the ability to put java into triggers (we send > SNMP traps to > ops console when specific error conditions occur on inserts) and the > whole oracle > Text and XML integration has saved me _months_ of development time on > various project.Ditto with PostgreSQL. Except that usually triggers are written in PLPGSQL, Perl, or C. I don't know whether PHP, Python, or Java support triggers yet but I am sure that they will soon :-) Anyway..... People's main gripes regarding PostgreSQL tend to come down to: 1) Slow performance under heavy load. Historically (prior to 7.4), PostgreSQL installed with very conservative memory settings, allowing it to run on pretty much any system made after the 1970's (ok, that is an overstatement but you get the idea). It required tuning to get good performance under heavy concurrent use. Nowadays, it does a better job of autodetecting settings, but if you need a *lot* of concurrent connections, you will still want to do some tuning. 2) Historically, the alter table command was a bear. Nowadays it is better. 3) PostgreSQL doesn't ship with a GUI interface, so go get phppgadmin, Pgaccess, or Pgadmin III. The selling points are: 1) Extremely good performance under load (+/- 10% compared to commercial RDBMS's when properly tuned) 2) Extensible data types 3) User defined functions in a wide variety of languages including Java, TCL, Perl, Bash(!), Python, PHP, and more. 4) Extreme care taken on making sure your data is consistant and meaningful. Compared to MySQL which does not take so many precautions, PostgreSQL is the way to go. As an aside, PostgreSQL and Oracle differ in whether they consider empty strings to be synonymous with NULL values. Oracle says Yes, while PostgreSQL (and iirc the ANSI standard) says No, but this is a minor point which is usually academic. But whatever you do, don't trust your accounting information to MySQL. Best Wishes, Chris Travers Metatron Technology Consulting
Skipped content of type multipart/alternative-------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/gif Size: 12782 bytes Desc: image001.gif Url : http://lists.digium.com/pipermail/asterisk-users/attachments/20050315/cf0ac1ff/attachment.gif
Giudice, Salvatore wrote:> Sticks and stone still break my bones, but PostgreSQL is still a dog.Enough, take it off list, PLEASE!
I could start a pretty big flame war if I tried to compare Windows 95 with MacOS X by deployment stats instead of stability. [David Brodbeck] I've seen Mac OS X locked up solid just by putting in a damaged CD-R disc. It's a nice OS, mind you, but it's not as stable as some people would lead you to believe. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20050315/a86b5393/attachment.htm
> -----Original Message----- > From: Steven Critchfield [mailto:critch@basesys.com]> > Top Deployed Databases poll shows following databases in use: > > > > SQL Server with 78%, Oracle - 55%, MySQL - 33% and PostgreSQL - 8%. > > I see they created this with Mysql, > 78 + 55 + 44 + 8 = 185% > I'm sure if you add in the others we would get to something > around 300% > deployment.Presumably some sites had more than one type of database in use.
Maybe, it has absolutely nothing to do with performance or stability. Maybe, it has something with 'ease of implementation', 'ease of use', 'availability of commercial support', and which database vendors ultimately decide to support in their products. Obviously, Microsoft has a lot of vendors pushing SQL server integration with their products. Oracle has pretty good penetration with vendors also. Now if you were a vendor and you going to integrate with open source database - Would you choose MySQL, which is available under GPL with the possibility commercial licensing AND has a real enterprise class support structure behind it, or are you going to run with PostgreSQL (bow wow) distributed under a BSD license with some mom and pop support shops and some mailing lists? Well, I would say that vendors and enterprise customers are speaking loud and clear when they are choosing MySQL 4 to 1 over PostgreSQL. Hey, it's your choice. Do you want to eat American Grade A American beef or that strange meat flavored tofu? As long as it meets your needs, choose whatever you have the ability to handle. _____ From: Robert Goodyear [mailto:me@jrob.net] Sent: Tuesday, March 15, 2005 2:49 PM To: Asterisk Users Mailing List - Non-Commercial Discussion Subject: Re: [Asterisk-Users] OT: Best DB On Mar 15, 2005, at 11:21 AM, Giudice, Salvatore wrote: Sticks and stone still break my bones, but PostgreSQL is still a dog. Market share: According to CD Times magazine dated July 1, 2004 Top Deployed Databases poll shows following databases in use: SQL Server with 78%, Oracle - 55%, MySQL - 33% and PostgreSQL - 8%. Devil's advocate here: what does deployment quantity have to do with stability, performance or otherwise? I could start a pretty big flame war if I tried to compare Windows 95 with MacOS X by deployment stats instead of stability. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20050315/cd08c32d/attachment.htm
So, let me see if I am right. You run a support shop? You want your database to validate your data for you instead of leaving that logic to your application? Usually, a database is considered to be an asset worth protecting from unvalidated user input. Also, do you routinely try to insert text strings into fields, which are not created large enough to accept these strings? This is somewhat disturbing. The lack of a warning is virtually unimportant, if you know your data before you insert it. If you are running into those kinds of problems, you need better programmers or at the very least better DBA's to design better database schemas. As for the incorrect table being created, this sounds like either a bug or human error. Either way, how is MySQL supposed to flag that as an error? Can it read your mind and tell you wanted an InnoDB? After you have checked your programming and isolated it to a potential malfunction of the database, you could call MySQL technical support directly and get immediate assistance (assuming that you have a support contract). I agree that postgreSQL and MySQL have different feature sets. Your application design may drive your selection based on feature requirements. With regard to your performance examples, I can not agree nor disagree with your observations. The largest of my past applications involved a ridiculously high number of batch/blind inserts and periodic data condensation with replicated storage for high level report optimization. I ran this app using a Beowulf cluster for parsing and two 8-way cpu servers running MySQL with a 2-terrabyte ultra160 storage array. I realize this is not the typical user experience, but I can tell you that we were able to handle a peak of 700k inserts per hour. MySQL gave us very few problems and probably had a cumulative downtime of approximately 4 days per year until the project was decommissioned. When you are pushing the limits of a database with this type of application, the entire dynamic is changes. Other factors beyond selects become important, such as the speed at which you can create indexes. Either way, pick whichever DB you feel comfortable with regard to your circumstances. -----Original Message----- From: Chris Travers [mailto:chris@verkiel.metatrontech.com] Sent: Tuesday, March 15, 2005 5:57 PM To: Asterisk Users Mailing List - Non-Commercial Discussion Subject: Re: [Asterisk-Users] OT: Best DB 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
<quote who="Giudice, Salvatore">> So, let me see if I am right. You run a support shop? You want your > database to validate your data for you instead of leaving that logic > to > your application? Usually, a database is considered to be an asset > worth > protecting from unvalidated user input. Also, do you routinely try to > insert text strings into fields, which are not created large enough to > accept these strings? This is somewhat disturbing.Data validation should be done at all levels. Period. -- END OF LINE -MCP
On Tuesday 15 March 2005 06:34 pm, Robert Hajime Lanning wrote:> <quote who="Giudice, Salvatore"> > > > So, let me see if I am right. You run a support shop? You want your > > database to validate your data for you instead of leaving that logic > > to > > your application? Usually, a database is considered to be an asset > > worth > > protecting from unvalidated user input. Also, do you routinely try to > > insert text strings into fields, which are not created large enough to > > accept these strings? This is somewhat disturbing. > > Data validation should be done at all levels. Period.Validating the SAME data at each level greatly decreases your speed. It is much simpler and easier to just validate it first. Jon.
This Postgres vs. MySQL business is ultimately just a religious debate, like PC vs. Mac, Ford vs. Chevy, or Kirk vs. Picard. They both work; they both have their plusses and minuses; and debates about which are better never convince anyone to change their preconceived ideas. It's also about as on-topic for this list as any of the other subjects I just mentioned.
Use whichever you want. Go get your own benchmarks. I'm sure you will find benchmarks all over the web based on different conditions. The fact remains that enterprises are deploying MySQL 4:1 over postergreSQL. I believe the driving factors for this are the ability to commercially license Mysql for product integration over PostgreSQL's BSD license, and the availability of support from MySQL directly. With regard to Redhat, Fujitsu, etc - MySQL database support is not their main line of business. If you believe different, then let's hear it. As for your 'artist license with your data' comment, put it into some context. I would blame a programmer for trying to insert a string of 255 characters into a field only 100 character wide. Maybe you could blame the dba for not building a schema to support the application. Regardless, I would not call the database deficient because it truncates your data to 100 characters and doesn't warn you with an error. Get real. It is not as if this behavior is unexpected or some sort of a surprise. Run whichever DB you want. It's your choice, as always. You are certainly free to sit in your office frothing all over yourself in your own twisted PostgreSQL fantasy. -----Original Message----- From: Andrew Kohlsmith [mailto:akohlsmith-asterisk@benshaw.com] Sent: Wednesday, March 16, 2005 6:44 AM To: asterisk-users@lists.digium.com Subject: Re: [Asterisk-Users] OT: Best DB On March 15, 2005 06:04 pm, Giudice, Salvatore wrote:> commercial licensing AND has a real enterprise class support structure > behind it, or are you going to run with PostgreSQL (bow wow)distributed> under a BSD license with some mom and pop support shops and somemailing It's time to put up or shut up. Can you please give supporting evidence that MySQL AG has no more "oomph" in commercial support than companies like Command Prompt, Fujitsu, Red Hat, or even PostgreSQL, Inc.? Every single one of those organizations has commercial support available for PostgreSQL. I'm genuinely curious if you consider MySQL AG "more of a company" than Red Hat or Fujitsu. Seriously. You're frothing at the mouth and tripping over yourself trying to make your point, and you're so far off base to begin with that you couldn't possibly be more wrong. As far as your benchmark points go, until you can show me properly organized and open benchmarks, your point is totally invalid. In my cursory check (hint: try locating the open database bake-off from a couple years ago, phpbuilder's evaluation a few years back, http://benchw.sourceforge.net, or locate anything done by independent testing groups) it appears that under real-world load, Postgres trounces MySQL handily and can handle FAR more concurrent connections than even a tuned-out MySQL server can handle. Yes, Postgres needs some tuning out of the box, this has been hashed over repeatedly and nobody's denying it. Yes, MySQL is fast for the simplest queries and inserts. And my personal favourite, Yes, MySQL will take artistic license with your data. These are all facts that everyone (MySQL AG included) but you seems to be able to agree upon. The only benchmarks you'll speak of are those found with mysql-bench, but those results are generally held as a practical joke with zero relevance in real-world applications. Your comment on licensing is also interesting. I wonder, do you also have problems with Apache because it too is released under a BSD license? How about the BSD Unixes themselves? How is BSD less good than GPL? Honestly I'd love to know!> Hey, it's your choice. Do you want to eat American Grade A Americanbeef> or that strange meat flavored tofu? As long as it meets your needs, > choose whatever you have the ability to handle.Exactly my point. This is *exactly* why I run PostgreSQL over MySQL. At any rate I've participated in this offtopic thread enough. Unless you post some practical examples to back up your points I will let you have the last word. The list archives will no doubt commemorate this particular thread. :-) -A. _______________________________________________ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
> -----Original Message----- > From: Giudice, Salvatore [mailto:Salvatore.Giudice@FMR.COM]> As for your 'artist license with your data' comment, put it into some > context. I would blame a programmer for trying to insert a > string of 255 > characters into a field only 100 character wide. Maybe you could blame > the dba for not building a schema to support the application. > Regardless, I would not call the database deficient because > it truncates > your data to 100 characters and doesn't warn you with an error.And the sad fact is, if the software isn't doing any data verification, it's probably not doing error checking either. So if the DB throws an error, your database will be protected, but the application will probably crash or do something undefined. Which of those situations (truncated data, or a crashed app) is better depends on the application. It's not clear cut.
Then go post your findings to the mysql bug lists as a noncompliance issue or contribute a patch so you can get your error message. The fact remains that you do not have to have your data truncated nor ever see an error message, if your fields are large enough to contain the data you will insert into them. So, while you are waiting for your fix, put some validation in your app or create a bigger field in your db -> then go froth yourself. -----Original Message----- From: Tom Ivar Helbekkmo [mailto:tih@eunetnorge.no] Sent: Wednesday, March 16, 2005 3:51 PM To: Asterisk Users Mailing List - Non-Commercial Discussion Subject: [Asterisk-Users] Re: OT: Best DB "Giudice, Salvatore" <Salvatore.Giudice@FMR.COM> writes:> Regardless, I would not call the database deficient because it > truncates your data to 100 characters and doesn't warn you with an > error. Get real. It is not as if this behavior is unexpected or some > sort of a surprise.Quoting the SQL/92 standard: If a store assignment would result in the loss of non-<space> characters due to truncation, then an exception condition is raised.> Run whichever DB you want. It's your choice, as always. You are > certainly free to sit in your office frothing all over yourself in > your own twisted PostgreSQL fantasy.I don't see anyone but you frothing at the mouth in this discussion. :-) -tih -- Don't ascribe to stupidity what can be adequately explained by ignorance. _______________________________________________ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
What is the best truck? A recent survey finds that there are far more Ford Rangr pickup trucks on the road then there are Frightliner 18 wheelers In another survey we find that Chevy outnumbers Porche. Closer to home in the computer world, more people use MS Windows than Solaris. I think Budwieser outsells every other beer. In most organizations followers outnumber the leaders The poor will always outnumber the rich. Still interrested in that database poll? What's the "best" DB. First you must define "best". After you do that the answer is easy. --- David Brodbeck <DavidB@mail.interclean.com> wrote:> > -----Original Message----- > > From: Steven Critchfield [mailto:critch@basesys.com] > > > > Top Deployed Databases poll shows following databases in use: > > > > > > SQL Server with 78%, Oracle - 55%, MySQL - 33% and PostgreSQL - > 8%. > > > > I see they created this with Mysql, > > 78 + 55 + 44 + 8 = 185% > > I'm sure if you add in the others we would get to something > > around 300% > > deployment. > > Presumably some sites had more than one type of database in use. > _______________________________________________ > Asterisk-Users mailing list > Asterisk-Users@lists.digium.com > http://lists.digium.com/mailman/listinfo/asterisk-users > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users >Chris Albertson Home: 310-376-1029 chrisalbertson90278@yahoo.com Cell: 310-990-7550 Office: 310-336-5189 Christopher.J.Albertson@aero.org KG6OMK __________________________________ Do you Yahoo!? Yahoo! Small Business - Try our new resources site! http://smallbusiness.yahoo.com/resources/