MySQL (MFA: [maɪ ˌɛskjuːɛl]) [4] - sistem de gestionare a bazelor de date libere. Dezvoltarea și suportul MySQL sunt furnizate de Oracle. care a primit drepturile asupra mărcii împreună cu Sun Microsystems absorbite. care anterior a achiziționat compania suedeză MySQL AB. Produsul este distribuit sub licența publică generală GNU. și sub licența comercială proprie. În plus, dezvoltatorii creează funcționalitate pentru ordinea utilizatorilor licențiați, datorită unei astfel de ordini mecanismul de replicare a apărut aproape în cele mai vechi versiuni.
MySQL este o soluție pentru aplicații mici și mijlocii. Este parte a serverelor WAMP. AppServ. LAMP și în serverele de asamblare portabile Denver. XAMPP. De obicei, MySQL este folosit ca un server accesat de clienți locali sau la distanță, dar distribuția include o bibliotecă internă de servere care permite includerii MySQL în programe independente.
Flexibilitatea DBMS-ului MySQL este susținută de un număr mare de tipuri de tabele: utilizatorii pot alege ca tabele de tipul MyISAM. susținând căutarea fulltext, și tabelele InnoDB. Tranzacții de suport la nivelul înregistrărilor individuale. Mai mult decât atât, DBMS MySQL vine cu un tip special de tabel EXEMPLU care demonstrează principiile de creare a unor noi tipuri de tabele. Datorită arhitecturii deschise și licențierii GPL, noi tipuri de tabele apar constant în MySQL DBMS.
O varietate de ramuri de cod a fost creată de comunitatea dezvoltatorilor MySQL, cum ar fi Drizzle (engleză), OurDelta, Percona Server și MariaDB. Toate aceste ramuri existau deja în momentul preluării de către Sun a Oracle Corporation.
Despre originea MySQL
Logo-ul MySQL sub forma unui delfin este numit "Sakila". El a fost ales dintr-o listă largă de nume de delfini sugerate de utilizatori. Numele "Sakila" a fost trimis de Open Source, dezvoltatorul companiei Ambrose Twebaze.
licențiere
MySQL are licențe duble. MySQL poate fi distribuită în condițiile licenței GPL. Cu toate acestea, în condițiile GPL, dacă orice program include codul sursă MySQL, atunci acesta trebuie să fie distribuit și sub licența GPL. Acest lucru poate să nu fie de acord cu planurile dezvoltatorilor care nu doresc să deschidă codul sursă al programelor lor. În astfel de cazuri, este furnizată o licență comercială, care oferă de asemenea suport de servicii de înaltă calitate.
Limbi de programare
Istoria problemelor
În ciuda faptului că versiunea 4.0 este depășită, ea are încă o distribuție semnificativă. Principalele caracteristici ale acestei versiuni:
- implementarea aproape completă a SQL-99 ANSI plus extensii;
- compatibilitate pe platforme;
- tabele independente (MyISAM pentru lectură rapidă, InnoDB pentru tranzacții și integritate referențială);
- tranzacții;
- sprijin pentru SSL;
- chestionare interogare;
- Replicarea. un server principal pe subordonat, mulți subordonați pe cap;
- indexarea și căutarea full-text utilizând tipul tabelului MyISAM;
- o bibliotecă de baze de date integrate;
- Suport Unicode (UTF-8);
- Tabelele InnoDB. asigurarea respectării cerințelor ACID;
- server încorporat, care permite includerea MySQL în aplicații independente.
- interogări imbricate și tabele derivate.
- un nou sistem de codare și sortare;
- protocol de client-server mai rapid și mai flexibil, cu suport pentru interogări pregătite, asigurând executarea optimă a acestora;
- instalare și setări noi pentru Microsoft Windows și Linux;
- Protejat prin conexiuni client-server OpenSSL;
- o bibliotecă extrem de optimizată care poate fi utilizată în programe terță parte;
- suport complet pentru Unicode (UTF-8 și UCS2);
- standard de date spațiale tip GIS. pentru a stoca informații geografice;
- Sistem de căutare și asistență completă îmbunătățit.
Tip de tabel Maria
Maria (din versiunea 5.2.x - Aria) este o versiune extinsă a repozitorului MyISAM. cu adăugarea mijloacelor pentru a păstra integritatea datelor după prăbușire.
Principalele virtuți ale Mariei [11].
Filiala MySQL 5.5 se bazează pe seria MySQL 5.4 nealimentată și conține o serie de îmbunătățiri semnificative legate de scalabilitate și performanță sporite, incluzând:
- Utilizați motorul implicit InnoDB.
- Sprijin pentru un motor de replicare semi-sincron, bazat pe patch-urile InnoDB ale Google.
- Funcții îmbunătățite pentru datele de partiționare. Sintaxă avansată pentru partiționarea tabelelor mari în mai multe părți din sistemele de fișiere (partiționare). Operații adăugate RANGE, LIST și metoda de optimizare a "tăierii partițiilor".
- Un nou mecanism pentru optimizarea interogărilor imbricate și a operațiilor JOIN.
- Sistemul de încuietori interne a fost revizuit.
- Plăcile Google sunt integrate cu optimizarea procesului InnoDB pe procesoare cu un număr mare de nuclee.
Versiunea MySQL 6.0 a fost înghețată la etapa de testare alfa. Inițial, sa decis crearea versiunii 5.2, curând această versiune fiind redenumită la 6.0. Cu toate acestea, informații mai târziu despre MySQL 6.0 au dispărut de pe site, iar dezvoltatorii s-au concentrat pe versiunea 5.5 și pe următoarea versiune de 5.6.
Specificații tehnice
Dimensiunile maxime ale tablelor
Dimensiunea maximă a tabelelor în MySQL este de 3,22 până la 4 GB, în versiuni ulterioare, dimensiunea maximă este de până la 8 milioane de TB (2 63 octeți).
Dimensiunea mesei este limitată de tipul acesteia. În general, tipul MyISAM este limitat la dimensiunea maximă a fișierului în sistemul de fișiere al sistemului de operare. De exemplu, în NTFS această dimensiune poate fi teoretic de până la 32 de exabyte. În cazul InnoDB, o tabelă poate fi stocată în mai multe fișiere reprezentând un singur spațiu de tabelă. Dimensiunea acestuia poate ajunge la 64 terabyte.
Spre deosebire de MyISAM, InnoDB are o limitare semnificativă asupra numărului de coloane care pot fi adăugate la un singur tabel. Dimensiunea implicită a paginii de memorie este de 16 kilobați, din care 8123 octeți sunt alocați pentru date. Dimensiunea câmpului pentru câmpurile dinamice este de 20 de octeți. Astfel, dacă utilizați formatul dinamic al unui șir (ROW_FORMAT = DYNAMIC), un tabel poate conține maximum 409 coloane de tip blob sau text.
localizare
Începând cu versiunea 4.1 a bazei de date MySQL un nou sistem de codificare și de sortare. Dacă utilizați codificarea Windows-1251, trebuie să configurați codificarea conexiunii utilizând următoarele instrucțiuni înainte de a executa instrucțiuni SQL:
Acești trei operatori sunt echivalenți cu apelarea unui operator:
variabilă Character_set_client stabilește codificarea datelor trimise de la client, character_set_results seturi variabile codificarea datelor trimise la client, character_set_connection variabilă setează codificarea, care a transformat informația a venit de la client înainte de interogare pe server.
Când utilizați Unicode UTF-8, această afirmație arată astfel:
Codarea ISO 8859-5 nu este acceptată.
notițe
literatură
MySQL · MySQL Enterprise · MySQL Cluster