Robert McNaught
2007-Nov-13 00:14 UTC
[asterisk-users] ODBC connection to Microsoft SQL Server
Hi, I wish to integrate a Microsoft SQL server with Asterisk for CDRs and for dialplan routing based on database values, and have this application scale to a large number of simultaneous calls: The Asterisk: The Future of Telephony 2nd edition book states that: ? The pooling and limit options are quite useful for MS SQL Server and Sybase databases. These permit you to establish multiple connections (up to limit connections) to a database while ensuring that each connection has only one statement executing at once (this is due to a limitation in the protocol used by these database servers). Does this suggest any kind of performance issue with scaling? I am assuming not as all this indicates is that DB queries are pooled from the ODBC connection on the Asterisk Server side rather than the SQL Server? Has anyone done this before in a large implementation? Any advice appreciated. Cheers Robert McNaught -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20071112/a2297fa6/attachment.htm
Tilghman Lesher
2007-Nov-14 05:39 UTC
[asterisk-users] ODBC connection to Microsoft SQL Server
On Monday 12 November 2007 18:14:57 Robert McNaught wrote:> I wish to integrate a Microsoft SQL server with Asterisk for CDRs and > for dialplan routing based on database values, and have this application > scale to a large number of simultaneous calls: The Asterisk: The Future > of Telephony 2nd edition book states that: > > ? The pooling and limit options are quite useful for MS SQL Server and > Sybase databases. These permit you > to establish multiple connections (up to limit connections) to a > database while ensuring that each connection > has only one statement executing at once (this is due to a limitation > in the protocol used by these database > servers). > > Does this suggest any kind of performance issue with scaling?If there is any such issue, it is due to a limitation with the database server protocol, not with Asterisk. The description should have made that clear.> I am > assuming not as all this indicates is that DB queries are pooled from > the ODBC connection on the Asterisk Server side rather than the SQL > Server?MS SQL Server is simply unable to accept multiple simultaneous queries on the same connection, so this is the only solution possible to avoid any collisions.> Has anyone done this before in a large implementation?I've never done it in a large implementation, but I don't see any reason why it wouldn't work. If you're really concerned with the scale of opening a lot of connections, might I suggest that you use PostgreSQL? -- Tilghman