Promotic
WikipediaLinkedInYoutubeTwitterFacebook

MySql

MySQL je vyvíjena firmou Oracle a je dostupná v několika komerčních verzích, ale i bezplatně ve formě MySQL Community Edition verze. Instalační soubory MySQL lze získat například na http://www.mysql.com.
 
Součástí instalačního balíčku (od verze MySQL 5.6) je i správcovský nástroj Workbench a ODBC ovladače.
 
Pro práci s databází MySQL v systému PROMOTIC je potřeba mít na počítači nainstalované 32-bitové ovládače pro tuto databázi a to i když vlastní databáze je v 64-bitové verzi.
 
Charakteristika MySQL
- Komunitní verze je dostupná zdarma.
- Funkčnost produktu není v bezplatné verzi uměle omezena.
- Funkčně i konfiguračně je MySQL jednodušší než MS SQL Server.
- Databáze běží jako služba operačního systému.
- Umožňuje snadné zálohování, nastavení přístupových práv, transakční zpracování, replikace, atd..
- Funkční na většině operačních systémů OS Windows, Linux a OS X.
- PROMOTIC lze nastavit tak, aby trendy a alarmy/eventy zapisovaly svá data do MySQL.
- Má vlastní programovací jazyk pro definici tzv. triggerů, nebo uložených procedur.
- Je možné zvolit jeden ze dvou standardních DB strojů: MyISAM nebo InnoDB.
- Často se používá u Web aplikací
 
Vlastnosti základních DB strojů
 
MyISAM
 
MyISAM DB stroj není příliš vhodný pro častý zápis, je optimalizován spíše pro časté čtení z databáze, nepodporuje transakce. Při současném přístupu několika uživatelů používá zámky na úrovni celé tabulky.
 
Pro použití v systému PROMOTIC pro zápis trendů, alarmů a eventů není doporučen.
 
InnoDB
 
InnoDB stroj je lepší pro častější zápisy, podporuje transakce, při současném přístupu několika uživatelů používá zámky na úrovni řádku.
 
Tento DB stroj je doporučován pro použití v systému PROMOTIC pro zápis trendů, alarmů a eventů.
 
Doporučené nastavení databáze MySQL pro použití v systému PROMOTIC
 
Pro náročnější aplikace (hodně PmTrend objektů, časté zápisy alarmů apod.) je třeba MySQL databázi dodatečně nastavit, aby nedocházelo k jejímu přetížení:
 
1. V konfiguračním souboru my.ini je potřeba změnit volbu "default-storage-engine" na InnoDB, aby případné nově vytvářené tabulky používaly DB stroj InnoDB. Již existující tabulky je vhodné zkonvertovat na InnoDB, např. pomocí zprávcovského nástroje Workbench.
 
2. Dále je potřeba pro InnoDB stroj nastavit "innodb_flush_log_at_trx_commit" na volbu 0 nebo 2 (standardně je nastaveno na 1). Tato volba ovlivňuje způsob fyzického zápisu dat do databáze.
 
0 - zapisuje data a transakční log na disk přibližně jednou za sekundu - menší počet diskových operací
1 - zapisuje na disk transakční log při každém zápisu - bezpečné, ale při velkém počtu současných zápisů pomalé
2 - zapisuje do transakčního logu při každém potvrzení transakce, ale fyzický zápis transakčního logu na disk se provádí přibližně jednou za vteřinu - menší počet diskových operací
 
3. Vhodné je také nastavit velikost cache paměti pro data a indexy tabulek pomocí volby "innodb_buffer_pool_size". U dedikovaných databázových serverů je doporučeno až 70% - 80% instalované operační paměti.
 
Upozornění
 
Kromě všech svých výhod má InnoDB také určité nevýhody. Jednou z nich je např. problém s příkazem typu SELECT COUNT(*). Tento DB stroj provádí tento typ dotazu tím delší dobu, čím větší je tabulka, nad kterou se takový dotaz volá. Pro tabulku obsahující přibližně 300-400 tisíc záznamů může tento dotaz trvat až 1 sekundu. Tento příkaz tedy může v určitých případech negativně ovlivnit plynulost běhu vaší aplikace.
 
Do databáze lze ukládat:
- pomocí objektu PmTrend, pokud je v tomto objektu nastaven konfigurátor Typ uložení na Database MySQL cyclic
- pomocí objektu PmAdo
- pomocí objektu PmDatabase (zastaralé) přes pojmenovaný ODBC zdroj
 
Další popisy k MySQL viz:
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice