K čemu propojení slouží
Vlastní e-shop nebo interní systém postavený na PostgreSQL má svá transakční data, objednávky, zákazníky, stav skladu, uzavřená ve vlastní databázi. Napojení do Snowflake tato data pravidelně kopíruje do datového skladu, odkud jdou spojit s daty z reklamy a účetnictví, aniž by těžké dotazy zatěžovaly produkční databázi, ze stejného důvodu, který popisujeme u pojmu Transakční a analytická databáze.
Data mimo hranice produkční databáze
Objednávky, zákazníci a stav skladu z vlastní PostgreSQL databáze se pravidelně ukládají do Snowflake, odkud s nimi může pracovat i zbytek firmy, ne jen ten, kdo má přístup přímo do produkčního systému.
Kde se data dál používají
Maržový report, skladové predikce a segmentace produktů v Google Ads pracují se stejným zdrojem, takže čísla z vašeho e-shopu, účetnictví a marketingu sedí na sebe, ať už nad nimi stojí BI nástroj napojený na Snowflake, nebo jiný nástroj.
Na co si dát pozor
PostgreSQL není packaged platforma s daným schématem, je to obecná databáze, na které si každá firma postavila vlastní e-shop nebo systém po svém. To má přímý dopad na to, jak napojení vzniká, a proč u něj neexistuje jeden univerzální konektor jako u krabicových řešení.
Čtení nesmí zatěžovat živý provoz
Přímé těžké dotazy na produkční databázi mohou zpomalit checkout nebo příjem objednávek. Napojení proto typicky čte přes read repliku, nebo přes logickou replikaci, která čte změny přímo z WAL (write-ahead logu) pomocí replikačního slotu a umožňuje sledovat jen vybrané tabulky, ne celou databázi jako fyzická replika.
Žádné standardní schéma
Struktura vlastní databáze je unikátní pro každý projekt, není tam žádné dané schéma jako u packaged platformy. Napojení proto vždy začíná zmapováním konkrétních tabulek a vztahů mezi nimi, teprve podle toho se navrhne rozsah přenášených dat.
Replikační slot musí být pod kontrolou
Dokud replikační slot nepokročí, PostgreSQL nesmí smazat WAL segmenty, které si přes něj konzument teprve má vyzvednout. Zaseknutý nebo zapomenutý slot proto může nechat WAL růst a zaplnit disk na produkční databázi, počet současně otevřených slotů má navíc svůj limit (max_replication_slots), který je potřeba počítat spolu s ostatními napojeními na stejnou databázi.
Snowflake nemá vlastní on-premises gateway
Pokud PostgreSQL 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 PostgreSQL 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.
Přístup do databáze je citlivější než API
Přímé připojení do produkční databáze zákazníka je z hlediska přístupových údajů a bezpečnosti citlivější než napojení přes veřejné API. Pracujeme proto jen s právy omezenými na čtení a jen na to, co je pro synchronizaci skutečně potřeba.
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 šitý na vaše schéma
Konektor stavíme podle konkrétní struktury vaší databáze, ne jako univerzální řešení pro PostgreSQL obecně. Nejdřív zmapujeme tabulky a vztahy, které reálně používáte, teprve podle toho navrhneme rozsah přenášených dat. Datový model je stejný jako u napojení na BigQuery, mění se jen cílová platforma.
- 2
Synchronizace šetrná k provoznímu výkonu
Data čteme přes read repliku nebo naplánovaný export, podle toho, co vaše infrastruktura umožňuje, případně, pokud databáze neběží na veřejně dostupné síti, přes existující extrakční pipeline do cloudového stagingu, aby dotazy nezatěžovaly databázi, na které 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 na vaší straně, 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
Rozsah přenášených tabulek jde kdykoli rozšířit podle toho, co zrovna potřebujete reportovat, bez nutnosti stavět napojení znovu od nuly.
