[Serdev] release 0.8.14 status/issues

Maxim Sobolev sobomax at portaone.com
Wed Jul 21 11:04:08 UTC 2004


Daniel-Constantin Mierla wrote:

> On 7/21/2004 12:37 PM, Maxim Sobolev wrote:
> 
>> Jan Janak wrote:
>>
>>> On 21-07 11:35, Adrian Georgescu wrote:
>>>
>>>>>> 2. usrloc numeriv env id       (patch provided by Maxim)
>>>>>
>>>>>
>>>>>
>>>>> I am not sure about this one yet, the same functionality can be
>>>>> achieved using several database tables. Splitting the traffic among
>>>>> several tables is better (especially with mysql) because they can be
>>>>> locked separately.
>>>>>
>>>>> What are you using (or intend to use) this extension for ? Can aynone
>>>>> give me an example of what can be achieved using the id extension and
>>>>> cannot be achieved using several database tables ?
>>>>>
>>>>
>>>> I have an example I was confronted with a few times. Testing new 
>>>> versions of SER using existing subscriber databases without creating 
>>>> additional tables which are difficult to be added to provisioning 
>>>> systems already operational at the provider premisses.
>>>
>>>
>>>
>>>
>>>   Hmm, you have to modify the table anyway -- to add a new column to
>>>   store the id. That also means you would have to extend the
>>>   provisioning interface if you would like to differentiate rows created
>>>   by the original ser and by the testing version of ser.
>>>
>>>   So it looks to me like you would need to modify the provisioning
>>>   interface anyway. My _personal_ opinion is that it is better to extend
>>>   the provisioning interface and keep SER untouched, modifying the
>>>   provisioning interface is less critical.
>>>
>>>   Or am I missing something ?
>>
>>
>>
>> With this feature you can use several independent SIP proxies with 
>> single web interface. This is what we use it for, though we don't use 
>> serweb, but our own web interface.
> 
> 
> Why can't be achieved with different tables? As Jan pointed out, using 
> several tables is better with MySQL since it locks the entire table when 
> a write operation is performed. In my opinion that is likely to become a 
> bottleneck when there are lots of registrations -- I faced something 
> similar in another situation.

Well, with several tables you will have to modify SQL statements in 
order to select from one table or another. Actually, MySQL with newer 
InnoDB table handler doesn't lock entire table when doing operations, 
like it used to do with MyISAM, instead it locks particular rows. The 
same does Postgres. Also you will have to know how those tables are 
named. With Id column you can just do SELECT * from location to see 
records for all environments.

And nobody forces to use this feature if you don't want to for one 
reason or another. You can go with separate table approach just fine 
with or vithout this change.

-Maxim




More information about the Serdev mailing list