Asynchronní triggery v Cassandře

NoSQL databáze Cassandra je poměrně jednoduché úložiště co se týče komfortu, který vývojářům poskytuje (narozdíl třeba od MongoDB). Vývojáři používající Cassandru tedy jistě uvítají patch, který přidává podporu pro asynchronní triggery. Triggery mají několik aplikací a jednou z nejzajímavějších je automatická tvorba sekundárních indexů.

Implementace triggerů byla zvolena jako asynchronní kvůli zachování malých latencí při zápisu, tj. při zápisu do ColumnFamily je trigger pouze naplánován, nečeká se na jeho provedení. To samozřejmě může vést ke chvilkové nekonzistenci, ale to není u Cassandry coby eventuálně-konzistentního úložiště problém.

Triggery se iplementují v Javě jako třída, která implementuje rozhraní ITrigger s jedinou metodou execute, která obdrží jako parametry klíč a měněnou ColumnFamily. Který trigger se má spouštět pro jakou ColumnFamily se definuje ve standardním konfiguračním yaml souboru.

Tento patch je zatím „under submission“ a je plánován pro verzi 0.8. Nyní je dostupná verze 0.6.4, verze 0.7 (přinášející řadu novinek) bude pravděpodobně dostupná v řádu týdnů. A možná už v této verzi se dočkáme plné podpory pro sekundární indexy.

Komentáře: 2

Přehled komentářů

typo patch!
Michal Augustýn Re: patch!
Zdroj: https://www.zdrojak.cz/?p=1457