Promotic
WikipediaLinkedInYoutubeTwitterFacebook

MySql

MySQL to produkt firmy Oracle i jest on dostępny w kilku komercyjnych wersjach, jak również darmowo w formie wersji MySQL Community Edition. Pliki instalacyjne MySQL można uzyskać na przykład na http://www.mysql.com.
 
Częścią składową pakietu instalacyjnego (od wersji MySQL 5.6) jest narzędzie do administracji Workbench oraz driwery ODBC.
 
Do pracy z bazami danych MySQL w systemie PROMOTIC należy posiadać zainstalowane 32-bitowe driwery do tej bazy danych a to nawet jeżeli sama baza danych jest w wersji 64-bitowej.
 
Charakterystyka MySQL
- Wersja Community jest dostępna darmowo.
- Funkcjonalność produktu nie jest sztucznie ograniczana w darmowej wersji.
- Funkcjonalnie oraz konfiguracyjnie jest MySQL prostrzy od MS SQL Serwer.
- Baza danych działa jako usługa systemu operacyjnego.
- Umożliwia prosty backup, ustawienie uprawnień dostępu, obsługuje transakje, replikacje, itd..
- Wspierany przez większość systemów operacyjnych SO Windows, Linux oraz OS X.
- PROMOTIC można ustawić tak, by trendy i alarmy/zdarzenia zostały zapisywane do MySQL.
- Posiada własny język programowania do definicji tzw. wyzwalaczy (triggers), lub zapisanych procedur.
- Można wybrać jeden z dwu standardowych mechanizmów bazodanowych: MyISAM lub InnoDB.
- Często wykorzystywany w aplikacjach webowych
 
Właściwości podstawowych mechanizmów bazodanowych
 
MyISAM
 
MyISAM mechanizm bazodanowy nie jest wskazanym do częstego zapisu, został zoptymalizowany do częstego odczytu z bazy danych, nie wspiera transakcji. Podczas jednoczesnego podłączenia kilku użytkowników stosuje zamki na poziomie całej tabelki.
 
W systemie PROMOTIC nie jest zalecany do zapisu trendów, alarmów i zdarzeń.
 
InnoDB
 
Mechanizm InnoDB jest bardziej odpowiedni do częstszego zapisu, wspiera transakcje, podczas jednoczesnego podłączenia kilku użytkowników stosuje zamki na poziomie wierszy.
 
Mechanizm ten jest zalecany do stosowania w systemie PROMOTIC do zapisu trendów, alarmów i zdarzeń.
 
Zalecane ustawienie bazy danych MySQL w celu zastosowania w systemie PROMOTIC
 
Dla zaawansowanych aplikacji (duża ilość PmTrend obiektów, częste zapisy alarmów itp.) należy bazę danych MySQL dodatkowo ustawić tak, by nie dochodziło do jej przeciążenia:
 
1. W pliku konfiguracyjnym my.ini należy zmienieć wybór "default-storage-engine" na InnoDB, by ewentualnie nowo wytwarzane tabelki korzystały z mechanizmu InnoDB. Istniejące tabelki należy skonwertować do InnoDB, np. przy pomocy narzędzia administracyjnego Workbench.
 
2. Następnie należy dla mechanizmu InnoDB ustawić "innodb_flush_log_at_trx_commit" na opcję 0 lub 2 (standardowo jest ustawiony na 1). Opcja ta ma wpływ na sposób fizycznego zapisu danych do bazy danych.
 
0 - dane oraz log transakcji zapisuje na dysk za ok. jedną sekundę - mniejsza ilość operacji dyskowych
1 - log transakcji zapisuje na dysk podczas każdego zapisu - bezpieczne, lecz przy wielkiej ilości jednoczesnych zapisów powolne
2 - zapisuje do logu transakcji podczas każdego potwierdzenia transakcji, ale fizyczny zapis logu transakcji na dysk wykonywany jest ok. 1 raz na minutę - mniejsza ilość operacji dyskowych
 
3. Zalecane jest również ustawienie pamięci cache dla danych oraz indeksów tebeli przy pomocy wyboru "innodb_buffer_pool_size". W przypadku deddykowanych serwerów bazodanowych zaleca się aż 70% - 80% instalowanej pamięci RAM.
 
Uwaga
 
Oprócz wszystkich swoich zalet InnoDB posiada również pewne mankamenty. Jednym z nich jest np. problem z poleceniem typu SELECT COUNT(*). Mechanizm ten wykonuje to polecenie o tyle dłużej, o ile większa jest tebela, ponad którą polecenie zostało wywołane. Dla tabeli zawierającej około 300-400 tysięcy rekordów może wykonanie tego polecenia trwać aż 1 sekundę. Z tego powodu polecenie to może negatywnie wpłynąć na płynne działanie Państwa aplikacji.
 
Do bazy danych można zapisywać:
- przy pomocy obiektu PmTrend, jeżeli w tym obiekcie jest ustawiony konfigurator Typ zapisu na Database MySQL cyclic
- przy pomocy obiektu PmAdo
- przy pomocy obiektu PmDatabase (przestarzałe) poprzez ustawione nazwane źródło danych ODBC
 
Następne opisy dotyczące MySQL patrz:
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice