๐Ÿ“Œ 1๏ธโƒฃ MariaDB์—์„œ JSON ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ**

๐Ÿ“Œ ๊ธฐ๋ณธ ๊ฐœ๋…

MariaDB๋Š” ์ „ํ†ต์ ์ธ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(RDBMS)์ด์ง€๋งŒ, ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์˜ ์œ ์—ฐ์„ฑ ํ™•๋ณด๋ฅผ ์œ„ํ•ด JSON ๋ฐ์ดํ„ฐ ํƒ€์ž…๊ณผ ๊ด€๋ จ ํ•จ์ˆ˜๋“ค์„ ์ง€์›ํ•จ.


๐ŸŽฏ ์ฃผ์š” ๊ธฐ๋Šฅ

๊ธฐ๋Šฅ ์„ค๋ช… ์˜ˆ์‹œ ์‹ค๋ฌด ํŒ
JSON ๋ฐ์ดํ„ฐ ํƒ€์ž… ์ง€์› JSON ํ˜•์‹ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ (MariaDB 10.2 ์ด์ƒ) JSON ์ปฌ๋Ÿผ ํƒ€์ž… JSON Validation ์—†์Œ โ†’ ์ž˜๋ชป๋œ ๊ตฌ์กฐ ์ž…๋ ฅ ์ฃผ์˜
JSON ํ•จ์ˆ˜ ์ œ๊ณต JSON ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ ์กฐํšŒ ๋ฐ ์ˆ˜์ • JSON_EXTRACT(), JSON_SET() ํ•จ์ˆ˜ ์—ฐ์‚ฐ ๋น„์šฉ ๋†’์Œ โ†’ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ํ•„๋“œ๋Š” ๊ฐ€์ƒ ์ปฌ๋Ÿผ ์ถ”์ฒœ
Full-Text Index + JSON JSON ๋‚ด๋ถ€ ๋ฌธ์ž์—ด ๊ฒ€์ƒ‰ ์ตœ์ ํ™” ๋กœ๊ทธ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ ๋‹จ, ์ „์ฒด JSON Index ๋ถˆ๊ฐ€๋Šฅ, ๋ถ€๋ถ„ ๊ฒ€์ƒ‰์— ํ•œ์ •๋จ
Virtual Column + Index JSON ํŠน์ • ํ‚ค๋ฅผ ๊ฐ€์ƒ ์ปฌ๋Ÿผํ™” ํ›„ ์ธ๋ฑ์‹ฑ ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ ๊ทน๋Œ€ํ™” ๋ณ€๊ฒฝ ์‹œ, Virtual Column ๋™๊ธฐํ™” ์ฃผ์˜

๐ŸŽฌ ๋น„์œ  ๋ณด๊ฐ•: ์ „ํ†ต ์„œ๋ฅ˜ํ•จ + ์ „์ž๋ฌธ์„œ ์‹œ์Šคํ…œ



โš”๏ธ 2๏ธโƒฃ MariaDB vs NoSQL(MongoDB, Redis) ๋น„๊ต

๐Ÿ“Œ ๋น„๊ต ํ‘œ ๋ณด๊ฐ•

ํ•ญ๋ชฉ MariaDB MongoDB Redis
๋ฐ์ดํ„ฐ ๋ชจ๋ธ ๊ด€๊ณ„ํ˜• (Row & Column) + JSON ์ง€์› ๋ฌธ์„œ ์ง€ํ–ฅ (BSON ๊ธฐ๋ฐ˜, JSON ์œ ์‚ฌ) Key-Value (๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜)
์Šคํ‚ค๋งˆ ๊ณ ์ • ์Šคํ‚ค๋งˆ + JSON์œผ๋กœ ์ผ๋ถ€ ์œ ์—ฐ์„ฑ ์Šคํ‚ค๋งˆ๋ฆฌ์Šค, ํ•„๋“œ ์ž์œ  ์Šคํ‚ค๋งˆ ์—†์Œ
ACID ๋ณด์žฅ ์™„๋ฒฝ ์ง€์› ์ตœ๊ทผ ACID ์ง€์› ๊ฐ•ํ™” (๋ฉ€ํ‹ฐ-๋„ํ๋จผํŠธ ํŠธ๋žœ์žญ์…˜) ํŠธ๋žœ์žญ์…˜์€ ๋‹จ์ˆœ MULTI/EXEC (๋ถ€๋ถ„์  ๋ณด์žฅ)
ํ™•์žฅ์„ฑ ์ˆ˜์ง ํ™•์žฅ (Scale-up) โ†’ ์ฃผ๋กœ ์„œ๋ฒ„ ์ŠคํŽ™ ์˜ฌ๋ฆผGalera ํด๋Ÿฌ์Šคํ„ฐ ํ†ตํ•œ ์ˆ˜ํ‰ ํ™•์žฅ ๊ฐ€๋Šฅ ์ˆ˜ํ‰ ํ™•์žฅ (Sharding ๊ธฐ๋ณธ)๋Œ€๊ทœ๋ชจ ๋ถ„์‚ฐ ํ™˜๊ฒฝ์— ์ ํ•ฉ ์ˆ˜ํ‰ ํ™•์žฅ (Cluster ์ง€์›)
์ฃผ์š” ํ™œ์šฉ ์ „ํ†ต ํŠธ๋žœ์žญ์…˜, ๊ธˆ์œต, ERP, ๋ณต์žกํ•œ ์กฐ์ธ ์ฝ˜ํ…์ธ , ๋กœ๊ทธ, ๋น„์ •ํ˜• ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์บ์‹œ, ์„ธ์…˜, ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ
์žฅ์  SQL ์นœ์ˆ™์„ฑ, ๋ณต์žก ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ ์œ ์—ฐ ์Šคํ‚ค๋งˆ, ๋Œ€๊ทœ๋ชจ ๋ถ„์‚ฐ ์ดˆ๊ณ ์† in-memory ์ฒ˜๋ฆฌ
๋‹จ์  ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ ๋ถˆํŽธ, ์ˆ˜ํ‰ ํ™•์žฅ ํ•œ๊ณ„ ์กฐ์ธ ๋ณต์žก, ๊ด€๊ณ„ํ˜• ์—ฐ์‚ฐ ์•ฝํ•จ ์˜์†์„ฑ ์•ฝํ•จ, ๋ณต์žก ๋ฐ์ดํ„ฐ ๋ถ€์ ํ•ฉ

์˜คํ•ด ์ •๋ฆฌ:


๐ŸŽฌ ๋น„์œ  ๋ณด๊ฐ•: ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ์„ผํ„ฐ

์—ญํ•  ๋น„์œ  ์„ค๋ช…
MariaDB ์ •ํ•ด์ง„ ์„œ์‹, ์—„๊ฒฉํ•œ ๊ณต๋ฌธ์„œ ๊ด€๋ฆฌ ์‚ฌ๋ฌด์†Œ ๊ณ„์•ฝ์„œ, ์žฌ๋ฌด์„œ๋ฅ˜, ๊ทœ๊ฒฉํ™”๋œ ๋ฌธ์„œ์— ๊ฐ•ํ•จ
MongoDB ๋ฏผ์› ์ ‘์ˆ˜ ์„ผํ„ฐ: ์–ด๋–ค ์„œ๋ฅ˜๋“ , ์–ด๋–ค ์–‘์‹์ด๋“  OK ์ฝ˜ํ…์ธ , ๋กœ๊ทธ, ๋‹ค์–‘ํ•œ ๋ฌธ์„œ ์ž์œ ๋กญ๊ฒŒ ์ˆ˜์šฉ
Redis ํฌ์ŠคํŠธ์ž‡ ๋ฉ”๋ชจ ๋‹ด๋‹น, ์•ˆ๋‚ด๋ฌธ ๊ฒŒ์‹œํŒ ๋น ๋ฅธ ํ™•์ธ ํ•„์š”ํ•  ๋•Œ, ์ •๋ณด๋Š” ์ผ์‹œ์  (์บ์‹œ, ์„ธ์…˜)


๐Ÿ”— 3๏ธโƒฃ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ™œ์šฉ ๋ฐฉ์•ˆ

๐Ÿ“Œ ์™œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ?

ํ•œ ๊ฐ€์ง€ DB๋กœ ๋ชจ๋“  ์š”๊ตฌ ์ถฉ์กฑ ๋ถˆ๊ฐ€!


๐Ÿ—๏ธ ์‹ค์ œ ๊ตฌ์„ฑ ์ „๋žต ๋ณด๊ฐ•

๊ตฌ์„ฑ ์„ค๋ช… ํ™œ์šฉ ์˜ˆ์‹œ ์ฃผ์˜์ 
MariaDB + Redis ์˜์† ๋ฐ์ดํ„ฐ ๋ณด๊ด€ + ์บ์‹œ๋กœ ์กฐํšŒ ์†๋„ ํ–ฅ์ƒ ์ƒํ’ˆ ์ •๋ณด ์บ์‹œ, ๋กœ๊ทธ์ธ ์„ธ์…˜ ์บ์‹œ ์ผ๊ด€์„ฑ ๋ฌธ์ œ, TTL ์„ค์ •
MariaDB + MongoDB ํŠธ๋žœ์žญ์…˜์€ MariaDB, ์ฝ˜ํ…์ธ /๋กœ๊ทธ๋Š” MongoDB ERP + ๋น„์ •ํ˜• ๋กœ๊ทธ ์‹œ์Šคํ…œ ๋ฐ์ดํ„ฐ ์ค‘๋ณต ๊ด€๋ฆฌ ์ฃผ์˜
MariaDB + Redis + MongoDB ํŠธ๋žœ์žญ์…˜, ์บ์‹œ, ๋กœ๊ทธ ๋ชจ๋‘ ์ตœ์ ํ™” ๋Œ€๊ทœ๋ชจ ํ”Œ๋žซํผ ์„œ๋น„์Šค ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™” ์ „๋žต ํ•„์š”

๐ŸŽฌ ๋น„์œ  ๋ณด๊ฐ•: ์ข…ํ•ฉ ํ–‰์ • ์„ผํ„ฐ



๐Ÿ“ ๐Ÿ”– ์ •๋ฆฌ


๐Ÿ”„ MariaDB์™€ NoSQL ๋น„๊ต & ํ™•์žฅ์„ฑ


๐Ÿ“ฆ 1. MariaDB์˜ JSON ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ


โš”๏ธ 2. MariaDB vs MongoDB vs Redis

DB ํŠน์ง• ํ™œ์šฉ
MariaDB ๊ด€๊ณ„ํ˜•, ACID ๊ฐ•์ , JOIN/ํŠธ๋žœ์žญ์…˜ ๊ธˆ์œต, ERP, ์ •ํ˜• ๋ฐ์ดํ„ฐ
MongoDB ์Šคํ‚ค๋งˆ๋ฆฌ์Šค, ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋กœ๊ทธ, ์ฝ˜ํ…์ธ , ๋Œ€๊ทœ๋ชจ ๋ถ„์‚ฐ
Redis Key-Value, ์ธ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณ ์† ์ฒ˜๋ฆฌ ์บ์‹œ, ์„ธ์…˜, ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ
๐ŸŽฌ ๊ณต๋ฌธ์„œ ๊ด€๋ฆฌ, ๋ฏผ์› ์ฐฝ๊ตฌ, ์•ˆ๋‚ด๋ฌธ ๊ฒŒ์‹œํŒ ๋น„์œ  ย  ย 

๐Ÿ”— 3. ํ•˜์ด๋ธŒ๋ฆฌ๋“œ DB ํ™œ์šฉ ๋ฐฉ์•ˆ