MariaDB DBMS 10.6์˜ ์•ˆ์ • ๋ฆด๋ฆฌ์Šค

10.6๋…„๊ฐ„์˜ ๊ฐœ๋ฐœ๊ณผ ์„ธ ๋ฒˆ์˜ ์˜ˆ๋น„ ๋ฆด๋ฆฌ์Šค ์ดํ›„ MariaDB 5 DBMS์˜ ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜์˜ ์ฒซ ๋ฒˆ์งธ ์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์Šค๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฆด๋ฆฌ์Šค ๋‚ด์—์„œ ์ด์ „ ๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ•˜๊ณ  ์ถ”๊ฐ€ ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์˜ ํ†ตํ•ฉ์œผ๋กœ ๊ตฌ๋ณ„๋˜๋Š” MySQL ๋ธŒ๋žœ์น˜๊ฐ€ ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ. ์‹ ๊ทœ ๋ธŒ๋žœ์น˜์— ๋Œ€ํ•œ ์ง€์›์€ 2026๋…„ XNUMX์›”๊นŒ์ง€ XNUMX๋…„๊ฐ„ ์ œ๊ณต๋œ๋‹ค.

MariaDB ๊ฐœ๋ฐœ์€ ๊ฐœ๋ณ„ ๊ณต๊ธ‰์—…์ฒด๋กœ๋ถ€ํ„ฐ ๋…๋ฆฝ์ ์ธ ์™„์ „ํžˆ ๊ฐœ๋ฐฉ์ ์ด๊ณ  ํˆฌ๋ช…ํ•œ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์— ๋”ฐ๋ผ ๋…๋ฆฝ์ ์ธ MariaDB ์žฌ๋‹จ์—์„œ ๊ฐ๋…ํ•ฉ๋‹ˆ๋‹ค. MariaDB๋Š” ๋งŽ์€ Linux ๋ฐฐํฌํŒ(RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian)์—์„œ MySQL์„ ๋Œ€์ฒดํ•˜์—ฌ ์ œ๊ณต๋˜๋ฉฐ Wikipedia, Google Cloud SQL ๋ฐ Nimbuzz์™€ ๊ฐ™์€ ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

MariaDB 10.6์˜ ์ฃผ์š” ๊ฐœ์„  ์‚ฌํ•ญ:

  • "CREATE TABLE|VIEW|SEQUENCE|TRIGGER", "ALTER TABLE|SEQUENCE", "RENAME TABLE|TABLES", "DROP TABLE|VIEW|VIEW|TRIGGER|DATABASE" ํ‘œํ˜„์‹์˜ ์›์ž์  ์‹คํ–‰์ด ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค(ํ‘œํ˜„์‹์€ ์™„์ „ํžˆ ์™„๋ฃŒ๋˜๊ฑฐ๋‚˜ ๋ชจ๋“  ๊ฒƒ์ด ์›๋ž˜ ์ƒํƒœ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค). ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์„ ํ•œ ๋ฒˆ์— ์‚ญ์ œํ•˜๋Š” โ€œDROP TABLEโ€ ์ž‘์—…์˜ ๊ฒฝ์šฐ ๊ฐ ๊ฐœ๋ณ„ ํ…Œ์ด๋ธ” ์ˆ˜์ค€์—์„œ ์›์ž์„ฑ์ด ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ์˜ ๋ชฉ์ ์€ ์ž‘์—… ์ค‘ ์„œ๋ฒ„ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ์ถฉ๋Œ ํ›„์—๋„ ์ž„์‹œ ํ…Œ์ด๋ธ”๊ณผ ํŒŒ์ผ์ด ๋‚จ์•„ ์žˆ์„ ์ˆ˜ ์žˆ์—ˆ๊ณ , ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„๊ณผ frm ํŒŒ์ผ์˜ ํ…Œ์ด๋ธ” ๋™๊ธฐํ™”๊ฐ€ ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ์—ˆ์œผ๋ฉฐ, ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์˜ ์ด๋ฆ„์„ ํ•œ ๋ฒˆ์— ๋ฐ”๊ฟ€ ๋•Œ ๊ฐœ๋ณ„ ํ…Œ์ด๋ธ”์˜ ์ด๋ฆ„์ด ๋ฐ”๋€Œ์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๋‚จ์•„ ์žˆ์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ์˜ต์…˜ โ€œโ€”log-ddl-recovery=fileโ€(๊ธฐ๋ณธ์ ์œผ๋กœ ddl-recovery.log)์„ ํ†ตํ•ด ๊ฒฝ๋กœ๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ ๋ณต๊ตฌ ๋กœ๊ทธ๋ฅผ ์œ ์ง€ํ•จ์œผ๋กœ์จ ๋ฌด๊ฒฐ์„ฑ์ด ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค.
  • SQL 2008 ํ‘œ์ค€์— ์ •์˜๋œ "SELECT ... OFFSET ... FETCH" ๊ตฌ์„ฑ์ด ๊ตฌํ˜„๋˜์–ด "WITH TIES" ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง€์ •๋œ ์˜คํ”„์…‹์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ํŠน์ • ์ˆ˜์˜ ํ–‰์„ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋‹ค์Œ ๊ฐ’์„ ์ฒจ๋ถ€ํ•˜์‹ญ์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด, "SELECT i FROM t1 ORDER BY i ASC OFFSET 1 ROWS FETCH FIRST 3 ROWS WITH TIES"๋ผ๋Š” ํ‘œํ˜„์€ ๊ผฌ๋ฆฌ ๋ถ€๋ถ„์— ์š”์†Œ๋ฅผ ํ•˜๋‚˜ ๋” ์ถœ๋ ฅํ•œ๋‹ค๋Š” ์ ์—์„œ "SELECT i FROM t1 ORDER BY i ASC LIMIT 3 OFFSET 1" ๊ตฌ์„ฑ๊ณผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. (3 ๋Œ€์‹  4 ์ค„์ด ์ธ์‡„๋ฉ๋‹ˆ๋‹ค).
  • InnoDB ์—”์ง„์˜ ๊ฒฝ์šฐ ์ž ๊ธˆ์„ ์„ค์ •ํ•  ์ˆ˜ ์—†๋Š” ํ–‰("LOCK IN SHARE MODE" ๋˜๋Š” "FOR UPDATE")์„ ์ œ์™ธํ•  ์ˆ˜ ์žˆ๋Š” "SELECT ... SKIP LOCKED" ๊ตฌ๋ฌธ์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ธ๋ฑ์Šค๋ฅผ ๋ฌด์‹œํ•˜๋Š” ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค(MySQL 8์—์„œ๋Š” ์ด ๊ธฐ๋Šฅ์„ "๋ณด์ด์ง€ ์•Š๋Š” ์ธ๋ฑ์Šค"๋ผ๊ณ  ํ•จ). ๋ฌด์‹œํ•  ์ธ๋ฑ์Šค ํ‘œ์‹œ๋Š” ALTER TABLE ๋ฌธ์˜ IGNORED ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ทธ ํ›„ ์ธ๋ฑ์Šค๋Š” ๊ณ„์† ํ‘œ์‹œ๋˜๊ณ  ์—…๋ฐ์ดํŠธ๋˜์ง€๋งŒ ์ตœ์ ํ™” ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • JSON ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๊ณ„ํ˜• ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” JSON_TABLE() ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด JSON ๋ฌธ์„œ๋Š” ํ…Œ์ด๋ธ” ์ปจํ…์ŠคํŠธ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ณ€ํ™˜๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” SELECT ๋ฌธ์˜ FROM ๋ธ”๋ก ๋‚ด์— ์ง€์ •๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Oracle DBMS์™€์˜ ํ˜ธํ™˜์„ฑ ํ–ฅ์ƒ: FROM ๋ธ”๋ก ๋‚ด๋ถ€์— ์ต๋ช… ํ•˜์œ„ ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. MINUS ๊ตฌ๋ฌธ์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค(EXCEPT์™€ ๋™์ผ). ADD_MONTHS(), TO_CHAR(), SYS_GUID() ๋ฐ ROWNUM() ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • InnoDB ์—”์ง„์—์„œ๋Š” ๋นˆ ํ…Œ์ด๋ธ”์— ์‚ฝ์ž…ํ•˜๋Š” ์†๋„๊ฐ€ ๋นจ๋ผ์กŒ์Šต๋‹ˆ๋‹ค. COMPRESSED ๋ฌธ์ž์—ด ํ˜•์‹์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ฝ๊ธฐ ์ „์šฉ ๋ชจ๋“œ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. SYS_TABLESPACES ์ฒด๊ณ„๋Š” SYS_DATAFILES๋ฅผ ๋Œ€์ฒดํ•˜๊ณ  ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์ƒํƒœ๋ฅผ ์ง์ ‘ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค. ์ž„์‹œ ํ…Œ์ด๋ธ”์ŠคํŽ˜์ด์Šค์— ์ง€์—ฐ ์“ฐ๊ธฐ ์ง€์›์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. MariaDB 5.5์™€์˜ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ์œ ์ง€๋˜์—ˆ๋˜ ์ด์ „ ์ฒดํฌ์„ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•œ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ณต์ œ ์‹œ์Šคํ…œ์—์„œ๋Š” master_host ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ’์˜ ํฌ๊ธฐ๊ฐ€ 60์—์„œ 255์ž๋กœ, master_user๋Š” 128๋กœ ๋Š˜์–ด๋‚ฌ์Šต๋‹ˆ๋‹ค. ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ์˜ ๋งŒ๋ฃŒ ์‹œ๊ฐ„์„ ์ดˆ ๋‹จ์œ„๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก binlog_expire_logs_seconds ๋ณ€์ˆ˜๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋งŒ๋ฃŒ_logs_days ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์ผ ๋‹จ์œ„๋กœ๋งŒ ๊ฒฐ์ •๋จ)
  • Galera ๋™๊ธฐ์‹ ๋‹ค์ค‘ ๋งˆ์Šคํ„ฐ ๋ณต์ œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ wsrep_mode ๋ณ€์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ WSREP(Write Set REPlication) API ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ค‘์ง€ํ•˜์ง€ ์•Š๊ณ  Galera๋ฅผ ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ ํ†ต์‹ ์—์„œ TLS๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘์—…์„ ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•œ ๋ณด๊ธฐ, ๊ธฐ๋Šฅ ๋ฐ ์ ˆ์ฐจ ๋ชจ์Œ์„ ํฌํ•จํ•˜๋Š” sys-schema ์Šคํ‚ค๋งˆ๊ฐ€ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ณต์ œ ์„ฑ๋Šฅ ๋ถ„์„์„ ์œ„ํ•œ ์„œ๋น„์Šค ํ…Œ์ด๋ธ”์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • INFORMATION_SCHEMA.KEYWORDS ๋ฐ INFORMATION_SCHEMA.SQL_FUNCTIONS ๋ทฐ๊ฐ€ ์ •๋ณด ํ…Œ์ด๋ธ” ์„ธํŠธ์— ์ถ”๊ฐ€๋˜์–ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ‚ค์›Œ๋“œ ๋ฐ ๊ธฐ๋Šฅ ๋ชฉ๋ก์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • TokuDB ๋ฐ CassandraSE ์ €์žฅ์†Œ๊ฐ€ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • utf8 ์ธ์ฝ”๋”ฉ์€ 8๋ฐ”์ดํŠธ ํ‘œํ˜„ utf4mb0000(U+10..U+8FFFF)์—์„œ 3๋ฐ”์ดํŠธ utf0000mbXNUMX(์œ ๋‹ˆ์ฝ”๋“œ ๋ฒ”์œ„ U+XNUMX..U+FFFF ํฌํ•จ)๋กœ ์ „์†ก๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • systemd์—์„œ ์†Œ์ผ“ ํ™œ์„ฑํ™”์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • GSSAPI ํ”Œ๋Ÿฌ๊ทธ์ธ์—๋Š” Active Directory ๊ทธ๋ฃน ์ด๋ฆ„ ๋ฐ SID์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • $MYSQL_HOME/my.cnf ์™ธ์— ๊ตฌ์„ฑ ํŒŒ์ผ $MARIADB_HOME/my.cnf๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ์‹œ์Šคํ…œ ๋ณ€์ˆ˜ binlog_expire_logs_seconds, innodb_deadlock_report, innodb_read_only_compressed, wsrep_mode ๋ฐ Innodb_buffer_pool_pages_lru_freed๊ฐ€ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€