ํ์ผ ๋ฐ ๋๋ ํ ๋ฆฌ ๊ด๋ จpwd : ํ์ฌ ์์ ์ค์ธ ๋๋ ํ ๋ฆฌ ์์น ํ์ธls : ํ์ฌ ๋๋ ํ ๋ฆฌ์ ํ์ผ ๋ชฉ๋ก ํ์ธ\-F : ํ์ผ๊ณผ ๋๋ ํ ๋ฆฌ๋ฅผ ๊ตฌ๋ถํ์ฌ ์ถ๋ ฅ\-a : .์ผ๋ก ์์ํ๋ ํ์ผ์ ํฌํจํ์ฌ ์ถ๋ ฅ\-l : ํ ์ค์ฉ ํ์ผ์ ์์ธ์ ๋ณด๋ฅผ ํฌํจํ์ฌ ์ถ๋ ฅ\-al : .์ผ๋ก ์์ํ๋
vi <ํ์ผ๋ช > : ํ์ผ์ด๊ธฐ, ์์ฑvi <line number> <ํ์ผ๋ช > : ํ์ผ ์ด๊ณ ์ ๋ ฅํ line number๋ก ์ด๋ vi <๊ฒ์ํ ๋ฌธ์์ด> <ํ์ผ๋ช > : ํ์ผ์ ์ด๊ณ ์ํ๋ ๋ฌธ์์ด์ด ์ฒ์ ๋ฐ์ํ๋ ๊ณณ์ผ๋ก ์ด๋
Shell Script ์์ฑ ์ ๋์์ฐ๊ธฐ ์ฃผ์ ํ์. chmod ๋ก ํ์ผ์ ์คํ๊ถํ ์ถ๊ฐ ํ์. ํ๋ฉด ์ถ๋ ฅ : echo "Hello Bash!" ๋ณ์ -์ ์ธ: ๋ณ์๋ช =๋ฐ์ดํฐ -์ฌ์ฉ: $๋ณ์๋ช ๋ฆฌ์คํธ -์ ์ธ: ๋ณ์๋ช =(๋ฐ์ดํฐ1๋ฐ์ดํฐ2๋ฐ์ดํฐ3...) -์ฌ์ฉ: ${๋ณ์๋ช \[
NHN CloudNHN Cloud ์ฌ์ฉ์ ๊ฐ์ด๋Compute > Instance ์์ ์ธ์คํด์ค ์์ฑ์ด๋ฏธ์ง ์ค์ CentOS, Ubuntu, Windows ๋ฑ (CentOS ์ ํํจ)์ธ์คํด์ค ์ ๋ณด ์ค์ ์ธ์คํด์ค ์ด๋ฆ ์ค์ : ih-test์ธ์คํด์ค ํ์ ์ค์ m2: CPU์ ๋ฉ๋ชจ๋ฆฌ
๋๋์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ฑ ๋๊ฒ ๋ณด์กดํ์ฌ ์ด์ฉํ๊ธฐ ์ฝ๊ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ํ๋ ค๋ฉด ๋ฐ์ดํฐ ๊ด๋ฆฌ์ ํนํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋งค์ฐ ์ค์๋ฌธ์๋ ์ซ์ ๊ฐ์ ์ธ์ด ๋ฐ์ดํฐ๋ฟ๋ง ์๋๋ผ ๊ทธ๋ฆผ์ด๋ ๋์์ ๊ฐ์ ๋น์ธ์ด ๋ฐ์ดํฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๊ด๋ฆฌ๊ฒ์: ์ํ๋ ๋ฐ์ดํฐ ์ฐพ๊ธฐ. ์ฐธ์กฐ ๋๋ ์ถ์ถ๊ฐฑ์ :
DBMS (DataBase Management System) \- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์ํํธ์จ์ด \- ์ํํธ์จ์ด ๊ณ์ธต ์ค ๋ฏธ๋ค์จ์ด์ ์ํจ \- Oracle, SQL Server, DB2, MySQL, PostgreSQL, Firebird ๋ฑ๊ด๊ณ(Rela
์ด๊ธฐ ๋น์ฉ: ์๋น์ค๋ฅผ ๊ตฌ๋งค(์ด์ฉ)ํ ๋ ์ต์ด์ ์ง๊ธํ๋ ๋์ด์ ๋น์ฉ: ๊ทธ ์ํ์ด๋ ์๋น์ค๋ฅผ ์ด์ฉํ๋ ๊ธฐ๊ฐ์ ๊ณ์ ์ง๊ธํ๋ ๋์ด์๋น์ฉ์ ํฉํ ๊ธ์ก์ด ์ด๊ธฐ๋น์ฉ์ ์ด๊ณผํ๋ ๊ฒฝ์ฐ๋ ๋๋ฌผ์ง ์์ \- ์ด๊ธฐ๋น์ฉ๊ณผ ์ด์๋น์ฉ์ ๋น์จ์ ๋ฐ๊ฟ ์ ์ฒด๋น์ฉ์ ๋ฎ๊ฒ ๋ณด์ด๋ ค๋ ํธ๋ฆญ๋ ์กด์ฌ๋ฐ์ดํฐ
์ํคํ ์ฒ - ์์คํ ์ ๊ตฌ์ฑ. ์์คํ ์ ๋ง๋ค๊ธฐ ์ํ ๋ฌผ๋ฆฌ ๋ ๋ฒจ์ ์กฐํฉ - ์ด๋ค ๊ธฐ๋ฅ์ ๊ฐ์ง ์๋ฒ๋ฅผ ์ค๋นํ๊ณ ์ด๋ค ์ ์ฅ์๋ ๋คํธ์ํฌ ๊ธฐ๊ธฐ์ ์กฐํฉํ์ฌ ์์คํ ์ ์ฒด๋ฅผ ๋ง๋ค ๊ฒ์ธ์ง - ์ฆ, ํ๋์จ์ด์ ๋ฏธ๋ค์จ์ด์ ๊ตฌ์ฑ - ์์คํ ์ ๋ชฉ์ ๊ณผ ๊ธฐ๋ฅ์ ์๋ฏธ๋ ํฌํจ๋จ - ๊ตฌ์ถ ์์ ์
MySQL๊ณผ ์ปค๋ฅ์ ๋ง๋ค๊ธฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์กฐ์ํ๊ธฐ ์ํด์๋ ๋ก๊ทธ์ธ ํ์ '๋ก๊ทธ์ธ ์ฑ๊ณต' ์ํMySQL์ด๋ผ๋ DBMS์ ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธํด์ ์กฐ์ํ ์ ์๊ฒ ๋ ์ํฉ ๋ก๊ทธ์ธ์ ์ฑ๊ณตํ์ฌ ์ปค๋ฅ๊ณผ ์ธ์ ์ด ์ฑ๋ฆฝ๋๋ฉด ํ๋กฌํํธ(Prompt)๊ฐ ํ์๋จ ํ๋กฌํํธ(mysql>): ์ฌ์ฉ์
๊ฐ๋ฐํ๊ฒฝ: NHN Cloud, CentOS 7.9, MySQL 8.0 / MySQL Developer Zone์์ Download MySQL Yum Repository page ์ ์ โก๏ธ ํ๋ซํผ์ ๋ง๋ ํจํค์ง ์ ํ โก๏ธ Red Hat Enterprise Linux 7
๊ฐ๋ฐํ๊ฒฝ: NHN Cloud, CentOS 7.9, MySQL 8.0 / yum์ด๋ apt๋ฅผ ์ด์ฉํด OS์ mysql์ ์ด๋ฏธ ์ค์นํ๋ ์ ์ด ์๋ค๋ฉด, ๋ฐ์ด๋๋ฆฌ ์ค์น์ ๋ฌธ์ ๋ฐ์ ๊ฐ๋ฅ - ํจํค์ง ๊ด๋ฆฌ ์์คํ ์ ์ด์ฉํด ์ด์ mysql์ ์์ ํ ์ง์์ผ ํจ. ๋ถ๊ฐ์ ํ์ผ, ์ด์
SQL์ ์ฃผ๋ก DBMS์ ์ ์ฅ๋ ํ ์ด๋ธ์ ์กฐ์ํ๊ธฐ ์ํด ์ฌ์ฉ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ฌ๋ฌ๊ฐ ์กด์ฌํ ์ ์๊ธฐ ๋๋ฌธ์ ํ ์ด๋ธ์ ๋ณด๊ธฐ ์ํด์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ํํด์ผ ํจ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชฉ๋ก ๋ณด๊ธฐ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉํ๊ธฐํ ์ด๋ธ ๋ชฉ๋ก ๋ณด๊ธฐSQL๋ฌธ์ ๋ง์ง๋ง์ ๋๋ฆฌ๋ฏธํฐ(Delimiter. ๋ฌธ์ฅ์ ๋จ๋ฝ
๊ฐฑ์ ํ๋ ์ปฌ๋ผ์ ๋ํดํธ๊ฐ์ด ์๋ ๊ฒฝ์ฐ์๋ ๊ฐ ๋์ DEFAULT ํค์๋ ์ง์ ํ์ฌ ๋ํดํธ๊ฐ์ผ๋ก ๊ฐฑ์ ๊ฐ๋ฅINSERT ์ ์ ํ ์ด๋ธ ์ ์ ํ์ธ ํ์\\G๋ ; ๋์ ์ ์ฌ์ฉํ ์ ์๋ ๋๋ฆฌ๋ฏธํฐ๋ก ๊ฒฐ๊ณผ๋ฅผ ์ธ๋ก๋ก ๋ณด๊ธฐ ์ฝ๊ฒ ํจํ ์ด๋ธ ์ ์ ๋์ ๋จ์ ์ด ์ ๋ณด ์กฐํ ๊ฐ๋ฅMySQL ์
๋ทฐ๋ SQL ์์ ์์ ํ ์ด๋ธ๊ณผ ๋์ผํ์ง๋ง, ํ ์ด๋ธ์ฒ๋ผ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋ ๊ฒ์ด ์๋ ํ ์ด๋ธ์ ๋ํ SELECT๋ฅผ ๊ฐ์ง์คํ ์์ ์ ์ง์๋ฅผ ์ฌ์ ์ฑํ์ฌ ์ํ๋ฐ์ดํฐ ์ ์ฅ ์์ด(๊ธฐ์ต์ฅ์น์ ์ฉ๋ ์ฌ์ฉ ์์ด) ์คํ ๊ฐ๋ฅ๋ ๋ฆฝ์ฑ: ๊ธฐ์กด ํ ์ด๋ธ์ ๊ตฌ์กฐ๊ฐ ๋ณ๊ฒฝ๋๋ฉด ๋ทฐ๋ ํจ๊ป ๋ณ๊ฒฝ๋๋ฏ๋ก ๋ฐ๋ก ์
Redis : Remote Dictionary ServerKey-Value ๊ตฌ์กฐ์ ๋น์ ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํ ์คํ์์ค ๊ธฐ๋ฐ์ NoSQL DBMS์ฌ์ฉ์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ฌ์ฉ๋ ์๋ ์๊ณ , Cache Server๋ก ์ฌ์ฉ๋ ์๋ ์์๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฐ์ดํฐ๋ฅผ ๋ฌผ
๊ฐ์ฅ ์ผ๋ฐ์ ์ธ key-value ํํ๋ชจ๋ ์ข ๋ฅ์ ๋ฌธ์์ด ์ ์ฅ ๊ฐ๋ฅ์ด์ง ๋ฐ์ดํฐ๋ ์ ์ฅ ๊ฐ๋ฅ (JPEG, HTML fragmentation, ...)key/value ๋ชจ๋ string ํํ์ด๋ฉฐ ๊ฐ๊ฐ ์ต๋ 512MB ๊ธธ์ด๊น์ง ๊ฐ๋ฅSET : key value ๋งคํ ์ค์ . ์ด๋ฏธ
key๊ฐ ์๋ ๋ค๋ฅธ ๊ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฐพ๊ณ ์ถ๋ค๋ฉด indexing ์์ ํ์Sorted Set์ Indexing์ ์ ๊ณตํ๋ ๋ํ์ ์ธ ์๋ฃ ๊ตฌ์กฐSorted Set์์ ๋ชจ๋ score๋ฅผ 0์ผ๋ก ์ค์ ํ๋ฉด ์ฌ์ ์์ผ๋ก ๋ฐ์ดํฐ ์ ๋ ฌ ๊ฐ๋ฅ๋/์๋ฌธ์ ๊ตฌ๋ถ ๋ถ๊ฐ, ํ๊ธ ๋ฑ ์ ์ฉ ๋ถ๊ฐSo
์ํคํ ์ฒ ์ข ๋ฅ๋จ์ ๋ณต์ ์ฐ๊ฒฐMaster-ReplicaMaster only๋ก๋ ์ฌ์ฉ ๊ฐ๋ฅ -> ๊ฐ๋ฐ์ฉํญ์ ํ ๊ฐ์ Master ๋ ธ๋๋ง ์กด์ฌMaster ๋ ธ๋๋ RDB ํ์ผ์ ์์ฑํ์ฌ Replica ๋ ธ๋์ ์ ๋ฌ์ค์๊ฐ ๋น๋๊ธฐ (Async) ๋ณต์ ๋ฐฉ์ ์ฌ์ฉHA ๊ธฐ๋ฅ์ด ์์ด ์ฅ์
์ง์์ฑ ๋ณด์ฅ์ ์ํด ๋ฐ์ดํฐ๋ฅผ ๋์คํฌ์ ์ ์ฅ ๊ฐ๋ฅ์ํฉ์ ๋ง๊ฒ ์ ํ ๊ฐ๋ฅ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๋ฏ๋ก ๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ๋ก ์ธํ ์ฅ์ ๋ฐ์ ๊ฐ๋ฅ์ฑ๋ฐ์ดํฐ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ ๊ทธ๋๋ก snapshotredis.conf ํ์ผ์ SAVE ์ต์ ์ค์ ์๊ฐ ๊ธฐ์ค์ผ๋ก ์๋ ์ ์ฅ์๋ ์ ์ฅ ์ B
Cache : ๋ฐ์ดํฐ์ ์๋ ์์ค๋ณด๋ค ๋ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ์ก์ธ์คํ ์ ์๋ ์์ ๋ฐ์ดํฐ ์ ์ฅ์Redis์ ๋จ์ํ key-value ๊ตฌ์กฐ์ In-memory ์ฌ์ฉ, ๋น ๋ฅธ ์ฑ๋ฅ์ผ๋ก Cache๋ก ๋ง์ด ํ์ฉ๋จํด๋ผ์ด์ธํธ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์์ฒญ์น ์๋ฒ๋ ๋ฐ์ดํฐ๊ฐ ์กด์ฌํ๋์ง Cache
ACL : Access Control List. ์ ๊ทผ ์ ์ด ์ฌ์ฉ์๋ฅผ ์์ฑํ๊ณ ์ํธ ์ง์ , ์ฌ์ฉ ๊ฐ๋ฅํ ์ปค๋งจ๋์ ํค ์ง์ ๊ฐ๋ฅ ACL ์ฌ์ฉ์ ํตํด ๋ณด์์ฑ๊ณผ ์์ ์ฑ ๊ตฌํ ๊ฐ๋ฅ KEYS/FLUSHALL ํธ์ถ ๋ฐฉ์ง, ์ฌ์ฉ์์๊ฒ ํ์ํ ๊ถํ๋ง ๋ถ์ฌ ๋ฑ ์ฌ์ฉ์ ์กฐํ
Sorted Set์ ๋ฐ์ดํฐ๊ฐ ์ ๋ ฌ๋์ด ์ ์ฅ๋๋๋ฐ, ์ด๋ ๋ด๋ถ์ ์ผ๋ก ๋ ๊ฐ์ง ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ก ์ ์ฅ๋จmember ๋ชจ๋ 64 byte ์ดํ์ด๋ฉฐ member ์๊ฐ 128๊ฐ ์ดํ์ด๋ฉด Zip List ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ก ์ ์ฅmember ์ค ํ๋๋ผ๋ 65byte ์ด์์ด๊ฑฐ๋ member
Redis Cluster๋ Redis ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์๋์ผ๋ก Sharding ํด์ฃผ๋ ๊ธฐ์ Fully Connected Mesh Topology ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํจRedis 3.0 ๋ฒ์ ๋ถํฐ ๊ฐ๋ฅ๋ชจ๋ master ๋ ธ๋์ replica ๋ ธ๋๋ ์๋ก ์ฐ๊ฒฐ๋์ด ์์ผ๋ฉฐ, gossip
NHN Cloud CentOS 7.9 Redis 7.0 ๊ณต์ ๋ฌธ์ Install Redis on Linux ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑํ์์ ํ์ฌ yum repository์๋ ์ต์ ๋ฒ์ ์ด ์๋ Redis 3๋ฒ์ ์ด ๋ฑ๋ก๋์ด์์ผ๋ฏ๋ก Remi ์ ์ฅ์๋ฅผ ์ค์น y ์ ๋ ฅ Remi ์ ์ฅ์๋ฅผ
NHN Cloud CentOS 7.9 Redis 7.0 ๊ณต์ ๋ฌธ์ Install Redis from Source๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑํ์์ Redis ๋ค์ด๋ก๋ ํ์ด์ง์์ ์ต์ ๋ฒ์ ํ์ธ ์ค์นํ ๋ฆฌ๋ ์ค ์๋ฒ๊ฐ ์ธ๋ถ ์ธํฐ๋ท์ด ๊ฐ๋ฅํ ํ๊ฒฝ์ด๋ฏ๋ก wget์ผ๋ก ๋ฐ์ด๋๋ฆฌ ๋ฒ์ ์์ถํ์ผ
ํธ๋์ญ์ ์ด๋? ์ฟผ๋ฆฌ๋ฅผ ์ฒ๋ฆฌํ๋ ๋จ์. ํ ๋ฒ์ ์คํ๋์ด์ผ ํ๋ ๋ณต์์ ์ฟผ๋ฆฌ๋ฅผ ํ ๋จ์๋ก ๋ฌถ์ ๊ฒ Atomicity(์์์ฑ) ํธ๋์ญ์ ์ด ์ ๋ถ ์ฑ๊ณตํ๊ฑฐ๋ ์ ๋ถ ์คํจํ์ฌ์ผ ํจ Consistency(์ผ๊ด์ฑ) ํธ๋์ญ์ ์ด ์ฑ๊ณต์ ์ผ๋ก ์คํ ์๋ฃ๋๋ฉด ์ธ์ ๋ ์ผ๊ด์ฑ ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ ์ ์ฒด ๋ฐ์ดํฐ๊ฐ ํ ์ด๋ธ์ ํฌํจ๋๊ณ ์ ์ฅ๋จ โก๏ธ ํ ์ด๋ธ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ ํ ๋ค๋ฃจ๋ ๊ฒ์ด ์ค์ ํ ์ด๋ธ์ด๊ณผ ํ์ผ๋ก ๊ตฌ์ฑ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๊ณ ์ ํ ๊ธฐ๋ณธํค๋ฅผ ๊ฐ์ง๋ ๊ณตํต ์์ฑ์ ๊ฐ์ง ์์๋ค์ ์งํฉํ์ค ์ธ๊ณ์ ๊ฐ๋ ์ด๋ ์งํฉ์ ๋ํ๋ธ ๊ฒํ ์ด๋ธ๋ช ์ ๋ฐ๋์
ํธ๋์ญ์ ์ ํน์ฑ ์ค Durability(์ง์์ฑ)์ ์์คํ ์ด ์ ์์ผ ๋๋ฟ๋ง ์๋๋ผ ๋น์ ์์ ์ข ๋ฃ ๋ฑ์ ์์คํ ์ฅ์ ์ ๊ฒฌ๋ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธ์ง์์ฑ๊ณผ ์ฑ๋ฅ์ ์๋ฆฝ์ ์ํ DBMS ๊ตฌ์กฐ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ ํ์ผ ๋ณ๊ฒฝ์ ์ง์ ์ํํ์ง ์๊ณ ์ฐ์ ๋ก๊ทธ ๋ณ๊ฒฝ ๋ด์ฉ์ ๊ธฐ์ ํ ๋ก๊ทธ
ํน์ ์ฒ๋ฆฌ์ ์์๋ถํฐ ์ข ๋ฃ๊น์ง ๊ฑธ๋ฆฐ ์๊ฐ์ฌ์ฉ์์ ๋ํ ์ํฅ์ด ๊ฐ์์ ๋จ์ ์๊ฐ๋น ์ฒ๋ฆฌ ๊ฐ๋ฅํ ํธ๋์ญ์ . ์๊ฐ ๋จ์์ ์งํ์ด๋น 50๊ฑด์ ํธ๋์ญ์ ์ฒ๋ฆฌ = 50 TPS (Transaction Per Second)์์คํ ์ ์์ ์ฉ๋(Resource Capacity)์ ๊ฒฐ์ ํ
[๋ฌธ์ ์ํฉ] ์ง๋๋ฒ ์ค์น ๊ณผ์ ์์ ์๋ฌด๋ฐ ์ค์ ์์ด Redis๋ฅผ ์คํํ์๋๋ WARNNING์ด ์ฌ๋ฌ๊ฐ ๋จ๊ฒ๋์๋ค. Redis ์คํ ์ ์๋ฌด๋ฐ ๊ฒฝ๊ณ ๋ฉ์ธ์ง ์์ด ๊น๋ํ๊ฒ ํ๋ฉด์ด ๋์ค๋๋ก ์์ ํด๋ณด์! [์ค๋ฅ ํด๊ฒฐ] ๋ฉ์ธ์ง๋ฅผ ์ดํด๋ณด๋ฉด 4๊ฐ์ ์ค๋ฅ ๋ฉ์ธ์ง๊ฐ ์ถ๋ ฅ๋ ๊ฒ์ ์
๊ฐ์กฑ๊ด๊ณ๋ฑ๋ก๋ถ ERD ๋์ถํ ์ด๋ธ, ์์ฑ, ๋ฆด๋ ์ด์ ๋ง ๋์ถํ๊ธ๋ช ๋ง ๋์ถ ๋จผ์ ๊ด๊ณ๋ฅผ ํ์ ํ๊ธฐ ์ํด ๊ฐ๋ ์ ์ธ ๋ชจ๋ธ์ ๊ทธ๋ ค๋ณด์๋ค.์๊ตฌ์ฌํญ์ ๋ํด ์ ๋ฆฌํด๋ณด์.์ํฐํฐ์ ํด๋นํ๋ ๊ฒ์ ์ฌ๋ ๋ฟ์ด๋ฉฐ ์ฌ๋๊ณผ ์ฌ๋ ๊ฐ์ ๊ด๊ณ๋ฅผ ๊ฐ์ง๋ค.ํ ์ฌ๋์ ์ฌ๋ฌ ๊ด๊ณ๋ฅผ ๊ฐ์ง ์ ์๊ณ , ๊ด๊ณ๋ช ์
ํน์ ๋๋ ์ด ํ๋ก์ ํธ์ ์ผ์ผ ์คํฌ๋ผ ํ์คํฌ๋ฅผ ์๋ ๋ฑ๋กํด์ฃผ๋ ํ๋ก๊ทธ๋จ ์์ฑ์ผ์ผ ํ์คํฌ ์์ฑ: \[2023/01/10 (ํ) ์ผ์ผ ์คํฌ๋ผ] ๋ฑ ์ผ์ผ ์คํฌ๋ผ ํ์คํฌ๋ฅผ 1์ฃผ์ผ ์ ๋งค์ผ ์๋ ์์ฑ์ฃผ๊ฐ ํ์คํฌ ์์ฑ: 2023/01/10(ํ) ๋ฐ์ดํฐ์ด์ํ ์ฃผ๊ฐ ์ ๋ฌด ํ์ ์ ์ฃผ๊ฐ
์์ mysql ์ค์น ๊ณผ์ ์ ์ ์ฐจ๋๋ก ์๋์ผ๋ก MySQL์ ์ค์นํ ์ ์๋ ์ ์คํฌ๋ฆฝํธ ์์ฑ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๋ฉด mysql -u root ๋ฅผ ์ ๋ ฅํ์ฌ ๋น๋ฐ๋ฒํธ ์์ด ์ ์ํ ์ ์๋๋ก ์์ฑMySQL ์ค์น ๋ฒ์ : 8.0.322\. ์ค์น ๋ฒ์ ์ ๋ณ์๋ก ๋ฐ๊ธฐ์ฐธ๊ณ ) NHN Clo
Redis ์๋ ์ค์น ์คํฌ๋ฆฝํธ ์์ฑ ์์ redis ์ค์น ๊ณผ์ ์ ์ ์ฐจ๋๋ก ์๋์ผ๋ก Redis๋ฅผ ์ค์นํ ์ ์๋ ์ ์คํฌ๋ฆฝํธ ์์ฑ redis-cli ์ ๋ ฅ์ ์๋์ผ๋ก ์ ์ํ ์ ์๋ alias ์ถ๊ฐ Redis ์ค์น ๋ฒ์ : 7.0.8 2\. ์ค์น ๋ฒ์ ์ ๋ณ์๋ก ๋ฐ๊ธฐ ์ฐธ
IT ์ธํ๋ผ๋ ํ๋์จ์ด์ ์ํํธ์จ์ด๋ก ๊ตฌ์ฑ๋จ ํ๋์จ์ด๋ ์ธ์ ๊ฐ ๋ฐ๋์ ๊ณ ์ฅ๋๊ธฐ ๋ง๋ จ์ด๊ณ , ์ํํธ์จ์ด๋ ํญ์ ๋ฒ๊ทธ๋ฅผ ํฌํจํ๊ณ ์์ ๊ฐ๋ฅ์ฑ์ด ์์ ์ธํ๋ผ ์์ง๋์ด๋ ์ด๋ฌํ ๋ถ์์ ํ ์์๋ฅผ ์กฐํฉํ์ฌ IT ์ธํ๋ผ๋ฅผ ๊ตฌ์ถํ๊ณ , IT ์๋น์ค๋ฅผ ๊ณ์ํด์ ์ ๊ณตํ ์ ์๋๋ก ๋ ธ๋ ฅ
์๋ฒ๋ ์ฌ์ฉ์์ ์์ฒญ์ ๋ฐ๊ณ ์๋ต์ ๋ฐํํ๋ ํ๋์จ์ด์ด๋ฉฐ IT ์๋น์ค๋ฅผ ์ ๊ณตํ๋ IT ์ธํ๋ผ์ ์ฃผ์ถ์ด๋ค.๋ ๋ง์ดํธํ ์๋ฒ๋ฐ์ดํฐ ์ผํฐ๋ ์๋ฒ ๋ฃธ์ ์ค์น๋ ๋ ์์ ๋ค์ด๊ฐ19์ธ์น ๋์ ์์ฉํ๋ ๊ฒ์ ์ ์ ๋ก ํ์ฌ ์ ๋ ๋จ์๋ก ์ฌ์ด์ฆ๊ฐ ์ ํด์ ธ ์์ (1U, 2U, ...)์ํธ
์ด์์ฒด์ ๋?ํ๋์จ์ด ์์์ ์ ์ดํ๊ณ ์ด์ฉ์์๊ฒ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ ๊ธฐ๋ณธ ์ํํธ์จ์ด๋ ๋ํ ๊ณ์ดRed hat Enterprise Linux, CentOS, Fedora, Vine Linux, Scientific Linux, Oracle Linux ๋ฑ๋ฐ๋น์ ๊ณ์ดDebian
๋คํธ์ํฌ๋?์๋ฒ ๋ฑ ๋ณต์์ ๋ ธ๋๋ฅผ ์ ์ ๋๋ ๋ฌด์ ์ผ๋ก ์ฐ๊ฒฐํ ์งํฉ์ฒด. LAN ์ผ์ด๋ธ๊ณผ ๊ด์ฌ์ ์ผ์ด๋ธ ๋ฑ์ ์ง์ฝํด ํต์ ์ ๊ตํํ๋ ์ฅ์น๋ฅผ ๋คํธ์ํฌ ์ฅ๋น๋ผ๊ณ ๋ถ๋ฆ. ๋ผ์ฐํฐ, L2 ์ค์์น, L3 ์ค์์น, L4 ์ค์์น, L7 ์ค์์น ๋ฑ์ด ์์.์์ ํ ํจํท์ ์ ์ ํ ๊ฒฝ๋ก๋ก ์ ์ก
์คํ ๋ฆฌ์ง์ ๋ฐ์ - ๋์ฉ๋ํ : ์ฉ๋ ์ฆ๊ฐ, ์๋ฒ๋ ์ธ๋ถ ์คํ ๋ฆฌ์ง์ ๊ณ ๋ฐ๋ํ๋ก ๋ง์ ํ๋๋์คํฌ ํ์ฌ ๊ฐ๋ฅ - ๊ณ ์ํ : ํ๋๋์คํฌ์ ์ธํฐํ์ด์ค์ ๊ณ ์ํ, SSD์ ์ํฐํ๋ผ์ด์ฆ ํ๋์ ๋ฉ๋ชจ๋ฆฌ ์คํ ๋ฆฌ์ง ๋ฑ์ฅ - ๊ณ ๋ํ : ์ฌ ํ๋ก๋น์ ๋, ์๋ ๊ณ์ธตํ, ์ค๋ณต ์ ๊ฑฐ, ์ค๋ ์ท
๊ตฌ๋งค์ฒ ์ ์ ๊ฐ์ฅ ํ์คํ ๊ฒ์ ๋ฏฟ์๋งํ ์ง์ธ์ผ๋ก๋ถํฐ ์ข์ ์ ์ฒด ์๊ฐ๋ฐ๊ธฐ์๋ค๋ฉด ์ธํฐ๋ท์์ ์ ์ฒด๋ฅผ ๋ช๊ตฐ๋ฐ ์ฐพ์ ๋ฐฉ๋ฌธ ์์ฒญ๋ฐฉ๋ฌธ ๋ชฉ์ ์๊ฐํ๊ธฐ์ง๊ธ ๋ฌด์์ ๊ตฌ๋งคํด์ผ๋ง ํ๋๊ฐ?๊ตฌ๋งคํ๋ ค๋ ์ ํ์ ๊ฐ๊ฒฉ ์์ธ๋ ์ด๋ ์ ๋์ธ๊ฐ?๊ตฌ๋งคํ๋ ค๋ ์ ํ์ ์์ฅ ์ ์ ์จ 1์ ์ ์ฒด๋ ์ด๋์ธ๊ฐ?๋ฐ์ฃผ๋ถํฐ
๋ฐ์ดํฐ์ผํฐ๋ ์ ๊ธฐ, ์จ๋, ๋คํธ์ํฌ, ๋ณด์, ์ฌํด ๋์ฑ ๋ฑ์ด ์ถฉ๋ถํ ๊ณ ๋ ค๋ IT ์ธํ๋ผ ๊ตฌ์ถ์ ์ต์ ์ ํ๊ฒฝ์ ์ ๊ณต์ผ๋ฐ ๊ฑด๋ฌผ์์๋ ๋ฒ์ ์ ์ ์ผ๋ก ์ธํด ๋งค๋ ์ต์ 1ํ ์๋ฒ๋ฅผ ๋ฉ์ถฐ์ผํ์ง๋ง, ๋ฐ์ดํฐ์ผํฐ๋ ๋ฌด์ค๋จ์ผ๋ก ๊ฐ๋ ๊ฐ๋ฅ์ด์ค ๋ง๋ฃจ ๋๊ฐ ๋ฐฉ์๊ฐ๋ ฅํ ๋๊ฐ ๊ณต๊ธฐ๋ฅผ ๋ถ์ด๋ฃ์ด ๋ฐฉ
์ฅ๋น์ ๊ฐ๋ ์ํฉ ์ ๋ฐ ๊ฐ์. SNMP๋ฅผ ์ด์ฉํ๋ ํํ์ ๊ฐ ์๋ฒ์ ์์ด์ ํธ ํ๋ก๊ทธ๋จ์ ์ค์นํ์ฌ ์๋ฃ๋ฅผ ์์งํ๋ ํํ๋ก ๋๋จ. Nagios - ์น ์ค์ ํ๋ฉด์ด ์๊ณ ์ค์ ์ ํ ์คํธ ํ์ผ๋ก ์ ์ฅ. ์ฅ์ ๋ฐ์ ์ด๋ ฅ์ DB๊ฐ ์๋ ํ ์คํธํ์ผ๋ก ์ ์ฅ. ๊ฐ์ ์ค์ ์ ํ๋ฌ๊ทธ์ธ์ผ๋ก
ํ๋์จ์ด -ํซ ์ค์: ์๋น์ค๋ฅผ ๊ฐ๋ํ ์ฑ๋ก ์ด์คํ๋ ๋ถํ ์ค ๊ณ ์ฅ๋ ๋ถํ ๊ตํ -ECC ๊ธฐ๋ฅ: ์ด์์ ๊ฐ์งํ๋ฉด ์๋์ผ๋ก ๋ณด์ ํ์ฌ ํ๋์จ์ด์ ๊ฐ์ฉ์ฑ์ ๋์ ์ํํธ์จ์ดํ ์คํธํ์ง ๋ชปํ ์กฐ์์ด๋ ์ ์์ ์ ๊ทผ์ผ๋ก ์์คํ ์ด์ ๋ฐ์ ๊ฐ๋ฅ ์ผ๋ฐ ์ฌ์ฉ์๋ก๋ถํฐ์ ๋ฌธ์๋ ๊ฐ๋ฐ์๊ฐ ์ฅ์นํ
๋๊ท๋ชจ ์ธํ๋ผ ๊ด๋ฆฌ ์ ์๋ฎฌ๋ ์ด์ ์ ๋ฐํ์ ๋ ๋ฉด๋ฐํ ์ฌ์ ์ค๋น์ ๊ด๋ฆฌ์ฒด์ ๊ตฌ์ถ ํ์์ธ์ ์์, ๋ฐ์ดํฐ์ผํฐ ๊ณต๊ฐ, ์๋ฒ, ๋คํธ์ํฌ ์ฅ๋น, ๋คํธ์ํฌ ๋์ญ ๋ฑ ์จ๊ฐ ์์์ด ๋์์ ๋ถ์กฑํด์ง๋ ๊ฐ์ด๋ฐ ์ฐ์ ์์๋ฅผ ๋งค๊ฒจ๊ฐ๋ฉฐ ์๋ฌ์ ๋์ฑ ์ ์ธ์์ผ ํจ์ ์ฒด๋ฅผ ํตํฉํด ๋ฐ๋ผ๋ณด๋ฉฐ ์ฒด๊ณ๋ฅผ ์ธ
์ฅ๋์ ์ด๋ค ์ธํ๋ผ ์์ง๋์ด๊ฐ ๋๊ณ ์ถ์ด ํ๋์ง ์์ํ๊ณ ํ์์ ๊ทธ์ ๊ฑธ๋ง๊ฒ ๋ ธ๋ ฅํด์ผ ํจํ์ ํ์ญ ์ธํ๋ผ ์์ง๋์ด๋ก ์ผํ ๊ฒ์ ๋ฏฟ๊ณ ์์ฌํ์ง ์๋ ์ฌ๋์ ์ ์ธํ๋ฉด, ์ด๋ ์ ๋ ์ ์ฐํ ์ธ์ ์ค๊ณ๋ ํ์๋ํ๋จผํธ๋ฅผ ์ฝ๋ ํ ๊ธฐ๋ฅด๊ธฐ์ธํ๋ผ ์์ง๋์ด์๊ฒ ๋ํ๋จผํธ๋ฅผ ์ฝ๊ณ ์ดํดํ๋
MongoDB๋ Document ๊ธฐ๋ฐ์ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ค. Database > Collection > Document > Field ๊ณ์ธต์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๋ ์ฝ๋๋ key-value ์์ผ๋ก ์ด๋ฃจ์ด์ง๊ณ , value์๋ ๋ค๋ฅธ document๋ array ๋ฑ์ด ํฌ
โ ์ผ์ : 2023๋ 4์ 24์ผ(์) 14:00 - 16:00 โ ์ฐ์ฌ : ๋ฐ์ฌ์ฑ | ๋ฅ์คํธ์คํ CEO ๐ ๋ชฉ์ฐจ 1.์ ์ง๋ณด์ํ๊ธฐ ์ข์ ์ฝ๋๋ฅผ ๊ตฌํํ๋ ์ญ๋์ ์๊ธฐ ์ํ ๊ฐ์ธ์ ๋ ธ๋ ฅ๊ณผ ์ฐ์ต ๋ฐฉ๋ฒ 2.์ฃผ๋์ด(๋๋ ์ค๋์ด) ๊ฐ๋ฐ์๊ฐ ์์ ์ด ์์ ์ญ๋์ ์กฐ์ง ๋ด ๋๋ฃ๋ค์
prometheus์ grafana๋ฅผ ์ด์ฉํ DB ๋ชจ๋ํฐ๋ง ๊ตฌ์ถํ๊ธฐ์๋ฒ 1: DB ์๋ฒDB ์ค์นํ๋ก๋ฉํ ์ฐ์ค exporter ์ค์น (node exporter, db exporter)์๋ฒ 2: ๋ชจ๋ํฐ๋ง์ฉ ์๋ฒํ๋ก๋ฉํ ์ฐ์ค ์ค์น๊ทธ๋ผํ๋ ์ค์น์๋ฒ 1์๋ 2๊ฐ ์ด์์ db ์ธ์คํด
SQL์ ์ด๋ป๊ฒ ํ๋ํ ๊ฒ์ธ์ง. ์ด ๊ณผ์ ์ ๋ชฉํ. ์ฟผ๋ฆฌ๋ฅผ ๋ณด๊ณ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ ์ ์๋ค. Nested Loop Join์ ์ดํดํ๋ค. ๋ณตํฉ ์ธ๋ฑ์ค๋ฅผ ์ดํดํ๋ค. Semi Join์ผ๋ก ๋ณ๊ฒฝํ ์ ์๋ ์ฟผ๋ฆฌํจํด์ ์ตํ๋ค. ๋จผ์ MySQL ์๋ฒ์ ์ํคํ ์ฒ์ ๋ํด ์์๋ณด์.
MySQL์ ๋๋ถ๋ถ์ ์กฐ์ธ์ NestedLoop Join์ ๋๋ค. ์ฌ์ ์ง์ - ๋ฆด๋ ์ด์ : M:N์ ๊ด๊ณ๋ ์ค๊ฐ์ ํ ์ด๋ธ์ ํ๋ ๋ ์์ฑํด์ ๋ชจ๋ ํ ์ด๋ธ์ด 1:N ๊ด๊ณ๋ก ๊ฐ์ ธ๊ฐ ์ ์๋๋ก ํฉ๋๋ค. ์์) ์ฌ์ - ๋ถ์ ๋ชจ๋ธ INNER JOIN 2015๋ ์ดํ ์์ฑ๋ ๋ถ์
์ธ๋ฑ์ค์ ์ข ๋ฅ MySQL์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก B-Tree (Balanced Tree) ํํ์ ์ธ๋ฑ์ค ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.Leaf ๋ ธ๋๋ Double Linked List๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค. (์ธ๋ฑ์ค๋ฅผ ํตํ ์ ๋ ฌ) ์ธ๋ฑ์ค ํธ๋ฆฌ๋ฅผ ํ๊ณ ์ค์บํ ์๋ ์๊ณ , ํ๋์ ๊ฐ์ ์ฐพ์๊ฐ์ ์ดํ