Skip to content

Latest commit

ย 

History

History
183 lines (125 loc) ยท 11.7 KB

File metadata and controls

183 lines (125 loc) ยท 11.7 KB

3์žฅ. ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง ๊ธฐ์ดˆ

moderated by ํŽญ๊ท„

๐Ÿ“ ๋ชฉ์ฐจ


3.1. ๋ฐ์ดํ„ฐ ์†Œ์Šค

  • ์‚ฌ์šฉ์ž ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋Š” ํ…์ŠคํŠธ, ์ด๋ฏธ์ง€, ๋น„๋””์˜ค ๋“ฑ ํฌ๋งท์ด ๋‹ค์–‘ํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ ์‹ค์ˆ˜๋กœ ์ž…๋ ฅํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์–ด ์ฒ ์ €ํ•œ ๊ฒ€์‚ฌํ™” ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
  • ์‹œ์Šคํ…œ ์ƒ์„ฑ ๋ฐ์ดํ„ฐ๋Š” ์‹œ์Šคํ…œ์˜ ์—ฌ๋Ÿฌ ๊ตฌ์„ฑ ์š”์†Œ์—์„œ ์ƒ์„ฑ๋˜๋Š” ๋ฐ์ดํ„ฐ๋กœ ์‹œ์Šคํ…œ ๋กœ๊ทธ, ์‚ฌ์šฉ์ž ํ–‰๋™ ๋ฐ์ดํ„ฐ ๋“ฑ์ด ์žˆ๋‹ค.
    • ๋ฐ”๋กœ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ์ฃผ๋กœ ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.
  • ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ํšŒ์‚ฌ์˜ ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค ๋ฐ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ƒ์„ฑ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋งํ•œ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๊ทธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค
  • ์„œ๋“œ ํŒŒํ‹ฐ ๋ฐ์ดํ„ฐ๋Š” ์ฃผ๋กœ ๊ธฐ์—…์ด๋‚˜ ์กฐ์ง ์™ธ๋ถ€์—์„œ ์ˆ˜์ง‘๋˜๊ณ  ์†Œ์œ ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋งํ•œ๋‹ค. ์‚ฌ์ดํŠธ๋ฅผ ๋Œ์•„๋‹ค๋‹ˆ๋‹ค ๋ณด๋ฉด ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์ œํ’ˆ์˜ ๊ด‘๊ณ ๋ฅผ ํ•˜๋Š” ๊ฒฝ์šฐ

โฌ†๏ธ ์œ„๋กœ ์ด๋™

3.2. ๋ฐ์ดํ„ฐ ํฌ๋งท

3.2.1. JSON(JavaScript Object Notation)

{
  "firstName": "Taylor",
  "lastName": "Swift"
}
  • JavaScript์—์„œ ํŒŒ์ƒ๋˜์—ˆ์ง€๋งŒ, ํ˜„์žฌ ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ JSON ์ƒ์„ฑ๊ณผ ํŒŒ์‹ฑ์„ ์ง€์› ์ค‘์ด๋‹ค.
  • key-value ํ˜•์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ , ๋‹ค์–‘ํ•œ ์ˆ˜์ค€์˜ ์ •ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค.
  • JSON ํŒŒ์ผ์€ ํ…์ŠคํŠธ ํŒŒ์ผ์ด๋ฏ€๋กœ ์ €์žฅ ๊ณต๊ฐ„์„ ๋งŽ์ด ์ฐจ์ง€ํ•œ๋‹ค.

3.2.2. ํ–‰ ์šฐ์„  ํฌ๋งท vs. ์—ด ์šฐ์„  ํฌ๋งท

ํ–‰ ์šฐ์„  vs. ์—ด ์šฐ์„  ํฌ๋งท

  • CSV๋Š” ํ–‰ ์šฐ์„ ์œผ๋กœ ํ–‰์˜ ์—ฐ์† ์š”์†Œ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๋‚˜๋ž€ํžˆ ์ €์žฅ๋˜์ง€๋งŒ, Parquet์€ ์—ด ์šฐ์„ ์œผ๋กœ ์—ด์˜ ์—ฐ์† ์š”์†Œ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๋‚˜๋ž€ํžˆ ์ €์žฅ.
  • ํ–‰ ์šฐ์„  ํฌ๋งท์€ ๋น ๋ฅธ ๋ฐ์ดํ„ฐ ์“ฐ๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•ด, ๊ณ„์† ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผํ•˜๋Š” ์ƒํ™ฉ์ด๋ผ๋ฉด ํ–‰ ์šฐ์„  ํฌ๋งท์„ ์“ฐ๋Š” ๊ฒŒ ์ข‹์Œ.
  • ์—ด ์šฐ์„  ํฌ๋งท์€ ์œ ์—ฐํ•œ ์—ด ๊ธฐ๋ฐ˜ ์ฝ๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•ด ์ˆ˜๋งŽ์€ ์ปฌ๋Ÿผ ์ค‘ ์ผ๋ถ€ ์ปฌ๋Ÿผ๋งŒ ์กฐํšŒํ•˜๋Š”, ์ฆ‰ ์—ด ๊ธฐ๋ฐ˜ ์ฝ๊ธฐ๋ฅผ ๋งŽ์ด ์ˆ˜ํ–‰ํ•  ๋•Œ๋Š” ์—ด ์šฐ์„  ํฌ๋งท์„ ์“ฐ๋Š” ๊ฒŒ ์ข‹์Œ.

Note Pandas๋Š” ์—ด ํฌ๋งท ์ค‘์‹ฌ์œผ๋กœ ๊ตฌ์ถ•๋˜์—ˆ๊ณ , Numpy๋Š” ํ–‰ ์šฐ์„ ์ธ์ง€ ์—ด ์šฐ์„ ์ธ์ง€ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์œผ๋‚˜ ndarray๋Š” ์ƒ์„ฑ๋  ๋•Œ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ–‰ ์šฐ์„ ์ด ๋œ๋‹ค.

3.2.3. ํ…์ŠคํŠธ ํฌ๋งท vs. ์ด์ง„ ํฌ๋งท

  • ํ…์ŠคํŠธ ํŒŒ์ผ์€ ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋กœ ๋œ ํŒŒ์ผ๋กœ, ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ์Œ. (ex. CSV, JSON)
  • ์ด์ง„ ํŒŒ์ผ์€ ํ…์ŠคํŠธ๊ฐ€ ์•„๋‹Œ ๋ชจ๋“  ํŒŒ์ผ์„ ์ง€์นญํ•˜๋ฉฐ, ์›์‹œ ๋ฐ”์ดํŠธ๋ฅผ ํ•ด์„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ฝ๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ํŒŒ์ผ์„ ๋งํ•จ. (ex. Parquet)
    • ์ด์ง€ ํŒŒ์ผ์€ ๊ฐ„๊ฒฐํ•˜์—ฌ ํ…์ŠคํŠธ ํŒŒ์ผ๋ณด๋‹ค ๊ณต๊ฐ„์„ ์ ˆ์•ฝ ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด, "1000000"์„ ํ…์ŠคํŠธ ํŒŒ์ผ๋กœ ์ €์žฅํ•˜๋ฉด 7๋ฐ”์ดํŠธ๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ, int32๋กœ ์ด์ง„ ํŒŒ์ผ์— ์ €์žฅํ•˜๋ฉด 4๋ฐ”์ดํŠธ๋งŒ ํ•„์š”ํ•˜๋‹ค.

โฌ†๏ธ ์œ„๋กœ ์ด๋™

3.3. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ

3.3.1. ๊ด€๊ณ„ํ˜• ๋ชจ๋ธ

  • ๊ด€๊ณ„ํ˜• ๋ชจ๋ธ์—์„œ ๋ฐ์ดํ„ฐ๋Š” ๊ด€๊ณ„๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ ๊ฐ ๊ด€๊ณ„๋Š” ํŠœํ”Œ์˜ ์ง‘ํ•ฉ์ด๋‹ค.
    • ํ…Œ์ด๋ธ”์€ ๊ด€๊ณ„๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์œผ๋กœ ํ…Œ์ด๋ธ”์˜ ๊ฐ ํ–‰์ด ํŠœํ”Œ์„ ๊ตฌ์„ฑํ•œ๋‹ค.
    • ๊ด€๊ณ„์—์„œ ํ–‰์˜ ์ˆœ์„œ๋‚˜ ์—ด์˜ ์ˆœ์„œ๋ฅผ ์„ž๋”๋ผ๋„ ์—ฌ์ „ํžˆ ๋™์ผ ๊ด€๊ณ„์ด๋ฏ€๋กœ, ์ˆœ์„œ๊ฐ€ ์—†๋‹ค.
  • ๊ด€๊ณ„๋Š” ์ •๊ทœํ™”ํ•˜๋Š” ํŽธ์ด ์ข‹์€ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.
  • ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ์ฟผ๋ฆฌ ์–ธ์–ด๋Š” SQL์ด๋‹ค.
    • ์—„๋ฐ€ํžˆ ๊ด€๊ณ„๋Š” ์ค‘๋ณต์„ ํฌํ•จํ•  ์ˆ˜ ์—†์ง€๋งŒ SQL ํ…Œ์ด๋ธ”์€ ํ–‰ ์ค‘๋ณต์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋‹ค.
    • SQL์€ ์„ ์–ธ์  ์–ธ์–ด์ด๋‹ค. ์ฆ‰, ์‹ค์ œ ์ฟผ๋ฆฌ๊ฐ€ ์ˆ˜ํ–‰ํ•  ๋•Œ ์–ด๋–ป๊ฒŒ ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ• ์ง€๋Š” ์ฟผ๋ฆฌ ์˜ตํ‹ฐ๋งˆ์ด์ €๊ฐ€ ์ •ํ•œ๋‹ค.

3.3.2. NoSQL

  • ๋น„๊ด€๊ณ„ํ˜• ๋ชจ๋ธ์˜ ์ฃผ์š” ์œ ํ˜•์œผ๋กœ๋Š” ๋ฌธ์„œ ๋ชจ๋ธ๊ณผ ๊ทธ๋ž˜ํ”„ ๋ชจ๋ธ์ด ์žˆ๋‹ค.

๋ฌธ์„œ ๋ชจ๋ธ (Document Model)

๋ฌธ์„œ ๋ชจ๋ธ

  • ๋ฌธ์„œ ๋ชจ๋ธ์€ ๋ฌธ์„œ๋ผ๋Š” ๊ฐœ๋…์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋์œผ๋ฉฐ, ๊ฐ ๋ฌธ์„œ๋Š” JSON, XML, BSON๋ฅด๋กœ ์ธ์ฝ”๋”ฉ๋œ๋‹ค.
    • ๋ฌธ์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด ๋ชจ๋“  ๋ฌธ์„œ๋Š” ๋™์ผํ•œ ํฌ๋งท์œผ๋กœ ์ธ์ฝ”๋”ฉ๋๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.
    • ๊ฐ ๋ฌธ์„œ๋งˆ๋‹ค ๊ณ ์œ ํ•œ ํ‚ค๊ฐ€ ์žˆ์–ด ์ด ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์„œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.
  • ๋ฌธ์„œ ๋ชจ๋ธ์€ ์Šคํ‚ค๋งˆ๋ฅผ ์ ์šฉํ•˜์ง€ ์•Š์•„ ์ข…์ข… ์Šคํ‚ค๋งˆ๋ฆฌ์Šค(Schemaless) ๋ชจ๋ธ์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค.
    • ํ•˜์ง€๋งŒ ์ด๋Š” ์Šคํ‚ค๋งˆ๋ฅผ ๊ฐ•์ œํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๋ง์ด๊ณ , ์ด๋Ÿฐ ์ฑ…์ž„์„ ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์ „๊ฐ€ํ•œ๋‹ค..
  • ๋ฌธ์„œ ๋ชจ๋ธ์€ ๊ด€๊ณ„ํ˜• ๋ชจ๋ธ๋ณด๋‹ค ์ง€์—ญ์„ฑ(Locality)๊ฐ€ ์šฐ์ˆ˜ํ•˜๋‹ค.
    • ๋ฌธ์„œ ํ•˜๋‚˜์— ๋ชจ๋“  ์ •๋ณด๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์–ด์„œ ๊ฒ€์ƒ‰์ด ๋” ์šฉ์ดํ•ด์ง„๋‹ค.
    • ํ•˜์ง€๋งŒ ๊ด€๊ณ„ํ˜• ๋ชจ๋ธ๊ณผ ๋‹ฌ๋ฆฌ ๋ฌธ์„œ ๊ฐ„ ์กฐ์ธ์ด ์–ด๋ ต๋‹ค.

๊ทธ๋ž˜ํ”„ ๋ชจ๋ธ (Graph Model)

๊ทธ๋ž˜ํ”„ ๋ชจ๋ธ

  • ๊ทธ๋ž˜ํ”„ ๋ชจ๋ธ์€ ๊ทธ๋ž˜ํ”„ ๊ฐœ๋…์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋์œผ์œผ๋ฉฐ, ๊ทธ๋ž˜ํ”„๋Š” ๋…ธ๋“œ์™€ ์—์ง€๋กœ ๊ตฌ์„ฑ๋˜๊ณ  ์—์ง€๋Š” ๋…ธ๋“œ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
  • ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์šฐ์„ ์œผ๋กœ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ์—ฐ๊ฒฐ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

3.3.3. ์ •ํ˜• ๋ฐ์ดํ„ฐ vs. ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ

์ •ํ˜• ๋ฐ์ดํ„ฐ ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ
์Šคํ‚ค๋งˆ๊ฐ€ ๋ช…ํ™•ํžˆ ์ •์˜๋จ ์Šคํ‚ค๋งˆ๋ฅผ ๋”ฐ๋ฅด์ง€ ์•Š์•„๋„ ๋จ
๊ฒ€์ƒ‰ ๋ฐ ๋ถ„์„์ด ํŽธํ•จ ์ „์ฒ˜๋ฆฌ ๋“ฑ์„ ํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ์ €์žฅ์ด ๊ฐ€๋Šฅ
ํŠน์ • ์Šคํ‚ค๋งˆ๋ฅผ ๋”ฐ๋ฅด๋Š” ๋ฐ์ดํ„ฐ๋งŒ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ ์–ด๋–ค ์†Œ์Šค์—์„œ ์˜จ ๋ฐ์ดํ„ฐ๋“  ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ
์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ์ด ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ์•ผ๊ธฐํ•จ ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ์„ ์•„์ง ๊ฑฑ์ •ํ•˜์ง€ ์•Š์•„๋„ ๋จ
๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค์— ์ €์žฅ ๋ฐ์ดํ„ฐ ๋ ˆ์ดํฌ์— ์ €์žฅ

โฌ†๏ธ ์œ„๋กœ ์ด๋™

3.4. ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„ ๋ฐ ์ฒ˜๋ฆฌ

3.4.1. ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ์™€ ๋ถ„์„ ์ฒ˜๋ฆฌ

  • OLTP(Online Transaction Processing)์€ ์˜จ๋ผ์ธ ๋ฑ…ํ‚น, ์‡ผํ•‘ ๋“ฑ ๋™์‹œ์— ๋ฐœ์ƒํ•˜๋Š” ๋‹ค์ˆ˜์˜ ํŠธ๋žœ์žญ์…˜์„ ์ฒ˜๋ฆฌํ•œ๋‹ค.
    • ํŠธ๋žœ์žญ์…˜์—๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๊ด€๋ จ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์œผ๋ฏ€๋กœ ๋ ˆ์ดํ„ด์‹œ๋Š” ๋‚ฎ๊ณ  ๊ฐ€์šฉ์„ฑ์€ ๋†’์•„์•ผํ•œ๋‹ค.
    • ์ผ๋ฐ˜์ ์œผ๋กœ ํŠธ๋žœ์ ์…˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ACID(Atomicity, Consistency, Isolation, Durability)๋ฅผ ์ค€์ˆ˜ํ•˜๋ ค ํ•œ๋‹ค.
  • OLAP(Online Analytical Processing)์€ ๋Œ€์šฉ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ์†์œผ๋กœ ๋‹ค์ฐจ์› ๋ถ„์„์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

3.4.2. ETL: Extract, Tranform, Load

ETL vs ELT

โฌ†๏ธ ์œ„๋กœ ์ด๋™

3.5. ๋ฐ์ดํ„ฐํ”Œ๋กœ ๋ชจ๋“œ

์‹ค์ œ ํ”„๋กœ๋•์…˜์—์„œ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰ ์ค‘์ด๊ณ , ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•˜์ง€ ์•Š์€ ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

3.5.1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ

  • ํ•œ ํ”„๋กœ์„ธ์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๊ณ  ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์—†๊ฑฐ๋‚˜ ๋ ˆ์ดํ„ด์‹œ ์ด์Šˆ๋กœ ์ธํ•ด ์ž˜ ์“ฐ์ด์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

3.5.2. ์„œ๋น„์Šค๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ

  • ๋„คํŠธ์›Œํฌ๋กค ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ, REST(Representational State Transfer)์™€ RPC(Remote Procedure Call) ์š”์ฒญ ๋ฐฉ์‹์ด ์žˆ๋‹ค.
  • REST๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ญ ์š”์ฒญ์„ ์œ„ํ•ด ์„ค๊ณ„๋œ ๋ฐ˜๋ฉด, RPC๋Š” ์›๊ฒฉ ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์š”์ฒญ์ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ใ…Ž๋งˆ์ˆ˜๋‚˜ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•˜๊ฒŒ ๋ณด์ด๋„๋ก ํ•œ๋‹ค.

3.5.3. ์‹ค์‹œ๊ฐ„ ์ „์†ก์„ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ

PubSub๊ณผ ๋ฉ”์‹œ์ง€ ํ

โฌ†๏ธ ์œ„๋กœ ์ด๋™

3.6. ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ vs. ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ

๋ฐฐ์น˜ ์ฒ˜๋ฆฌ vs ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ

  • ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ(Batch Processing)์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฐ์น˜ ์ž‘์—…์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ๋งํ•˜๋ฉฐ, MapReduce, Apache Spark ๊ฐ™์€ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์ด ๊ณ ์•ˆ๋˜์—ˆ๋‹ค.
  • ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ(Stream Processing)์€ ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๊ณ„์‚ฐ์„ ์˜๋ฏธํ•˜๋ฉฐ, ๊ด€๋ จ ์—”์ง„์œผ๋กœ๋Š” Apache Flink, KSQL, Spark Streaming์ด ์žˆ๋‹ค.

โฌ†๏ธ ์œ„๋กœ ์ด๋™


๐Ÿ’ฌ ์ด์•ผ๊ธฐ ์ฃผ์ œ

๐Ÿ˜€: ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ• ๋•Œ, DB vs. file ์ค‘ ์–ด๋–ค ํ˜•์‹์„ ์„ ํ˜ธํ•˜์‹œ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ˜€: ๋ฐ์ดํ„ฐ ์ฝ๊ณ  ์“ฐ๊ธฐ๋ฅผ ํ• ๋•Œ, ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ ธ๊ณ  (ํ•ด๊ฒฐํ–ˆ์œผ๋ฉด) ๊ฒฝํ—˜ ๊ณต์œ 

๐Ÿค: ํ˜„์—…์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ ์ €ํžˆ ์ •๊ทœํ™”ํ•˜์—ฌ ์ €์žฅํ•˜๋‚˜์š”? ์ฑ…์— ์“ฐ์—ฌ์ง„๋Œ€๋กœ, ๋ถ„์‚ฐ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ธํ•˜๋Š” ๋ฐ์— ๋น„์šฉ์ด ๋งŽ์ด ๋“ค ๊ฒƒ ๊ฐ™์€๋ฐ, ์–ด๋–ค ์กฐ๊ฑด์œผ๋กœ ๋ถ„๋ฆฌํ•˜๋Š”๊ฒŒ ์ข‹์„์ง€ ์–˜๊ธฐํ•ด๋ณด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. (์ฟผ๋ฆฌ ์˜ตํ‹ฐ๋งˆ์ด์ €๋Š” ๊ธฐ์—…์—์„œ ์ž์ฒด ์ œ์ž‘ํ•ด์•ผํ•˜๋Š”์ง€?)

๐Ÿค: ์ •ํ˜•๋ฐ์ดํ„ฐ๋ณด๋‹ค ๋น„์ •ํ˜•๋ฐ์ดํ„ฐ์—์„œ ์œ ์šฉํ•œ ์ •๋ณด๋ฅผ ์ทจ๋“ํ•˜๊ธฐ ๋” ์–ด๋ ค์›Œ๋ณด์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋Š” ๊ทœ์น™์ด ์žˆ์–ด์•ผ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฝ‘์•„์“ธ ์ˆ˜ ์žˆ์ง€ ์•Š๋‚˜์š”? ๊ทœ์น™์ด ์žˆ๋‹ค๋Š”๊ฑด ๊ฒฐ๊ตญ ์ •ํ˜•๋ฐ์ดํ„ฐ์™€ ๊ฐ™์€๊ฑฐ ์•„๋‹Œ๊ฐ€์š”?

โฌ†๏ธ ์œ„๋กœ ์ด๋™