Přejít k navigační liště

Zdroják » Zprávičky » Asynchronní triggery v Cassandře

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

Subscribe
Upozornit na
guest
2 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
typo

patch!

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.