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

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, SQL

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค / ORM, Prisma, 3Tier

ORM

Object-Relational Mapping, ๊ฐ์ฒด์™€ ๋กœ์šฐ๋ฅผ ์—ฐ๊ฒฐ(map)ํ•ด์ฃผ๋Š” ๋„๊ตฌ

Node.js๋‚˜ JAVA ๊ฐ™์€ ๊ณ ์ฐจ์›(High Level) ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ด์–ด์ค€๋‹ค.

 

์žฅ์ 

  • ์ƒ์‚ฐ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์šฉ์ดํ•จ
  • DB๊ฐ€ ๋…๋ฆฝ์ 
    ex) : postgreSQL์„ ์“ฐ๋‹ค๊ฐ€ mySQL์„ ์“ฐ๋”๋ผ๋„ ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
  • ๋ณด์•ˆ์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ–์ถฐ์ ธ ์žˆ์Œ.
    - SQL Injection : ์‚ฌ์šฉ์ž ์ด๋ฆ„ ๋˜๋Š” ์•”ํ˜ธ์™€ ๊ฐ™์€ ์ผ๋ฐ˜ ์ž…๋ ฅ ๋˜๋Š” ์–‘์‹ ํ•„๋“œ์— SQL ์ฟผ๋ฆฌ๋ฅผ ์‚ฝ์ž…ํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ์˜ ์ทจ์•ฝ์„ฑ์„ ์•…์šฉํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๋Š” ๊ณต๊ฒฉ ์œ ํ˜•
    - ORM์—๋Š” ์ด๋Ÿฐ ๊ธฐ๋ณธ์ ์ธ ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ์–ด๋А ์ •๋„๋Š” ๋ฐฉ์–ดํ•ด ์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ”๊ณ  ์žˆ์Œ.
    (๋ฌผ๋ก  raw query๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋“ฑ์˜ ๊ฒฝ์šฐ์—๋Š” ์ทจ์•ฝ์ ์ด ์žˆ์œผ๋‚˜ ์•ˆ ์“ฐ๋Š” ๊ฒƒ๋ณด๋‹ค์•ผ ๋‚ซ๋‹ค!)

 

 

Prisma 

JS, TS๋ฅผ ์ง€์›ํ•˜๋Š” ORM

ํ”„๋ฆฌ์ฆˆ๋งˆ์˜ ๊ตฌ์กฐ

์žฅ์ 

  • ์ดˆ๋ณด์ž์—๊ฒŒ ์นœ์ˆ™ํ•จ
  • DB ๋…๋ฆฝ์„ฑ
  • ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ : DB์˜ ์Šคํ‚ค๋งˆ๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ์‹. ๊ธฐ๋ก์„ ๊ณ„์† ๋‚จ๊ฒจ์„œ ํŠธ๋ž˜ํ‚น์ด๋‚˜ ๋กค๋ฐฑ์ด ๊ฐ€๋Šฅํ•จ

 

 


 

 

๋„คํŠธ์›Œํฌ ์•„ํ‚คํ…์ณ(Network Architecture)

1 Tier Architecture

๋ชจ๋“  ๊ธฐ๋Šฅ์ด ํ•˜๋‚˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ˆ˜ํ–‰๋จ

๋‹จ์ˆœํ•˜์ง€๋งŒ ํ™•์žฅ์„ฑ์ด ๋–จ์–ด์ง

ex) ์—‘์…€

 

2 Tier Architercture

ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋กœ ๋‚˜๋‰จ 

 

์žฅ์  : ๋‹จ์ˆœํ•œ ๊ตฌ์กฐ๋ผ ์ค‘์†Œ ๊ทœ๋ชจ ์‹œ์Šคํ…œ์— ์ ํ•ฉํ•˜๋ฉฐ, DB / ์•ฑ์ด ๋ถ„๋ฆฌ๋ผ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ์— ํšจ์œจ์ ์ž„

๋‹จ์  : ๋ฐ์ดํ„ฐ์˜ ๋ณต์žก๋„๊ฐ€ ์ฆ๊ฐ€ํ• ์ˆ˜๋ก ํ™•์žฅ์„ฑ์ด ๋–จ์–ด์ง

ex) ๋ฐ์Šคํฌํƒ‘ ์•ฑ + DB ์„œ๋ฒ„ ์กฐํ•ฉ (์˜ˆ: Java ์•ฑ + MySQL ์„œ๋ฒ„)

 

 

3 Tier Architecture

UI, ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง, ๋ฐ์ดํ„ฐ ๊ณ„์ธต์„ ๊ฐ๊ฐ ๋ถ„๋ฆฌ

  • ํด๋ผ์ด์–ธํŠธ : UI
  • ์„œ๋ฒ„ : ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์ฒ˜๋ฆฌ
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค : ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ

์žฅ์  : ์œ ์ง€ ๋ณด์ˆ˜๊ฐ€ ์šฉ์ด, ํ™•์žฅ์„ฑ ์ข‹์Œ, ๋ณด์•ˆ์ด ๊ฐ•ํ™”๋จ, ๋ชจ๋“ˆํ™” ๋˜์–ด์žˆ์Œ

๋‹จ์  : ๋ณต์žกํ•จ

 

ex) ์›น๋ธŒ๋ผ์šฐ์ € ↔ API ์„œ๋ฒ„ ↔ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค