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 BigQuery 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 v datovém skladu spojí s daty z reklamy a účetnictví, marže, skladové predikce i segmentace kampaní pak počítají se stejným zdrojem čísel.
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.
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“.
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ě.
- 2
Synchronizace šetrná k produkčnímu výkonu
Data čteme přes read repliku nebo naplánovaný export podle domluveného intervalu, tak aby čtení nezatěžovalo výkon, na kterém běží živý provoz.
- 3
Rychlé reporty i nad historií
Datový sklad je připravený tak, aby dotazy přes roky fungovaly plynule a náklady na úložiště zůstávaly pod kontrolou.
- 4
Správa napojení v ceně
Technickou správu, úpravy při změnách schématu 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.
