[redland-dev] Concurrent updates with MySQL storage engine

Jan Algermissen jalgermissen at topicmapping.com
Thu Jul 27 09:34:49 UTC 2006


Dave,

On Jul 27, 2006, at 7:31 AM, Dave Beckett wrote:

> Jan Algermissen wrote:
>> Hi,
>>
>> AFAIK, transactionality has not yet been added to Redland and as the
>> MySQL storage uses ISAM (as opposed to InnoDB) tables, so I cannot
>> really add it myself by simply getting hold of the connection  
>> handle. At
>> least not without loosing the ability to update redland with new  
>> releases.
>
> but we could add storage parameters to let you switch table type  
> (small
> change) or add an API call to get the connection handle (another  
> small change)

that would be sufficient for what I want to do. If I made the two  
changes, would you put them into the project main line so I can keep  
using Redland updates?

If we do that, could someone help with the MySQL? I know how to add  
the InnoDB engine, but I am totally lost when it comes to the  
existing parameters in the existing MySQL create statements. Can I  
just keep them as is?



>
>> Does anyone know, how/if massive update concurrency[1] affects  
>> creation
>> of single statements? I am not concerned so much with rollbacks, only
>> with added statements being correct. IOW, my business logic would not
>> suffer from concurrency but I need to be sure the individual  
>> statements
>> do not get screwed up.
>>
>> [1] Could be that aprox. 200 clients hit the DB at the same time  
>> and try
>> to remove all statements of a context and then insert several hundred
>> new statements in that context . No two clients would use the same  
>> context.
>
> I think massive concurrency would probably be problematic, you are  
> really
> wanting transactions so that overlapping updates - which require  
> multiple
> SQL commands - will work correctly in all cases.  Adding  
> transactions would
> be a medium sized project.

I agree. But the simply approach above should be sufficient for most  
people I think.

Thanks,
Jan

> The tracking bug for this is
>   http://bugs.librdf.org/mantis/view.php?id=38
>
> Dave
>



More information about the redland-dev mailing list