ΠΠ·Π΄Π°Π΄Π΅Π½ΠΎ Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Π½Π° Π‘Π£ΠΠ MariaDB 12.1.2, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΎ ΠΊΠ°ΡΠΎ ΠΏΡΡΠ²ΠΎΡΠΎ ΡΡΠ°Π±ΠΈΠ»Π½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΊΠ»ΠΎΠ½ 12.1. ΠΠ»ΠΎΠ½ MariaDB 12.1 ΠΏΠΎΠΏΠ°Π΄Π° Π² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΡΠ° Π½Π° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΈ ΠΈΠ·Π΄Π°Π½ΠΈΡ (rolling), ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎΡΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° ΠΈ Π·Π°ΠΌΠ΅ΡΡΠ²Π° ΠΊΠ»ΠΎΠ½Π° MariaDB 12.0. Π‘ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ Π΅ Π½Π°Π»ΠΈΡΠ΅Π½ ΠΈ MariaDB 12.2.1, ΠΊΠΎΠΉΡΠΎ ΠΈΠΌΠ° ΡΡΠ°ΡΡΡ Π½Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ Π·Π° ΠΈΠ·Π΄Π°Π½ΠΈΡ. ΠΠ»ΠΎΠ½ΡΡ MariaDB 12.1 ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ Π΄ΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ 12.2.2.
ΠΡΠΎΠ΅ΠΊΡΡΡ MariaDB ΡΠ°Π·Π²ΠΈΠ²Π° ΡΠ°Π·ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΎΡ MySQL, ΠΎΡΠΈΠ³ΡΡΡΠ²Π°ΡΠΎ ΠΎΠ±ΡΠ°ΡΠ½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΠΉΠΊΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ. Π Π°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° MariaDB ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΠΎΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ MariaDB Foundation Π² ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Ρ ΠΎΡΠΊΡΠΈΡ ΠΈ ΠΏΡΠΎΠ·ΡΠ°ΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ. MariaDB ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π²ΠΌΠ΅ΡΡΠΎ MySQL Π² ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ Π½Π° Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) ΠΈ Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½ Π² Π·Π½Π°ΡΠΈΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΊΠ°ΡΠΎ Wikipedia, Google Cloud SQL ΠΈ Nimbuzz.
Π‘ΡΠ΅Π΄ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² ΠΊΠ»ΠΎΠ½Π° MariaDB 12.1:
- Π Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ½ΠΈΡ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» Aria Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ ΠΊΠ΅Ρ Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ΡΠ΅, Π² ΠΊΠΎΠΉΡΠΎ ΠΊΠ»ΡΡΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΡ Π½Π° Π³ΡΡΠΏΠΈ, ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½ΠΈ Π² ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈ Π½Π° ΠΊΠ΅ΡΠ°. ΠΠΎΠ²ΠΈΡΡ ΠΊΠ΅Ρ ΠΏΠΎΠ²ΠΈΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ. ΠΡΠΎΡΡ Π½Π° ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈΡΠ΅ ΡΠ΅ Π·Π°Π΄Π°Π²Π° ΡΡΠ΅Π· ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° aria_pagecache_segments, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΠΎΡ 1 (ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅) Π΄ΠΎ 128.
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡ Π½Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈΡΠ΅ MDL (Metadata Lock).
- Π Π°Π·ΡΠ΅ΡΠ΅Π½Π° Π΅ ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π² ΠΏΠ°ΡΠ°Π»Π΅Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° Galera.
- Π ΠΏΠ»ΡΠ³ΠΈΠ½Π° Π·Π° Π»ΠΎΠ³ Π½Π° ΠΎΠ΄ΠΈΡΠ° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° Π·Π°ΠΏΠΈΡΠΈ Π² Π»ΠΎΠ³. Π Π°Π·ΠΌΠ΅ΡΡΡ Π½Π° Π±ΡΡΠ΅ΡΠ° ΡΠ΅ Π·Π°Π΄Π°Π²Π° ΡΡΠ΅Π· ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° server_audit_file_buffer_size.
- ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ ΠΏΠΎ ΡΡΡΡΠ΅Π½Π΅ Π·Π° Π΄Π°Π½Π½ΠΈ Ρ ΡΠΈΠΏ VECTOR ΡΠ° ΡΡΠΊΠΎΡΠ΅Π½ΠΈ Ρ 30-50%.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² ΠΏΠ»ΡΠ³ΠΈΠ½ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ caching_sha2_password, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° SHA2 Π·Π° Ρ Π΅ΡΠΈΡΠ°Π½Π΅ Π²ΠΌΠ΅ΡΡΠΎ SHA1. ΠΠ»ΡΠ³ΠΈΠ½ΡΡ Π΅ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ Π΅Π΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΠΈΡ ΠΏΠ»ΡΠ³ΠΈΠ½, ΠΏΠΎΡΠ²ΠΈΠ» ΡΠ΅ Π² MySQL 9.0.
- Π ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ Π‘Π£ΠΠ Oracle Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π°ΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΠΈ ΠΌΠ°ΡΠΈΠ²ΠΈ (INDEX BY) ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° β( + )β Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π²ΡΠ½ΡΠ½ΠΈ ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ (outer join), Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: SELECT * FROM table1, table2 WHERE table1.rec_num = table2.fk_table1( + ); TYPE type_name TABLE OF rec_type_name INDEX BY idx_type_name;
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ ΠΎΠΏΡΠΈΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡΠ°: [NO_]JOIN_INDEX, [NO_]GROUP_INDEX, [NO_]ORDER_INDEX, [NO_]INDEX, [NO_]SPLIT_MATERIALIZED, [NO_]DERIVED_CONDITION_PUSHDOWN, [NO_]MERGE.
- Π ΡΡΠΈΠ»ΠΈΡΠ° mariadb-dump Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΌΠ°ΡΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ βdatabase_*β), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΎΠΏΡΠΈΡΡΠ° β-Lβ (βwildcards).
- ΠΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΎ Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½Π΅ΡΠΎ Π·Π° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΎΡΡ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈΡΠ΅ Π½Π° Π²ΡΠ½ΡΠ½ΠΈΡΠ΅ ΠΊΠ»ΡΡΠΎΠ²Π΅ (foreign key) Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΡΠ»Π°ΡΠ° ΠΠ (Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΅ ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΎΡΡΡΠ° Π½Π° Π½ΠΈΠ²ΠΎ ΡΠ°Π±Π»ΠΈΡΠ°).
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ (functional index) Π·Π° ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ GROUP/ORDER BY.
- Π ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΡ ΡΡΠ°ΡΠΈΡΠΎΠ²ΠΊΠ°ΡΠ° Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡΠ° Π΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΡΠ° Π½Π° ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΡΠ°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
