Dopo un anno di sviluppo e sei versioni preliminari la prima versione stabile del nuovo ramo del DBMS , nel quale si sviluppa un branch derivato da MySQL, mantenendo la retrocompatibilità e con integrazione di motori di archiviazione aggiuntivi e funzionalità ampliate. Il supporto per il nuovo ramo sarà fornito per 5 anni, fino a giugno 2024.
Lo sviluppo di MariaDB è supervisionato da un'organizzazione indipendente, la MariaDB Foundation, secondo un processo di sviluppo completamente aperto e trasparente, senza dipendenze da singoli fornitori. MariaDB è fornita al posto di MySQL in molte distribuzioni Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) ed è implementata in progetti di grande rilevanza come , e .
Le chiave :
- La tecnologia di replica multi-master sincrona è inclusa , consentendo di utilizzare una topologia multi-master active-active, che permette letture e scritture su qualsiasi nodo. Nella replica sincrona, tutti i nodi contengono sempre dati aggiornati, garantendo l'assenza di transazioni perse, poiché la transazione viene registrata solo dopo la distribuzione dei dati a tutti i nodi. La replicazione avviene in modalità parallela, a livello di righe, trasmettendo solo le informazioni sulle modifiche;
- In sistemi Unix-like, è attivato di default il plugin di autenticazione , che consente di utilizzare gli account presenti nel sistema per connettersi al DBMS tramite un socket unix locale;
- È stata aggiunta impostazione della durata della vita della password dell'utente, dopo la quale la password viene contrassegnata come scaduta. Per impostare la scadenza della password nelle operazioni "CREATE USER" e "ALTER USER" è stata aggiunta l'espressione "PASSWORD EXPIRE INTERVAL N DAY";
- È stata aggiunta la supporto per bloccare gli account degli utenti del DBMS tramite l'espressione "ACCOUNT LOCK" nelle operazioni "CREATE USER" e "ALTER USER";
- Significativamente accelerata l'esecuzione dei controlli di autorizzazione in configurazioni con un alto numero di utenti o regole di accesso;
- utilizzo delle tabelle mysql.user e mysql.host. Per memorizzare gli account e i privilegi globali, ora viene utilizzata la tabella mysql.global_priv;
- In di autenticazione supporto dell'espressione "SET PASSWORD";
- possibilità di utilizzare più di un plugin di autenticazione per ogni account, il che può essere utile per una transizione graduale degli utenti a un plugin . Durante la creazione dell'utente root@localhost, lo script mysql_install_db ora include di default due plugin di autenticazione: unix_socket e mysql_native_password;
- Nel repository InnoDB è implementata l'operazione di eliminazione istantanea delle colonne (ALTER TABLE … DROP COLUMN … ALGORITHM=INSTANT) e la modifica dell'ordine delle colonne. È stato ridotto il volume del log di rollback iniziale (redo log). È stato aggiunto il supporto per la rotazione delle chiavi per innodb_encrypt_log. È stato implementato un algoritmo per il controllo delle checksum.
innodb_checksum_algorithm=full_crc32. È garantita l'espansione istantanea del tipo VARCHAR e la modifica della codifica del testo per colonne non indicizzate; - L'ottimizzatore è stato migliorato. È stata aggiunta la possibilità di tracciare l'ottimizzatore, attivabile tramite la variabile di sistema . Per impostazione predefinita la registrazione delle statistiche è indipendente dai motori di archiviazione.
Sono stati introdotti due nuovi modi use_stat_tables — COMPLEMENTARY_FOR_QUERIES e PREFERABLY_FOR_QUERIES. È stata attivata la modalità optimize_join_buffer_size. Sono stati aggiunti nuovi rowid_filter e condition_pushdown_from_having; - Il supporto per le tabelle di sistema versionate, in cui non solo viene conservato il campione attuale dei dati, ma viene mantenuta anche l'informazione riguardante tutte le modifiche precedentemente apportate, è stato ampliato di intervalli temporali;
- È stato aggiunto un nuovo comando «FLUSH SSL» per ricaricare i certificati SSL senza riavviare il server;
- Nelle operazioni «INSTALL PLUGIN», «UNINSTALL PLUGIN» e «UNINSTALL SONAME» è stato aggiunto il supporto per le espressioni «IF NOT EXISTS» e «IF EXISTS»;
- Sono state proposte tabelle di sistema resistenti ai crash, per le quali è utilizzato il motore ;
- È stata effettuata la transizione all'uso dello standard C++11 (sono state impiegate operazioni atomiche);
- È stata sostanzialmente aumentata la performance delle proprietà di locale «Collation» per Unicode, consentendo di definire regole di ordinamento e metodi di confronto tenendo conto del significato dei caratteri;
- plugin per la definizione di tipi di campo personalizzati;
- È stato aggiunto il supporto per funzioni UDF Nell'operazione «FLUSH TABLES»
- è stata introdotta la modalità «BACKUP LOCK», utilizzabile durante il backup dei file del database; supporto per i comandi del server che iniziano con il nome mariadb, alternativi ai comandi che iniziano con «mysql» (ad esempio, mariadump invece di mysqldump).
- Dopo un anno di sviluppo e sei versioni preliminari
Fonte: opennet.ru
