๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€67

[TIL] 221028 - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค MySQL ๊ณ ๊ธ‰๊ธฐ๋Šฅ ์‹ค๋ฆฌ์ฝ˜ ๋ฐธ๋ฆฌ์—์„œ ๋‚ ์•„์˜จ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค - 5. MySQL ๊ณ ๊ธ‰๊ธฐ๋Šฅ ์‚ดํŽด๋ณด๊ธฐ 1. ํŠธ๋žœ์žญ์…˜ ์†Œ๊ฐœ ํŠธ๋žœ์žญ์…˜ - Atomic ํ•˜๊ฒŒ ์‹คํ–‰๋˜์–ด์•ผ ํ•˜๋Š” SQL๋“ค์„ ๋ฌถ์–ด์„œ ํ•˜๋‚˜์˜ ์ž‘์—…์ฒ˜๋Ÿผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ• : ํ…Œ์ด๋ธ” ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•˜๋Š” SQL์ด ์—ฐ๋‹ฌ์•„ ์‹คํ–‰๋˜๋ฉฐ ๋งˆ์น˜ ํ•˜๋‚˜์˜ SQL์ฒ˜๋Ÿผ ์ „๋ถ€ ์„ฑ๊ณตํ•˜๊ฑฐ๋‚˜ ์ „๋ถ€ ์‹คํŒจ ๋˜์–ด์•ผํ•œ๋‹ค. (COMMIT์„ ์•ˆํ•˜๊ณ  ํŠธ๋žœ์žญ์…˜์„ closeํ•˜๋ฉด ๋ชจ๋‘ ๋ฌดํšจํ™” → rollback์ด๋ž‘ ๋™์ผํ•œ ํšจ๊ณผ) : SELECT์—์„œ๋Š” ์‚ฌ์šฉํ•  ์ด์œ ๊ฐ€ ์—†์Œ : BEGIN/END ํ˜น์€ BEGIN/COMMIT ์‚ฌ์ด์— ํ•ด๋‹น SQL๋“ค์„ ์‚ฌ์šฉํ•˜๋ฉฐ ROLLBACK atomicํ•˜๊ธฐ๋•Œ๋ฌธ์— ๋™๊ธฐํ™” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค. ํŠธ๋žœ์žญ์…˜ ์ปค๋ฐ‹ ๋ชจ๋“œ : autocommit autocommit = True : ๋ชจ๋“  ๋ ˆ์ฝ”๋“œ ์ž‘์—…์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐ”๋กœ ์ปค๋ฐ‹๋œ๋‹ค. .. 2022. 10. 28.
[TIL] 221027 - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค SQL : JOIN ์‹ค๋ฆฌ์ฝ˜๋ฐธ๋ฆฌ์—์„œ ๋‚ ์•„์˜จ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค - 4. SQL ๊ณ ๊ธ‰ ๋‹ค๊ธฐ์ง€(JOIN) 1. INSERT / UPDATE / DELET MySQL ์ปฌ๋Ÿผ ํƒ€์ž… Numeric Type INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT DECIMAL, NUMERIC FLOAT, DOUBLE, BIT Date and Time DATE, DATETIME, TIMESTAMP, TIME, YEAR String Type CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM, SET JSON Type : ๋‹ค์–‘ํ•œ JSON ์กฐ์ž‘ํ•จ์ˆ˜ ์ œ๊ณต Spatial Type : ์œ„๋„ ๊ฒฝ๋„ ์ค‘์‹ฌ ์œ„์น˜ ๊ด€๋ จ ํƒ€์ž… INSERT INTO _ VALUES(_) : primary ke.. 2022. 10. 28.
JUnit ์‚ฌ์šฉ๊ธฐ (feat. IntelliJ) JUnit : ์ž๋ฐ” ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ์„ ์œ„ํ•œ ํ…Œ์ŠคํŒ… ํ”„๋ ˆ์ž„์›Œํฌ JUnit ์‹œ์ž‘ํ•˜๊ธฐ Java(no Spring) , IntelliJ (2022.2.3 ver), gradle ์‚ฌ์šฉ Junit์€ spring-boot-starter-test dependency์— ํฌํ•จ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋”ฐ๋กœ ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•ด์ค„ ํ•„์š”๊ฐ€ ์—†๋‹ค. Spring Initializr์‹œ ์ž๋™์œผ๋กœ ์ถ”๊ฐ€๋˜์–ด์ง„๋‹ค. maven dependency org.springframework.boot spring-boot-starter-test test ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  gradle ๋นŒ๋“œ๋ฅผ ๋งˆ์น˜๋ฉด ์ž๋™์œผ๋กœ test ํด๋”๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. ํ…Œ์ŠคํŠธ ํด๋”๋ฅผ ์šฐํด๋ฆญํ•ด์„œ ์ง์ ‘ test class ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด๋„ ๋˜๊ณ  test ์›ํ•˜๋Š” class๋ฅผ ์šฐํด๋ฆญํ•ด์„œ test ํŒŒ์ผ์„ ์ƒ์„ฑ.. 2022. 10. 26.
[TIL] 221026 - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค SQL : SELECT, GROUP BY ์‹ค๋ฆฌ์ฝ˜๋ฐธ๋ฆฌ์—์„œ ๋‚ ์•„์˜จ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค - 3. SQL ๊ธฐ๋ณธ๋‹ค์ง€๊ธฐ(SELECT์™€ GROUP BY) 1. ์‹ค์Šตํ™˜๊ฒฝ SQL Workbench๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ SQL ์‹ค์Šต SQL Workbench : MySQL ์‚ฌ์ดํŠธ์—์„œ ์ œ๊ณตํ•ด์ฃผ๋Š” ๋ฌด๋ฃŒ ํด๋ผ์ด์–ธํŠธ SQL ์—๋””ํ„ฐ ์„ค์น˜ connection ๋งŒ๋“ค๊ธฐ (์ž‘์—…์ด ์ง„ํ–‰๋  ์„œ๋ฒ„ - rds) ๋“ค์–ด๊ฐ€๊ธฐ์ „ SHOW DATABASES; USE prod; SHOW TABLES; 2. SELECT ํ…Œ์ด๋ธ”์—์„œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ฝ์–ด์˜ค๋Š”๋ฐ ์‚ฌ์šฉ CASE WHEN : ํ•„๋“œ ๊ฐ’์˜ ๋ณ€ํ™˜์„ ์œ„ํ•ด ์‚ฌ์šฉ ๊ฐ€๋Šฅ CASE WHEN ์กฐ๊ฑด THEN ์ฐธ์ผ ๋•Œ ๊ฐ’ ELSE ๊ฑฐ์ง“์ผ๋•Œ ๊ฐ’ END ํ•„๋“œ์ด๋ฆ„ NULL : null์— ์‚ฌ์น™์—ฐ์‚ฐ์„ ํ•˜๋ฉด null IN / LIKE : ๋ฌธ์ž์—ด ๋งค์นญ / BETWEEN STRING function.. 2022. 10. 26.
[TIL] 221025 - MySQL ์‚ฌ์šฉํ•˜๊ธฐ ์‹ค๋ฆฌ์ฝ˜๋ฐธ๋ฆฌ์—์„œ ๋‚ ์•„์˜จ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค - 1. MySQL ์†Œ๊ฐœ/์„ค์น˜์™€ ์˜ˆ์ œ ๋ฐ์ดํ„ฐ ์†Œ๊ฐœ 1. MySQL ์†Œ๊ฐœ ์˜คํ”ˆ์†Œ์Šค์™€ ์œ ๋ฃŒ๋ฒ„์ „์ด ์กด์žฌ Maria DB : MySQ์ด ์˜ค๋ผํด์— ์ธ์ˆ˜๋˜๋ฉฐ ์œ ๋ฃŒํ™” ์—ฌ๋ถ€๊ฐ€ ์Ÿ์ ์ด ๋œ ํ›„ MySQL ์ดˆ๊ธฐ ๊ฐœ๋ฐœ์ž ์ค‘ ํ•˜๋‚˜์ธ Monty๊ฐ€ MySQL๊ณผ ํ˜ธํ™˜๋˜๋Š” ์˜คํ”ˆ์†Œ์Šค ๊ฐœ๋ฐœ. MySQL 5.5 ๊ธฐ๋ฐ˜์—์„œ ๊ฐœ๋ฐœ๋ฌ์œผ๋ฉฐ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋™์ผํ•˜๋‚˜ ์„ฑ๋Šฅ์ด ๋” ์ข‹๋‹ค. ํŠน์ง• Postgres์™€ ํ•จ๊ป˜ ๊ฐ€์žฅ ๋„๋ฆฌ ์“ฐ์ด๋Š” ํ”„๋กœ๋•์…˜์šฉ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„ ํ•œ๋Œ€์งœ๋ฆฌ ์†”๋ฃจ์…˜ → ์—ฌ๋Ÿฌ๋Œ€ ์„œ๋ฒ„์— ๋ถ„์‚ฐ ๋™์ž‘ํ•˜์ง€ ๋ชปํ•œ๋‹ค. ์šฉ๋Ÿ‰ ์ด์Šˆ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์Œ. ์šฉ๋Ÿ‰ ์ฆ๋Œ€ ๋ฐฉ์‹ : Scale-UP : ์„œ๋ฒ„์— CPU์™€ Memory ์ถ”๊ฐ€. ์„œ๋ฒ„์˜ ์‚ฌ์–‘์„ ๋†’์ธ๋‹ค → but ํ•œ๊ณ„๊ฐ€ ์žˆ์Œ Scale-out : Master-Slave ๊ตฌ์„ฑ. ์ผ.. 2022. 10. 25.
[TIL] 221024 - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ ์†Œ๊ฐœ ์‹ค๋ฆฌ์ฝ˜๋ฐธ๋ฆฌ์—์„œ ๋‚ ์•„์˜จ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค - 1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ ์†Œ๊ฐœ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๊ฐ€ ์™œ ํ•„์š”ํ•œ๊ฐ€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค - ํ”„๋กœ๋•์…˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค (RDSMS) : ์›น ์„œ๋น„์Šค๋‚˜ ์•ฑ์˜ ์šด์˜์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ด๋‘๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค : MySQL, PostgreSQL, .. : ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์กฐํ™”๋œ ํ…Œ์ด๋ธ”๋“ค์˜ ์ง‘ํ•ฉ์œผ๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ์ €์žฅ, ๊ด€๋ฆฌ : ๋น ๋ฅธ ์ฒ˜๋ฆฌ ์†๋„๊ฐ€ ์ค‘์š”ํ•œ๋‹ค. : vs ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (๋น ๋ฅธ ์ฒ˜๋ฆฌ์†๋„๋ณด๋‹ค ์–ผ๋งˆ๋‚˜ ํฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š๋ƒ) - ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค : ์„œ๋น„์Šค์šฉ์ด ์•„๋‹Œ ํšŒ์‚ฌ ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ถ„์„ : BigQuery, Snowflake, MySQL,.. : ๊ตฌ์กฐํ™”๋œ ํฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š” : ๋ณดํ†ต ํ”„๋กœ๋•์…˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ณต์‚ฌํ•ด์„œ ๋ฐ์ดํ„ฐ ์›จ.. 2022. 10. 24.