Przeglądasz zaktualizowaną wersję artykułu.
poniedziałek,
Rocznica premiery bazy danych MySQL
MySQL to system zarządzania bazą danych (DBMS – Data Base Management System). Pierwotnie wzorowany był na mSQL, innym systemie bazodanowym. Pierwsza wersja systemu została wydana 23 maja 1995 roku przez szwedzką firmę MySQL AB założoną przez Davida Axmarka, Allana Larssona i Michaela „Monty” Wideniusa. Od roku 2008 właścicielem MySQL była firma Sun Microsystems, która w roku 2010 została wykupiona przez Oracle Corporation.
System został napisany w C i C++ dzięki czemu może działać na wielu różnych platformach. Dostępne są interfejsy API do języków C, C++, Eiffel, Java, Perl, PHP, Python, Ruby i Tcl. Jest wielowątkowy, pozwala wykorzystywać wiele procesorów. W pełni obsługuje kilkanaście zestawów znaków, możliwe jest stosowanie odmiennych zastawów na poziomie tabel, a nawet pól. Obsługuje mechanizmy sortowania zgodnie z wybranym zestawem znaków (m.in. uwzględnia znaki narodowe). Znaki narodowe mogą być stosowane nawet w nazwach tabel i kolumn.
MySQL jest dostępny na dwóch rodzajach licencji. Pierwszy z nich to licencja GPL, na mocy której system można stosować nieodpłatnie. Drugi rodzaj licencji to licencja komercyjna, wymóg jej posiadania występuje przy aplikacjach niezgodnych z GPL posiadających zintegrowaną bazę MySQL. System zarządzania relacyjnymi bazami danych MySQL jest wykorzystywany przez tak znane aplikacje, jak Drupal, Joomla, phpBB i WordPress. Używa go wiele popularnych stron internetowych, w tym Facebook, Twitter, Flickr i YouTube. Najnowszą stabilną wersję systemy jest MySQL 8.0.16 wydany 25 kwietnia 2019 roku.
MySQL tworzony był z myślą o jak największej prędkości, zgodność ze standardem SQL przez długi czas była odsunięta na drugi plan. Obecnie MySQL jest zgodny z większą częścią standardu SQL:2003. W nowszych wersjach serwera dodano m.in.:
- od wersji 5.0 - procedury składowane (ang. stored procedures), wyzwalacze (ang. triggers), perspektywy (ang. views);
- od wersji 5.1- kursory, partycjonowanie tabel, harmonogram zadań.