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 Microsoft Fabric tahle data pravidelně kopíruje do Lakehouse nebo Warehouse, 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.
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.
On-premises data gateway, pokud databáze neběží na veřejné síti
MySQL i MariaDB bývají provozované na vlastním serveru nebo cloudové VM bez veřejně dostupného přístupu, ne vždy jde o spravovanou cloudovou službu dosažitelnou přímo z internetu. Pokud je to i váš případ, potřebuje Fabric pro pravidelné načítání dat on-premises data gateway, lokální bránu, přes kterou se pipeline k databázi dostanou, aniž by musela být otevřená směrem ven.
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“.
Sdílená kapacita Fabricu
Fabric účtuje přes sdílený fond kapacitních jednotek pro Lakehouse, Warehouse, Power BI i pipeline dohromady. Náročný report nebo velký běh synchronizace tak čerpá ze stejné kapacity jako zbytek workspace, což je dobré počítat při plánování, ne až při prvním zpomalení.
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ě přes on-premises data gateway, pokud databáze neběží na veřejně dostupné síti, tak aby čtení nezatěžovalo výkon, na kterém běží živý provoz.
- 3
Data v Lakehouse nebo Warehouse podle potřeby
Data ukládáme do formátu, který dává smysl vašemu použití, do Lakehouse pro práci přes Spark a analytický endpoint, nebo do Warehouse, pokud potřebujete plné T-SQL.
- 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.
