K čemu propojení slouží
Vlastní e-shop nebo interní systém postavený přímo na MySQL nebo MariaDB má svá transakční data uzavřená ve vlastní databázi, bez rozhraní, přes které by šla pravidelně a bezpečně stahovat ven. Napojení do Snowflake tahle data pravidelně kopíruje do datového skladu, aby šla spojit s daty z reklamy a účetnictví, aniž by to zatěžovalo produkční databázi těžkými dotazy.
Proč report nepouští přímo na produkční databázi
Produkční MySQL databáze je stavěná na běžný provoz e-shopu nebo systému samotného, ne na skenování historie. MySQL si navíc každou změnu průběžně zapisuje do binárního logu (binlogu), takže ji jde číst jako proud událostí po řádcích, ne opakovaným procházením celých tabulek. Proč se report neptá přímo na databázi, která zrovna obsluhuje zákazníky, a jak Datimo tohle odděluje, rozebíráme v pojmu Transakční a analytická databáze.
Kde se data dál používají
Objednávky, sklad a zákazníci z vaší databáze se ve Snowflake spojí s daty z reklamy a účetnictví, marže, skladové predikce i segmentace kampaní pak počítají se stejným zdrojem čísel, ať už nad nimi stojí BI nástroj napojený na Snowflake, nebo jiný nástroj.
Na co si dát pozor
MySQL ani MariaDB nejsou jedna platforma s daným datovým modelem, jsou to obecné databázové systémy, na kterých si každá firma postavila vlastní schéma. To má přímý dopad na to, jak napojení vzniká.
Čtení musí být šetrné k živému provozu
Napojení čte přímo z vaší produkční databáze, proto musí být navržené tak, aby živý provoz nezatěžovalo, typicky přes read repliku nebo naplánovaný export mimo špičku, ne přes nekontrolované dotazy na hlavní instanci. Kolik spojení k databázi vůbec může existovat, má i tady svůj limit, výchozí max_connections v MySQL je 151, a synchronizační job proto plánujeme tak, aby si o toto omezené místo nesoutěžil s aplikací samotnou.
Struktura databáze je unikátní pro každý projekt
Které tabulky existují a jak jsou propojené, závisí čistě na tom, jak si systém navrhl váš vývojář nebo dodavatel. Napojení proto vždy začíná zmapováním konkrétních tabulek a vztahů mezi nimi, ne aplikací univerzálního schématu.
Snowflake nemá vlastní on-premises gateway
Pokud MySQL nebo MariaDB běží na vlastním serveru nebo cloudové VM bez veřejně dostupného přístupu, Snowflake sám o sobě nenabízí lokální bránu k datům, jako to řeší třeba Microsoft Fabric. Data proto nejdřív projdou stejnou extrakční pipeline, kterou používáme pro napojení na BigQuery, a přistanou v cloudovém stagingu, odkud je Snowflake načte přes Snowpipe nebo COPY INTO. Pokud databáze běží jako spravovaná cloudová služba s veřejně dostupným koncovým bodem, jde o běžný cloudový zdroj bez téhle dodatečné komplikace.
MySQL a MariaDB se liší verzi od verze
MariaDB je běžný open-source fork MySQL, má ale vlastní implementaci binlogu a GTID (globálních identifikátorů transakcí), která se v detailech liší od MySQL, takže nástroj postavený na jednom z nich nemusí bez úprav fungovat na druhém stejně. Obě navíc existují v mnoha verzích s vlastními rozdíly. Napojení proto stavíme podle konkrétní verze, kterou reálně provozujete, ne podle toho, co obecně platí pro „MySQL“.
Compute u Snowflake běží, i když nikdo nedotazuje
Snowflake účtuje compute zvlášť od úložiště, po vteřinách s minimem 60 vteřin podle velikosti virtuálního warehousu. Bez nastaveného automatického pozastavení (auto-suspend) warehouse čerpá kredity, i když na něm zrovna nikdo nepočítá, na rozdíl od BigQuery, kde platíte za jednotlivé dotazy.
Jak to Datimo řeší
- 1
Konektor na míru vašemu schématu
Napojení stavíme podle tabulek a vztahů, které ve vaší databázi reálně existují, ne jako univerzální řešení pro MySQL obecně. Datový model je stejný jako u napojení na BigQuery, mění se jen cílová platforma.
- 2
Synchronizace šetrná k produkčnímu výkonu
Data čteme přes read repliku nebo naplánovaný export podle domluveného intervalu, případně, pokud databáze neběží na veřejně dostupné síti, přes existující extrakční pipeline do cloudového stagingu, tak aby čtení nezatěžovalo výkon, na kterém běží živý provoz.
- 3
Data do Snowflake přes Snowpipe nebo COPY INTO
Data landujeme v cloudovém úložišti a do Snowflake je načítáme přes Snowpipe pro průběžné načítání, nebo dávkově přes COPY INTO, podle toho, jak často potřebujete aktuální čísla.
- 4
Správa napojení v ceně
Technickou správu, úpravy při změnách schématu, konfiguraci auto-suspend u virtuálních warehousů i aktivní monitoring hlídáme za vás, v rámci ceny.
- 5
Modulární rozsah dat
Napojení stavíme z modulů podle toho, co potřebujete reportovat, ne jako pevně daný balíček tabulek.
