E-mail Filip Štědrosnký ze dne Sunday 25 of November 2007: > V případě inprocess řešení bych potřeboval, aby bylo > thread-safe a aby bylo možné používat db z více threadů současně, ideálně > včetně více rozpracovaných transakcí v různých vláknech. Uvažoval jsem o > sqlite3, ale tam byl nějaký problém s přístupem z více threadů.
Přístupovat z více threadů normálně jde, ale sqlite má database-wide write lock, tj. jen jedna konexe/transakce může najednou zapisovat a binding se o to nestará, tj. je nutné manuálně udržovat nějaký mutex (threading.Lock), který si před zápisem vlákno vždycky musí získat a pak ho nezapomene releasnout. > Dá se to > vůbec nějak vyřešit ? V rámci sqlite jen tím hackem, pokud vim tak změna se neplánuje. Jinak samozřejmě nějakou jinou databázi, takže zahajme ohnivé války ,) Osobně doporučuju Firebird. Bindingy jsou velmi solidní (kinterbasdb.sf.net), engine je velmi malý, umí to prakticky vše co se od db dá očekávat (vč. SP, views atd), dá se to dobře rozšiřovat přes UDF, je to postaveno na osvědčeném komerčním řešení (InterBase), má to i embedded verzi (která je asi nejlepší embedded databází teď) a prý to má víc instalací než oracle. Nevýhoda je, že pro UTF-8 je český collate až ve verzi 2.1, která ještě není stable. Jinak podle dotazu by možná stačilo i mysql, ne? ,) > Předem děkuji za všechny odpovědi, > regnarg Za málo, -- Lukáš Linhart
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
