XNUMX๋
๊ฐ์ ๊ฐ๋ฐ๊ณผ XNUMX๋ฒ์ ์ฌ์ ์ถ์ ์ดํ
MariaDB ๊ฐ๋ฐ์ ๊ฐ๋ณ ๊ณต๊ธ์
์ฒด๋ก๋ถํฐ ๋
๋ฆฝ์ ์ธ ์์ ํ ๊ฐ๋ฐฉ์ ์ด๊ณ ํฌ๋ช
ํ ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ๋ฐ๋ผ ๋
๋ฆฝ์ ์ธ MariaDB ์ฌ๋จ์์ ๊ฐ๋
ํฉ๋๋ค. MariaDB๋ ๋ง์ Linux ๋ฐฐํฌํ(RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian)์์ MySQL ๋์ ์ ๊ณต๋๋ฉฐ ๋ค์๊ณผ ๊ฐ์ ๋๊ท๋ชจ ํ๋ก์ ํธ์์ ๊ตฌํ๋์์ต๋๋ค.
์ด์
- ์ถ๊ฐ๋ ์คํ ๋ฆฌ์ง ์์ง
S3 ์ด๋ฅผ ํตํด Amazon S3 ๋๋ S3 API๋ฅผ ์ง์ํ๋ ๊ธฐํ ํผ๋ธ๋ฆญ ๋๋ ํ๋ผ์ด๋น ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง์์ MariaDB ํ ์ด๋ธ์ ํธ์คํ ํ ์ ์์ต๋๋ค. S3์ ์ผ๋ฐ ํ ์ด๋ธ๊ณผ ๋ถํ ๋ ํ ์ด๋ธ์ ๋ชจ๋ ๋ฐฐ์นํ๋ ๊ฒ์ด ์ง์๋ฉ๋๋ค. ๋ถํ ๋ ํ ์ด๋ธ์ด ํด๋ผ์ฐ๋์ ๋ฐฐ์น๋๋ฉด S3 ์คํ ๋ฆฌ์ง์ ์ก์ธ์คํ ์ ์๋ ๋ค๋ฅธ ์๋ฒ์์๋ ์ง์ ์ฌ์ฉํ ์ ์์ต๋๋ค. - ์ถ๊ฐ๋ ์คํ ๋ฆฌ์ง ์์ง
์นผ๋ผ์คํ ์ด , ์ด์ ๋ฐ์ธ๋ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ๋๊ท๋ชจ ๋ณ๋ ฌ ๋ถ์ฐ ์ํคํ ์ฒ. ์์ง์ MySQL ์คํ ๋ฆฌ์ง ๊ฐ๋ฐ์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.์ธํผ๋DB ๋๋์ ๋ฐ์ดํฐ(๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค)์ ๋ํ ๋ถ์ ์ฟผ๋ฆฌ์ ์ฒ๋ฆฌ ๋ฐ ์คํ์ ๊ตฌ์ฑํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค.
ColumnStore๋ ๋ฐ์ดํฐ๋ฅผ ํ ๋จ์๊ฐ ์๋ ์ด๋ณ๋ก ์ ์ฅํ๋ฏ๋ก ํํ๋ฐ์ดํธ ๊ท๋ชจ์ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ์ฌ ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ด๋ณ๋ก ๊ทธ๋ฃนํํ๋ ์ฑ๋ฅ์ ์ต์ ํํ ์ ์์ต๋๋ค. ์ ํ ํ์ฅ, ์์ถ๋ ๋ฐ์ดํฐ ์ ์ฅ, ์์ง ๋ฐ ์ํ ํํฐ์ ๋, ๊ฒฝ์ ์์ฒญ์ ํจ์จ์ ์ธ ์คํ์ด ์ง์๋ฉ๋๋ค. - "mysql"์ด๋ผ๋ ๋จ์ด๋ก ์์ํ๋ ๋ชจ๋ ์คํ ํ์ผ์ ์ด๋ฆ์ "mariadb"๋ผ๋ ๋จ์ด๋ฅผ ์ฌ์ฉํ๋๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด์ ์ด๋ฆ์ ์ฌ๋ณผ๋ฆญ ๋งํฌ ํ์์ผ๋ก ์ ์ฅ๋ฉ๋๋ค.
- ์๋ก์ด ๋ฐ์ดํฐ ์ ํ์ด ์ถ๊ฐ๋์์ต๋๋ค.
INET6 IPv6 ์ฃผ์๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค. - ๊ถํ์ ๋ ์์ ๊ตฌ์ฑ ์์๋ก ๋ถ๋ฆฌํ๋ ์์
์ด ์ํ๋์์ต๋๋ค. ์ผ๋ฐ์ ์ธ SUPER ๊ถํ ๋์ ์ผ๋ จ์ ์ ํ์ ๊ถํ โBINLOG ADMINโ์ ์ ์ํ๊ณ ,
"๋ฐ์ด๋ก๊ทธ ์ฌ์"
"์ฐ๊ฒฐ ๊ด๋ฆฌ์"
"ํ๋๋ ์ด์ ๊ด๋ฆฌ์"
"READ_ONLY ๊ด๋ฆฌ์",
"๋ณต์ ๋ง์คํฐ ๊ด๋ฆฌ์"
"๋ณต์ ์ฌ๋ ์ด๋ธ ๊ด๋ฆฌ์" ๋ฐ
"์ฌ์ฉ์ ์ค์ ". - "REPLICATION CLIENT" ๊ถํ์ "BINLOG MONITOR"๋ก, "SHOW MASTER STATUS" ํํ์ "SHOW BINLOG STATUS"๋ก ์ด๋ฆ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด๋ฆ ๋ณ๊ฒฝ์ ํ๋์ ๋ช ํํ๊ฒ ํ๊ณ ์ ์น์ ์ฌ๋ฐ๋ฆ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค. ํ๋ก์ ํธ๋ ๋ง์คํฐ/์ฌ๋ ์ด๋ธ๋ผ๋ ์ฉ์ด๋ฅผ ๋ฒ๋ฆฌ์ง ์๊ณ "MASTER ADMIN" ๋ฐ "SLAVE ADMIN"์ด๋ผ๋ ์๋ก์ด ๊ถํ์ ์ถ๊ฐํ์ต๋๋ค. ๋์์ SQL ํํ์์๋ "SLAVE"์ ๋์์ด์ธ ์๋ก์ด ํค "REPLICA"๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ์ผ๋ถ ํํ์์ ๊ฒฝ์ฐ ์คํ์ ํ์ํ ๊ถํ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด์ "SHOW BINLOG EVENTS"์๋ "REPLICATION SLAVE" ๋์ "BINLOG MONITOR" ๊ถํ์ด ํ์ํ๊ณ , "SHOW SLAVE HOSTS"์๋ "REPLICATION SLAVE" ๋์ "REPLICATION MASTER ADMIN" ๊ถํ์ด ํ์ํ๋ฉฐ, "SHOW SLAVE STATUS"์๋ "REPLICATION SLAVE ADMIN"์ด ํ์ํ๊ฑฐ๋ "REPLICATION CLIENT" ๋์ "SUPER", "SHOW RELAYLOG EVENTS"์๋ "REPLICATION SLAVE" ๋์ "REPLICATION SLAVE ADMIN" ๊ถํ์ด ํ์ํฉ๋๋ค.
- ์ถ๊ฐ๋ ๋์์ธ "
์ฝ์ ...๋ฐํ ์ค "๊ทธ๋ฆฌ๊ณ "๊ต์ฒด...๋ฐํ ์ค ", SELECT ํํ์์ ์ฌ์ฉํ์ฌ ๊ฐ์ ๋ฐํํ ๊ฒ์ฒ๋ผ ํ์์ผ๋ก ์ฝ์ /๊ต์ฒด๋ ํญ๋ชฉ ๋ชฉ๋ก์ ๋ฐํํฉ๋๋ค("DELETE ... RETURNING"๊ณผ ์ ์ฌ).INSERT INTO t2 ๊ฐ (1,'๊ฐ'),(2,'์ฌ์'),(3,'ํธ๋์ด'),(4,'ํ๋ฒ')
RETURNING id2,id2+id2,id2&id2,id2||id2;
+โโ+โโโ+โโโ+โโโ-+
| ์์ด๋2 | ์์ด๋2+์์ด๋2 | ID2&ID2 | ID2||ID2 |
+โโ+โโโ+โโโ+โโโ-+
| 1 | 2 | 1 | 1 |
| 2 | 4 | 2 | 1 |
| 3 | 6 | 3 | 1 |
| 4 | 8 | 4 | 1 |
+โโ+โโโ+โโโ+โโโ-+ - "๋ผ๋ ํํ์ ์ถ๊ฐํ์ต๋๋ค.
๋ชจ๋ ์ ์ธ "๊ทธ๋ฆฌ๊ณ "๋ชจ๋ ๊ต์ฐจ ยป ํน์ ๊ฐ ์ธํธ๋ก ๊ฒฐ๊ณผ๋ฅผ ์ ์ธ/๋ณด์ถฉํฉ๋๋ค. - ์ด์ "CREATE DATABASE" ๋ฐ "ALTER DATABASE" ๋ธ๋ก ๋ด์ ์ฃผ์์ ์ง์ ํ ์ ์์ต๋๋ค.
- ์ธ๋ฑ์ค์ ์ด์ ์ด๋ฆ์ ๋ฐ๊พธ๊ธฐ ์ํ ๊ตฌ์ฑ์ด ์ถ๊ฐ๋์์ต๋๋ค."
ALTER TABLE ... ์ธ๋ฑ์ค/ํค ์ด๋ฆ ๋ฐ๊พธ๊ธฐ " ๊ทธ๋ฆฌ๊ณ "ALTER TABLE ... ์ด ์ด๋ฆ ๋ฐ๊พธ๊ธฐ ". - "ALTER TABLE" ๋ฐ "RENAME TABLE" ์์ ์์ ํ ์ด๋ธ์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ์๋ง ์์ ์ ์ํํ๋๋ก "IF EXISTS" ์กฐ๊ฑด์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- "CREATE TABLE"์ ์ธ๋ฑ์ค์ ๊ฒฝ์ฐ "
๋ณด์ด๋ ". - ์ฌ๊ท ๋ฃจํ๋ฅผ ์๋ณํ๊ธฐ ์ํด "CYCLE" ํํ์์ ์ถ๊ฐํ์ต๋๋ค.
CTE . - ์ถ๊ฐ๋ ๊ธฐ๋ฅ
JSON_ARRAYAGG ะธJSON_OBJECTAGG ์ง์ ๋ ์ด์ ๊ฐ์ด ํฌํจ๋ ๋ฐฐ์ด ๋๋ JSON ๊ฐ์ฒด๋ฅผ ๋ฐํํฉ๋๋ค. - ์ค๋ ๋ ํ(thread_pool)์ ๋ํ ์๋น์ค ์ ๋ณด ํ ์ด๋ธ(THREAD_POOL_GROUPS, THREAD_POOL_QUEUES, THREAD_POOL_STATS ๋ฐ THREAD_POOL_WAITS)์ ์ถ๊ฐํ์ต๋๋ค.
- ANALYZE ํํ์์ WHERE ๋ธ๋ก์ ํ์ธํ๊ณ ๋ณด์กฐ ์์ ์ ์ํํ๋ ๋ฐ ์์๋ ์๊ฐ์ ํ์ํ๋๋ก ํ์ฅ๋ฉ๋๋ค.
- ๋ฒ์ ์ฒ๋ฆฌ ์ต์ ํ ํ๋ก๊ทธ๋จ์ "IS NOT NULL" ํน์ฑ์ ๊ณ ๋ คํฉ๋๋ค.
- VARCHAR, CHAR, BLOB ์ ํ์ผ๋ก ์ ๋ ฌํ ๋ ์ฌ์ฉ๋๋ ์์ ํ์ผ์ ํฌ๊ธฐ๊ฐ ํฌ๊ฒ ์ค์์ต๋๋ค.
- ะ
๋ฐ์ด๋๋ฆฌ ๋ก๊ทธ ๋ณต์ ๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ธฐ๋ณธ ํค, ์ด ์ด๋ฆ, ๋ฌธ์ ์ธํธ ๋ฐ ๊ธฐํํ ์ ํ์ ํฌํจํ ์๋ก์ด ๋ฉํ๋ฐ์ดํฐ ํ๋๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. mariadb-binlog ์ ํธ๋ฆฌํฐ์ "SHOW BINLOG EVENTS" ๋ฐ "SHOW RELAYLOG EVENTS" ๋ช ๋ น์ ๋ณต์ ํ๋๊ทธ ํ์๋ฅผ ์ ๊ณตํฉ๋๋ค. - ๋์์ธ
๋๋กญ ํ ์ด๋ธ ์ด์ ์์ ํด์ ๊ฑฐ ".frm" ๋๋ ".par" ํ์ผ์ด ์๋๋ผ๋ ์คํ ๋ฆฌ์ง ์์ง์ ๋จ์ ์๋ ํ ์ด๋ธ์ ๋๋ค. - AMD32, ARMv64 ๋ฐ POWER 8 CPU์ ๋ํ crc8() ํจ์์ ํ๋์จ์ด ๊ฐ์ ๋ฒ์ ์ ๊ตฌํํ์ต๋๋ค.
- ์ผ๋ถ ๊ธฐ๋ณธ ์ค์ ์ ๋ณ๊ฒฝํ์ต๋๋ค. innodb_encryption_threads๊ฐ 255๋ก ์ฆ๊ฐํ๊ณ max_sort_length๊ฐ 4์์ 8๋ก ์ฆ๊ฐ๋์์ต๋๋ค.
- InnoDB ์์ง์ ๋ํ ๋ค์ํ ์ฑ๋ฅ ์ต์ ํ๊ฐ ์ ๊ณต๋ฉ๋๋ค.
- Galera ๋๊ธฐ ๋ค์ค ๋ง์คํฐ ๋ณต์ ๋ฉ์ปค๋์ฆ์ ์ ์ฒด ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
GTID (๊ธ๋ก๋ฒ ํธ๋์ญ์ ID), ๋ชจ๋ ํด๋ฌ์คํฐ ๋ ธ๋์ ๊ณตํต๋ ํธ๋์ญ์ ์๋ณ์์ ๋๋ค. - ๋์๊ด์ ์๋ก์ด ์ง์ ์ผ๋ก ์ ํ๋์์ต๋๋ค.
PCRE2 (Perl Compatible Regular Expressions), ๊ธฐ์กด PCRE 8.x ์๋ฆฌ์ฆ ๋์ . - Python ๋ฐ C ํ๋ก๊ทธ๋จ์์ MariaDB ๋ฐ MySQL DBMS์ ์ฐ๊ฒฐํ๊ธฐ ์ํ ์๋ก์ด ๋ฒ์ ์ ํ๋ค์ค๊ฐ ์ ์๋์์ต๋๋ค.
MariaDB ์ปค๋ฅํฐ/ํ์ด์ฌ 1.0.0 ะธMariaDB ์ปค๋ฅํฐ/C 3.1.9 . Python ๋ฐ์ธ๋ฉ์ Python DB API 2.0์ ์ค์ํ๊ณ C๋ก ์์ฑ๋์์ผ๋ฉฐ Connector/C ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ์ ์ฐ๊ฒฐํฉ๋๋ค.
์ถ์ฒ : opennet.ru