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

Odebírat
Upozornit na
guest
2 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
Zobrazit všechny komentáře
typo

patch!

Jak Reddit migroval svou funkcionalitu komentářů z Pythonu do Go

Různé
Komentáře: 0
Reddit modernizuje jednu ze svých nejdůležitějších částí infrastruktury: systém komentářů, který denně obsluhuje miliony uživatelů. Původní Pythonový monolit přestával vyhovovat nárokům na výkon a škálování, a proto se tým rozhodl přepsat celý backend komentářů do Go. Migrace probíhala postupně, s paralelním během staré a nové služby, aby nedošlo k narušení uživatelské zkušenosti. Inženýři zavedli detailní porovnávání odpovědí, izolované databáze a robustní monitoring, což umožnilo bezpečné testování na živém provozu. Celý proces ukazuje, jak lze zásadní infrastrukturní změny provést bez výpadků a s důrazem na konzistenci dat.