TiDB ๊ธฐ๋ฅ:
- SQL ์ง์ ๋ฐ MySQL ํ๋กํ ์ฝ๊ณผ ํธํ๋๋ ํด๋ผ์ด์ธํธ ์ธํฐํ์ด์ค ์ ๊ณต์ผ๋ก MySQL์ฉ์ผ๋ก ์์ฑ๋ ๊ธฐ์กด ์ ํ๋ฆฌ์ผ์ด์ ์ TiDB์ ์ฝ๊ฒ ์ ์ฉํ ์ ์์ผ๋ฉฐ ๊ณตํต ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. MySQL ํ๋กํ ์ฝ ์ธ์๋ JSON ๊ธฐ๋ฐ API์ Spark์ฉ ์ปค๋ฅํฐ๋ฅผ ์ฌ์ฉํ์ฌ DBMS์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
- SQL์ ๊ธฐ๋ฅ ์ค ์ธ๋ฑ์ค, ์ง๊ณ ํจ์, GROUP BY, ORDER BY, DISTINCT ํํ์, ๋จธ์ง(LEFT JOIN / RIGHT JOIN / CROSS JOIN), ๋ทฐ, ์๋์ฐ ํจ์, ์๋ธ์ฟผ๋ฆฌ๊ฐ ์ง์๋๋ค. ์ ๊ณต๋ ๊ธฐํ๋ PhpMyAdmin๊ณผ ๊ฐ์ ์น ์์ฉ ํ๋ก๊ทธ๋จ์ TiDB ์์
์ ๊ตฌ์ฑํ๊ธฐ์ ์ถฉ๋ถํฉ๋๋ค.
Gogs ๊ทธ๋ฆฌ๊ณ ์๋ํ๋ ์ค; - ํ์ฅ ๋ฐ ๋ณต์๋ ฅ: ์ ๋ ธ๋๋ฅผ ์ถ๊ฐํ๊ธฐ๋ง ํ๋ฉด ์คํ ๋ฆฌ์ง ๋ฐ ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ ํ์ฅํ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ๋ ๊ฐ๋ณ ๋ ธ๋์ ์ฅ์ ๊ฐ ๋ฐ์ํด๋ ์์ ์ ๊ณ์ํ ์ ์๋๋ก ์ค๋ณต์ฑ์ ๊ฐ์ถ ๋ ธ๋ ์ ์ฒด์ ๋ถ์ฐ๋ฉ๋๋ค. ์คํจ๋ ์๋์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.
- ์์คํ ์ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๊ณ ์ค์ ๋ก ํธ๋์ญ์ ์ ์๋ฃํ๊ธฐ ์ํด ๋ง์ ๋ ธ๋์ ๋ฐ์ดํฐ๊ฐ ๊ด๋ จ๋์ด ์์์๋ ๋ถ๊ตฌํ๊ณ ํด๋ผ์ด์ธํธ ์ํํธ์จ์ด์ ํ๋์ ํฐ DBMS์ฒ๋ผ ๋ณด์ ๋๋ค.
- ์๋ฅผ ๋ค์ด GoLevelDB ๋ฐ BoltDB ๋ก์ปฌ ์คํ ๋ฆฌ์ง ์์ง ๋๋ ๊ธฐ๋ณธ ๋ถ์ฐ ์คํ ๋ฆฌ์ง ์์ง๊ณผ ๊ฐ์ ๋
ธ๋์ ๋ฌผ๋ฆฌ์ ๋ฐ์ดํฐ ์คํ ๋ฆฌ์ง์ ๋ค๋ฅธ ๋ฐฑ์๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
TiKV ๊ทธ๋ฆฌ๊ณ TiFlash. TiKV๋ ๋ฐ์ดํฐ๋ฅผ ํค/๊ฐ ํ์์ผ๋ก ํ์ ์ ์ฅํ๋ฉฐ ํธ๋์ญ์ ์ฒ๋ฆฌ(OLTP) ์์ ์ ๋ ์ ํฉํฉ๋๋ค. TiFlash๋ ์ด ๊ธฐ๋ฐ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๋ถ์ ๋ฌธ์ (OLAP)๋ฅผ ํด๊ฒฐํ ๋ ๋ ๋์ ์ฑ๋ฅ์ ์ป์ ์ ์๋๋ก ํฉ๋๋ค. - ์คํ ๋ฆฌ์ง ์ฒด๊ณ๋ฅผ ๋น๋๊ธฐ์์ผ๋ก ๋ณ๊ฒฝํ๋ ๊ธฐ๋ฅ์ ํตํด ์งํ ์ค์ธ ์์ ์ฒ๋ฆฌ๋ฅผ ์ค๋จํ์ง ์๊ณ ์ฆ์ ์ด๊ณผ ์ธ๋ฑ์ค๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
์ ๋ฆด๋ฆฌ์ค์์:
- ๊ธฐ๋ณธ์ ์ผ๋ก ๋ถ์ฐ ๊ฐ๋น์ง ์์ง๊ธฐ Green GC๊ฐ ํ์ฑํ๋์ด ์์ด ๋๊ท๋ชจ ํด๋ฌ์คํฐ์์ ๊ฐ๋น์ง ์์ง ์๋๋ฅผ ํฌ๊ฒ ๋์ด๊ณ ์์ ์ฑ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
- ๊ฑฐ์ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ์ ๋ฐ๋ผ ํฌ๊ธฐ๊ฐ ์ ํ๋๋ ๋๊ท๋ชจ ํธ๋์ญ์ ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ๋จ์ผ ํธ๋์ญ์ ํฌ๊ธฐ ์ ํ์ด 100MB์์ 10GB๋ก ์ฆ๊ฐํ์ต๋๋ค.
- ๋ฐฑ์ ์ ์ํ BACKUP ๋ฐ RESTORE ๋ช ๋ น์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ํ ์ด๋ธ์ ์ ๊ธ์ ์ค์ ํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค.
- ์ฝ๊ธฐ ์์ค(READ COMMITTED)์์ MySQL ํธํ ํธ๋์ญ์ ๊ฒฉ๋ฆฌ ๋ฉ์ปค๋์ฆ์ ์ถ๊ฐํ์ต๋๋ค.
- LIKE ๋ฐ WHERE ํํ์์ ๋ํ ์ง์์ด "ADMIN SHOW DDL JOBS" ๋ช ๋ น์ ์ถ๊ฐ๋์์ต๋๋ค.
- oom-use-tmp-storage ๋งค๊ฐ๋ณ์๋ฅผ ์ถ๊ฐํ์ฌ RAM์ด ๋ถ์กฑํ ์ํ์์ ์ค๊ฐ ๊ฒฐ๊ณผ๋ฅผ ์บ์ฑํ๊ธฐ ์ํด ์์ ํ์ผ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์์์ ๊ฐ์ ์์ฑ์ ํ ๋นํ๊ธฐ ์ํด Random ํค์๋๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- LOAD DATA ๋ช ๋ น์ ์ด์ XNUMX์ง์ ๋ฐ XNUMX์ง์ ํํ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์ตํฐ๋ง์ด์ ๋์์ ์ ์ดํ๊ธฐ ์ํด 15๊ฐ์ ๋งค๊ฐ๋ณ์๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- SQL ์ฟผ๋ฆฌ์ ์ฑ๋ฅ์ ์ง๋จํ๊ธฐ ์ํ ๋๊ตฌ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ์์คํ ํ ์ด๋ธ SLOW_QUERY / CLUSTER_SLOW_QUERY๋ฅผ ํตํด ์ฌ์ฉ ๊ฐ๋ฅํ ๋๋ฆฐ ์ฟผ๋ฆฌ ๋ก๊ทธ๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- ์ํ์ค ์์ ์ ์ํ ๊ธฐ๋ฅ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- PD(Placement Driver, ํด๋ฌ์คํฐ ๊ด๋ฆฌ ์๋ฒ)์์ ์ฝ์ ๊ตฌ์ฑ ๋งค๊ฐ๋ณ์๋ฅผ ๋์ ์ผ๋ก ๋ณ๊ฒฝํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค. "SET CONFIG" ๋ฌธ์ ์ฌ์ฉํ์ฌ PD/TiKV ๋ ธ๋์ ์ค์ ์ ๋ณ๊ฒฝํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค.
- ์๋ฒ์ ๋ํ ์ต๋ ๋์ ์ฐ๊ฒฐ ์๋ฅผ ์ ํํ๊ธฐ ์ํด max-server-connections ์ค์ ์ ์ถ๊ฐํ์ต๋๋ค(๊ธฐ๋ณธ์ ์ผ๋ก 4096).
- ์์ฒญ๋ ์ด์ด ์ธ๋ฑ์ค์ ์ํด ์์ ํ ํฌํจ๋๋ ์ํฉ์์ ์ฑ๋ฅ์ด ํฅ์๋์์ต๋๋ค.
- ์ธ๋ฑ์ค ๋ณํฉ์ ๊ธฐ๋ฐ์ผ๋ก ์ฟผ๋ฆฌ ์ต์ ํ๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- ๋ค์ํ ๊ฐ์ผ๋ก ์ด์ ์ฑ๋ฅ ํฅ์
- ์ธ๋ฑ์ค ์ก์ธ์ค ๊ฒฐ๊ณผ๋ฅผ ์บ์ฑํ๊ณ ์ค๋ณต ํญ๋ชฉ์ ํํฐ๋งํ์ฌ CPU ๋ถํ๋ฅผ ์ค์์ต๋๋ค.
- ์ด ์๊ฐ ๋ง์ ํ ์ด๋ธ์ ์ฑ๋ฅ์ ๋์ผ ์ ์๋ ์๋ก์ด ๋ฌธ์์ด ์ ์ฅ ํ์์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- GROUP_CONCAT ํจ์๋ ์ด์ "ORDER BY" ํํ์์ ์ง์ํฉ๋๋ค.
- SQL์ ํตํด TiFlash ๋ก๊ทธ์์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค.
- "RECOVER TABLE" ๋ช ๋ น์ ์๋ฆฐ ํ ์ด๋ธ ๋ณต๊ตฌ ์ง์์ ๊ตฌํํฉ๋๋ค.
- DDL ์์ ์คํ์ ๋ํ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ฟผ๋ฆฌํ๊ธฐ ์ํด DDLJobs ์์คํ ํ ์ด๋ธ์ ์ถ๊ฐํ์ต๋๋ค.
- SHOW CONFIG ๋ช ๋ น์ ์ฌ์ฉํ์ฌ PD ๋ฐ TiKV ์ค์ ์ ํ์ํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค.
-
ํฌํจ ๊ธฐ๋ณธ ์ฝํ๋ก์ธ์ ์บ์; - ์ปค๋ฐ ์ฌ์๋ ๋จ๊ณ์ ๊ณ ๋ฃจํด ์๋ ์ด์ committer-concurrency ์ค์ ์ ์ฌ์ฉํ์ฌ ์ ์ดํ ์ ์์ต๋๋ค.
- ํ ์ด๋ธ ํํฐ์ ์ ์์ญ์ ํ์ํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค.
- ์์ ์คํ ๋ฆฌ์ง์ ํฌ๊ธฐ๋ฅผ tidb-server๋ก ์ ํํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค.
- "tbl_name ํํฐ์ (partition_name_list)์ ์ฝ์ " ๋ฐ "tbl_name ํํฐ์ (partition_name_list)์ ๊ต์ฒด" ์์ ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ํํฐ์ ๋(ํํฐ์ ๋)์ ์ฌ์ฉ๋๋ ํด์์์ "is null"์ ๊ธฐ์ค์ผ๋ก ํํฐ๋ง ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๋ถํ ๋ ํ ์ด๋ธ์ ๊ฒฝ์ฐ ์ธ๋ฑ์ค ํ์ธ, ์ ๋ฆฌ ๋ฐ ๋ณต์์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru