Tags Posts tagged with "mysql"

mysql

przez -
38 912
Oracle

Oracle ostatnimi czasy bardzo naraziło się społeczności wolnego oprogramowania. Wpierw porzuciło praktycznie rozwój OpenOffice-a, oddając go pod skrzydła fundacji Apache, a następnie przejmując Suna z bazą danych MySQL i zmieniając całkowicie model biznesowy rozwoju. Spowodowało to oczywiście powstanie dwóch nowych projektów: LibreOffice oraz MariaDB.

Jednocześnie firma jest znana z bardzo wysokich cen na swoje oprogramowanie i licencje, przez co rząd USA oskarżył ją o stosowanie zawyżonych cen. Tymczasem Oracle nie przestaje w swoim dążeniu do unicestwienia wolnego oprogramowania i opublikowała dokument: The Department of Defense (DoD) and Open Source Software.

Atakuje w nim model biznesowy open source, twierdząc, że w ostatecznym rozrachunku i tak wychodzi drożej, aniżeli jakby klient kupował zamknięte oprogramowanie. Kod dostarczany przez społeczność jest kiepskiej jakości i posiada sporo luk bezpieczeństwa.

Ciekawe natomiast jest to, że Oracle nie wspomina ani razu o kwestiach krytycznych błędów w Javie, a także bardzo wolnym ich łataniu.

przez -
4 577
MySQL

W ostatnim czasie kilka osób zauważyło, że strony podręcznika pomocy bazy danych MySQL zaczęły być inaczej licencjonowane. Zaczęto sprawdzać wszystkie najnowsze wydania wstecz i okazało się, że wersje 5.1, 5.5, 5.6 i 5.7 również posiadają inne licencje. Zgłoszono zatem błąd: Bug #69512 Wrong license in man pages in Community Server, który szybko został potwierdzony przez pracownika Oracle – Yngve Svendsena.

Okazało się, że system budowania paczek źle i po cichu nadaje złe licencje w nagłówkach. Trwają aktualnie prace nad rozwiązaniem problemu.

przez -
11 659
Red Hat

Red Hat ogłosił, że Red Hat Enterprise Linux 7 będzie używało MariaDB, jako domyślnej bazy danych. Porzucone zostanie MySQL definitywnie, podobnie jak ma to miejsce w następnym wydaniu Fedory 19. Wiadomo także, że następne większe wydanie CentOS oraz innych pochodnych od RHELa dystrybucji również przesiądzie się na nową bazę danych. Jest to o tyle dobra wiadomość, że być może MariaDB nabierze rozpędu i dostanie niewielkie dofinansowanie na rozwój.

Nie podano na razie powodów takiej decyzji. Przypomnijmy, że Arch Linux przechodzi na MariaDB, Slackware zrobił MariaDB główną bazą danych oraz Monty Program Ab i SkySQL połączyli siły, aby wspomóc rozwój MariaDB.

przez -
5 1061
MySQL

Replikacja w bazie MySQL jest bardzo przydatna w dużych środowiskach produkcyjnych. Mimo różnego rodzaju wad i przeszkód jakie nam stawia działa bardzo dobrze i wydajnie, zwłaszcza od wersji MySQL 5.6, gdzie pojawiła się wielowątkowa replikacja. Bardzo często wykorzystuje się bazę slave do wykonywania kopii zapasowych za pomocą mysqldump lub XtraBackup. Zazwyczaj aby sprawdzić czy baza slave nadąża za masterem wykorzystuje się do tego wartość Seconds_Behind_Master. Niestety potrafi ona płatać figle.

Wartość Seconds_Behind_Master, jak sama nazwa wskazuje, jest to ilość sekund określająca opóźnienie w przetwarzaniu danych przed bazę podrzędną w stosunku do głównej. Im większa jest ta wartość tym mamy większe opóźniania i niespójność danych w danej chwili.

Dla przykładu wykonując dump bazy danych możemy zobaczyć jak zmienia się ta wartość. Wartość ta rośnie ponieważ na czas wykonywania kopii zapasowej blokujemy zapis do tabel, przez co replikacja nie może wstawiać nowych rekordów. Wartość 0 zazwyczaj jest interpretowana jako fakt, że slave dogonił serwer master i wykonuje dokładnie te same zapytania.

Backup Second_Behind_Master

Niestety nie jest to zawsze prawdą. Bardzo często w przypadku problemów sieciowych (duży ruch w sieci, wolne łącze, zrywanie połączenia) wartość tak może być przekłamana. Na przykład w momencie zerwania połączenia wartość ta będzie pokazywała 0 dopóki timeout wątekt I/O na bazie slave nie osiągnie wartości slave_net_timeout.

Kolejnym takim przykładem może być moment kiedy wątek SQL dogonił wątek I/O. W takim wypadku powinna pojawić się nam wartość 0. Natomiast kiedy I/O zaczyna pobierać nowe dane, Seconds_Behind_Master będzie wskazywał duże wartości nim wątek SQL ich nie przetworzy.

Skoki Seconds_Behind_Master

Opierając monitoring na wartości Seconds_Behind_Master możemy nie zauważyć sporego opóźnienia w przetwarzaniu zapytań. Duże wartości mogą pojawiać się okresowo, ale na zbyt krótki okres czasu aby monitoring zareagował. Warto wtedy sprawdzić, który plik logu znajduje się na serwerze master, a który jest obecnie przetwarzany przez bazę slave. W powyższym przypadku rozjazd był około 90 plików po 1GB danych. A to całkiem sporo.

przez -
3 662
MySQL

Firma Oracle poinformowała o wydaniu serwera baz danych MySQL 5.6 GA. Skupiono się głównie na zwiększeniu skalowalności, wydajności i elastyczności swojego produktu. Zaktualizowano silnik składowania danych InnoDB. Otrzymał on pełne wsparcie dla przeszukiwania pełnotekstowego. Możliwe jest również tworzenie indeksów pełnotekstowych oraz przeszukiwanie treści w tabelach InnoDB.

Nowa wersja serwera przynosi ulepszenia w optymalizatorze zapytań, poprawiono sortowania.

Ulepszona replikacja MySQL

Do tej pory po stronie serwera Slave działał jeden wątek, który wykonywał zapytania na bazie danych, co powodowało czasem bardzo duże opóźniania pomiędzy serwerem Master, a Slave. Od wersji 5.6 pojawiła się możliwość równoległego wykonywania zapytań na bazie danych. Zwiększa to zdecydowanie wydajność całej replikacji oraz redukuje czas opóźniania pomiędzy serwerami.

Poprawiono również wznawianie replikacji po jej uszkodzeniu. Serwer slave potrafi automatycznie wznowić replikację DML po awarii.

Sumy kontrolne w replikacji

Dzięki wprowadzeniu sum kontrolnych do replikacji zwiększona została ich integralność. Pozwala to na wykrycie błędów w replikowaniu danych w przypadku problemów sieciowych, uszkodzenia dysków lub pamięci.

Time-Delayed Replication

Dodano możliwość definiowania opóźnień w replikacji od kilku milisekund aż do 68 lat. Opóźnienia definiowane są na poziomie każdego serwera slave. Mogą one pomóc w opóźnieniu replikowaniu przypadkowych zapytań typu DROP TABLE.

Interfejs do baz NoSQL

Dzięki interfejsowi memcached pojawił się dostęp do danych InnoDB bez konieczności tworzenia zapytań SQL, co zapewnia niskie opóźnienia oraz wysoką wydajność zapisu oraz odczytu danych. Eliminowane są operacje parsowania zapytań SQL.

Pojawiły się nowe tabele INFORMATION_SCHEMA, które udostępniają nam nowe dane statystyczne na temat silnika bazy danych. Pozwala to na lepszy monitoring całego serwera.

W silniku InnoDB dodano wsparcie dla ICP, MRR oraz file sort. Pozostałe nowości opisaliśmy w newsie Jakie nowości czekają nas w MySQL 5.6?.

Polecane

Jesień Linuksowa

1 1137
Polska Grupa Użytkowników Linuksa ma zaszczyt zaprosić na konferencję Jesień Linuksowa 2017, która odbędzie się w dniach 22 – 24 września 2017 roku. Jako...