[Kamailio-Users] avpops OR sqlops

Alex Balashov abalashov at evaristesys.com
Mon Dec 21 21:27:19 CET 2009


Alex,

On 12/21/2009 03:00 PM, alex pappas wrote:

> What do you suggest for faster sql queries with mysqlp :
> avpops or sqlops ?

I don't think it's really a question of speed as of flexibility, ease of 
programming, and conceptual propriety.

The avpops module is a slightly antiquated facility, and its present-day 
use does not very closely reflect its original purpose as a 
database-backed "key-value" store of some sort.  I get the impression 
that avp_db_query() was added to it as sort of a minor afterthought;  I 
think that the assumption that persisted in the peak of avpops' reign 
was that the utility of *SER for most people was bound up in its modules 
(with their related database schemas).

What happened afterward was that there was an explosion of usage that 
revolved around custom database integration and it became a more 
accepted fact of Kamailio's existence, and that is why the sqlops module 
was written to make it easier.  The sqlops module operates in a manner 
that much more closely resembles the database APIs of other programmatic 
environments, e.g. the ability to determine number of rows returned, the 
ability to iterate through results without having to utilise crude and 
implicit AVP arrays, etc.

I imagine that avp_db_query() and sql_query() are implemented very 
similarly underneath, and in any case, both utilise the same database 
interface layers (db_postgres, db_mysql, etc.), which is where the data 
interchange implementation that has the most relevance to speed actually 
resides.

In short, I don't think sqlops is materially faster, but it is a more 
modern and sophisticated way to talk to your database and you should use 
it for that reason.

-- 
Alex Balashov - Principal
Evariste Systems
Web     : http://www.evaristesys.com/
Tel     : (+1) (678) 954-0670
Direct  : (+1) (678) 954-0671




More information about the sr-users mailing list