logio_logio_20letlogio-G-green-CMYKlogio_logio_20letapple-icon-180x180
  • Volné pozice
  • Proč u nás pracovat
  • Naše hodnoty
  • Trainee program
  • Blog
  • Home
  • Blog
  • SQL a jak ho využíváme u nás v SW (aneb bez čeho se v Logio neobejdeme)
8. 11. 2024
Categories
  • Blog
  • HR
  • Logio
Tags
  • IT
  • optimalizace
  • tipy

SQL a jak ho využíváme u nás v SW (aneb bez čeho se v Logio neobejdeme)

13. listopadu 2024

SQL v Logio: Základ pro naše produkty i každodenní práci

V Logio využíváme SQL databáze (konkrétně MariaDB, komunitního nástupce MySQL) od samého počátku. Pracujeme s velkými objemy dat, a proto využíváme především databázový engine MyISAM, který se pro naše účely velmi často hodí, byť je starší. Nevnímáme ho ale jako jedinou možnou cestu, a proto při vývoji nových produktů zvažujeme více možností a vybíráme tu, která se nejvíce hodí pro daný use-case. Jednou z nich je například PostgreSQL, který umožňuje robustnější práci s daty a modernější funkce. MyISAM využíváme přesně tak, jak by se využívat měl – máme obrovské objemy dat, které ale používáme hromadně. Nepotřebujeme do jedné tabulky přistupovat najednou ze stovky míst, takže není potřeba row-level lock (hlavní výhoda InnoDB) a vzhledem k objemu dat nelze ani efektivně používat transakce, protože revert transakce trvá příliš dlouho (je rychlejší obnovit backup). Jako bonus se MyISAM extrémně jednoduše zálohuje, takže zálohování a obnova dat probíhá velmi rychle. I přes absenci podpory transakcí byl tento starší engine pevným základem pro náš hlavní produkt VERITICO.

Klíčová role SQL a databází

SQL a jeho optimalizace jsou nezbytné pro softwarový chod celé firmy. Běžnou prací programátorů je optimalizovat dotazy, aby každonoční přepočty probíhaly plynule – špatně optimalizovaný dotaz může totiž zpracování prodloužit i o několik hodin a vzhledem k velkému objemu dat, které zpracováváme, mají i drobné optimalizace obrovský smysl. Při práci se řídíme pravidlem „premature optimization is the root of all evil“ – k optimalizaci přistupujeme až po kompletním napsání kódu.

Veškerý back-endový tým (cca 30 lidí) musí mít zkušenosti se správou databází a musí umět psát SQL dotazy, zatímco konzultanti a front-end programátoři by měli zvládat SQL aspoň číst, aby se zorientovali v datech. To je v Logio nezbytné. Když konzultanti například spravují nebo analyzují data ve VERITICO, klíčovém nástroji pro vizualizaci dat, většinou začíná jejich práce kontrolou dat uložených v SQL databázi. 

Programátoři v minulosti ze 60 % pracovali v SQL, 40 % v PHP. Teď se to otočilo díky datařskému týmu, nicméně stále platí, že každý programátor opravdu dobře rozumí SQL.

Automatizace a pokročilé techniky.

SQL v Logio zatím zůstává pro jednoduché výpočty na velkém množství dat, ale postupně měníme architekturu. Pravidelně se objevují nové verze nástrojů, například *SQL query optimizer*, které pomáhají zlepšovat exekuční plány a optimalizovat rychlost dotazů. Správné pochopení exekučních plánů a práce s indexy je zásadní dovedností, kterou u uchazečů o práci na pozicích programátorů i datových analytiků prověřujeme.

Dále zvažujeme postupné přesunutí výpočetních operací z SQL na php – SQL chceme ponechat hlavně pro správu dat, nikoliv jako výpočetní engine.

Potřebné znalosti a růstový potenciál týmu datařského týmu.

Tříčlenný datový tým, který vznikl začátkem roku 2021, pracuje na upgradu databází tak, že převádí SQL skripty do prostředí Pentaho, které usnadňuje změny verzí díky přizpůsobitelným adaptérům. Při přechodu na vyšší verzi MariaDB, například z 5.7 na 10, je nutný rapidní refaktor kódu, čemuž se chceme do budoucna vyvarovat. Proto používáme Pentaho. V něm je databázová logika nezávislá na konkrétní databázi, což zjednodušuje správu. Tým využívá i asynchronní načítání dat, což však SQL přímo neumožňuje kvůli deadlockům, které částečně obcházíme pomocí partitioningu.

Díky spolupráci datařů a programátorů se jak implementace tak upgrady neustále zlepšují, zrychlují a zefektivňují.

Líbí se ti technologie, se kterými pracujeme, chceš se na tom taky podílet? Koukni na naše volné pozice.

Další na blogu
Blog
HR
Inspirace

Candidate experience

Candidate experience v Logiu očima Sany a Martina: Jak vypadá přijetí nováčka a proč na tom záleží.

Více »
9. 4. 2025
Blog
Logio

Nový obchodní ředitel Logio: Filip Zapletal pomůže s globálním růstem

Konzultačně-technologická společnost Logio uzavřela fiskální rok 2024 s celkovými tržbami téměř 320 mil. Kč a očekávaným ziskem téměř 63 mil. Kč.

Více »
15. 1. 2025
Blog
HR
Konference
Logio

Jak v Logio píšeme software

Náš vlastní software VERITICO pomáhá řídit business třeba v Albertu. Díky komu se ale takový projekt stane?

Více »
9. 12. 2024
Blog
HR
Konference
Logio

Logio slaví 20 let

20. července 2024 Logio slavilo 20 let. Srdečné poděkování patří našim stávajícím kolegům a všem, kteří nám v uplynulých 20 letech pomáhali tuto společnost posouvat kupředu. 💚

Více »
22. 9. 2024

Služby

Automatizace
Business Inteligence
Distribuční logistika
Dynamická simulace
Procesy a Informační systémy
Produktové portfolio
Řízení zásob
Sales & Operations Planning
Skladová logistika
Supply Chain Management
Údržba
Výroba

Odvětví

Maloobchod a Internetový obchod
Velkoobchod
Rychloobrátkové zboží
Zpracovatelský průmysl
Automobilový průmysl
Logistické služby
Těžký průmysl

Případové studie

Maloobchod a internetový obchod
Velkoobchod
Rychloobrátkové zboží
Zpracovatelský průmysl
Automobilový průmysl
Logistické služby
Těžký průmysl

Odkazy

Blog
Infografiky
O nás

Kontakt

logio@logio.cz
+420 771 523 355

Evropská 2588/33a,
160 00 Praha 6

Contact

logio@logio.com
+420 771 523 355

Evropská 2588/33a
160 00 Praha 6
Czech Republic

© 2023 Logio
  • No translations available for this page
Spravovat souhlas s cookies

Abychom vám mohli nabídnout co nejpříjemnější zážitek při procházení webu, používáme technologie, jako jsou soubory cookie, které ukládají informace o zařízení a/nebo k nim přistupují. Souhlas s těmito technologiemi nám umožní zpracovávat údaje, jako je chování při prohlížení nebo jedinečná ID na tomto webu. Neudělení souhlasu nebo jeho odvolání může ovlivnit fungování stránek.

Nezbytně nutné cookies Vždy aktivní
Tyto soubory cookies jsou nezbytné pro správné fungování webu. Bez nich by webové stránky nefungovaly správně.
Preference
Tyto soubory cookies jsou nezbytné pro správné fungování webu. Bez nich by webové stránky nefungovaly správně.
Analytické cookies
Tyto soubory cookies umožňují sledovat návštěvnost webových stránek a další statistiky. Tyto soubory cookies umožňují sledovat návštěvnost webových stránek a další statistiky.
Marketingové cookies
Tyto cookies mohou být nastaveny skrze naše webové stránky reklamními partnery. Tyto společnosti je mohou použít k vytvoření profilu vašich zájmů a zobrazování příslušných reklam na jiných webových stránkách.
Spravovat možnosti Manage services Manage {vendor_count} vendors Přečtěte si více o těchto účelech
Zobrazit preference
{title} {title} {title}

Chceš se k nám přidat?


    Vyplň krátký formulář a my se hned ozveme!





    nebo pošli



    * Pro úspěšné odeslání formuláře je potřeba vyplnit všechna pole označená hvězdičkou.

    Než nám odpovědi odešleš, přečti si prosím, jakým způsobem poskytnuté osobní údaje uchováváme a zpracováváme.





    Chceš se k nám přidat?


      Vyplň krátký formulář a my se hned ozveme!





      nebo pošli



      * Pro úspěšné odeslání formuláře je potřeba vyplnit všechna pole označená hvězdičkou.

      Než nám odpovědi odešleš, přečti si prosím, jakým způsobem poskytnuté osobní údaje uchováváme a zpracováváme.