MySQL logo

MySQL

MySQL jest najbardziej popularnym open sourcowym systemem zarządzania relacyjną bazą danych. Jest on częścią popularnego pakietu oprogramowania służącego do rozwoju aplikacji webowych zwanego LAMP (Linux, Apache, MySQL, PHP).

Czym jest relacyjna baza danych?

Relacyjna baza danych została pierwotnie opisana przez Edgara Codda w 1969 roku gdy pracował dla IBM-u. Jest ona zbiorem pozycji danych które są zorganizowane jako zbiór tabel opisanych pewnymi relacjami. Użytkownik widzi to w formie tabeli z wierszami i kolumnami. Każda tabela zawiera w sobie rekordy danych (pojedyczny rekord zwany jest krotką) gdzie każda krotka jest definiowana przez tyb atrybutu oraz unikalną dla tej krotki wartością. Każda tabela dzieli z inną tabelą co najmniej jeden atrybut jeśli jest z nią w relacji 'jeden do jednego', 'wiele do jednego' albo 'wiele do wielu'. Takie relacje są cechą charakterystyczną relacyjnych baz danych i pozwalają na łączenie tabel na bardzo wiele sposobów umożliwiając wyszukiwanie nawet bardzo zaawansowanych połączeń pomiędzy danymi. Ta możliwość znacznie ułatwia tworzenie oraz zarządanie ogromnymi bazami danych z bardzo dużą ilością relacji.

Czym jest MySQL?

MySQL powstał w roku 1995 na terenie Szwecji. Jego przewodnią ideą było stworzenie nowego interfejsu do mSQL-a który twórcy uznali za zbyt wolny. Nazwa MySQL pochodzi od imienia córki jednego z współzałożycieli: My. Pomimo że początkowo projekt miał być tylko do użytku personalnego zdobył on popularność w społeczności programistów. Firma, której właścicielem był jeden z oryginalnych deweloperów, dystrybuowała MySQL przez pierwsze pięć lat na płatnej licensji i dopiero w 2000 roku przeszła na open source. Od tego czasu MySQL rósł w popularności aż osiągnął swoją obecną pozycje jako drugiego najbardziej popularnego systemu zarządzania bazą danych (pierwszym jest nie open-sourcowy Oracle 12c Database).

Zalety MySQL

Skalowalność

MySQL jest bardzo wydajną bazą danych. Bez problemu poradzi sobie z wielkimi ilościami zapytań: może być w stanie obsługiwać nawet do miliona zapytań na sekundę. Świadczy o tym to, że MySQL-a używają takie giganty jak Facebook czy Youtube.

Uniwersalność

MySQL jest dostępny na miriadzie systemów: poczynając od Linuxa oraz OS X, poprzez Windowsa i kończąc na takich systemach jak OpenBSD, OpenSolaris, Novell NetWare czy Symbian.

Ochrona danych

MySQL oferuje wiele mechanizmów ochrony danych: Uwierzytelnianie użytkownika, wsparcie dla protokołów SSH czy SSL, granularna struktura dostępu która pozwala użytkownikom na dostęp tylko do danych do których ten dostęp powinni mieć, potężna enkrypcja i dekrypcja danych oraz inne.

Możliwości systemu MySQL

Będąc oprogramowaniem typu open source MySQL oferuje szeroki zestaw możliwości które są nieustannie usprawnianie:

  • Szybkość: Z wersji na wersje MySQL staje się coraz szybszy. Obecna wersja 5.7 oferuje trzy razy większą wydajność operacji typu read-only przy 1.6 miliona zapytań na sekunde używajc Linuxa.
  • Wsparcie dla formatu JSON: Od wersji 5.7 MySQL natywnie wspiera format JSON.
  • Wsparcie dla protokołu SSL: MySQL wspiera komunikacje pomiędzy klientem a serwerem poprzez protokół SSL.
  • Widoki:Możliwość tworzenia widoków dzięki zapewniają że wrażliwe dane nie dostaną się w niepowołane ręce
  • Możliwość replikacji: MySQL oferuje możliwość replikacji baz danych w typach master-slave oraz master-master.
  • Wyzwalacze: MySQL daje możliwość używania wyzwalaczy: automatycznie wykonywanych procedur które wykonują się w reakcji na pewne zdarzenia w tabeli danych.
  • Wiele silników: MySQL natywnie wspiera wiele silników SQL takich jak: InnoDB, MyISAM czy CSV.
  • Partycjonowanie: które usprawnia wydajnośc oraz zarządanie gigantycznimi bazami danych.

Przydatne linki