๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ 132

[BigData] Spark ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ, RDD

RDD(Resilient Distributed Dataset) ? ์ธ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์„ ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ์ตœ์ดˆ์— Disk์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜จ ๋’ค, ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ ๋ฒˆ์˜ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์—ฐ์‚ฐ(operation)์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์—ฐ์‚ฐ ํ•จ์ˆ˜ ์ œ๊ณต RDD ํŠน์„ฑ In-memory Computation RDD์—์„œ ์ œ๊ณตํ•˜๋Š” operation์€ ์—ฐ์‚ฐ์˜ ์ค‘๊ฐ„ ๊ฒฐ๊ณผ๋ฅผ ๋””์Šคํฌ์— ์ €์žฅํ•˜์ง€ ์•Š๊ณ , ๋ฉ”๋ชจ๋ฆฌ์ƒ์— ์ƒ์ฃผ์‹œํ‚ด Transformations : RDD์—์„œ ๋‹ค๋ฅธ RDD๋ฅผ ๋งŒ๋“œ๋Š” ๋ณ€ํ˜• ์—ฐ์‚ฐ Actions : RDD์˜ ์ตœ์ข… ์—ฐ์‚ฐ์œผ๋กœ RDD์—์„œ RDD๊ฐ€ ์•„๋‹Œ data๋กœ ์ €์žฅ Immutable RDD๋Š” ํ•œ ๋ฒˆ ๋งŒ๋“ค์–ด์ง€๋ฉด ๋‚ด์šฉ ๋ณ€ํ˜•์ด ํ—ˆ์šฉ๋˜์ง€ ์•Š์Œ Lineage RDD์˜ transformation์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๋ชจ๋“  RDD..

[BigData] Spark(์ŠคํŒŒํฌ)

Spark ? UC Berkely AMPLab์—์„œ ๊ฐœ๋ฐœํ•œ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ Disk ๊ธฐ๋ฐ˜์˜ Hadoop ์ฒ˜๋ฆฌ ๋ฐฉ์‹์„ ๊ฐœ์„ ํ•˜์—ฌ ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ๋†’์ž„ ์ธ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜์˜ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€์šฉ๋Ÿ‰ ๊ณ ์† ์ฒ˜๋ฆฌ ์—”์ง„ RDD ๋ฐฉ์‹์˜ ์ธ๋ฉ”๋ชจ๋ฆฌํ˜• ์ž๋ฃŒ ๊ตฌ์กฐ ์ œ๊ณต ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ ๋ฐ ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ ๋ชจ๋‘ ์ง€์› SQL ๋ฐฉ์‹์˜ ์ •ํ˜• ๋ฐ์ดํ„ฐ๋ฟ ์•„๋‹ˆ๋ผ ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ชจ๋‘ ์ง€์› Spark ์„ค๊ณ„ ์ฒ ํ•™ ๊ณ ์†์ฒ˜๋ฆฌ Hadoop์—์„œ์˜ ๋””์Šคํฌ I/O๋กœ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์„ฑ๋Šฅ ์ง€์—ฐ์˜ ๋ฌธ์ œ์ ์„ ๊ฐœ์„ ํ•ด ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ๋Œ€ํญ ๋†’์ž„ ํ†ตํ•ฉ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์—”์ง„ SQL ๋ฐ์ดํ„ฐ, ์ŠคํŠธ๋ฆผ, ๋จธ์‹ ๋Ÿฌ๋‹, ๊ทธ๋ž˜ํ”„ ๋“ฑ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ํ†ตํ•ฉ๋œ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„ ๊ธฐ์กด ๋ณต์žกํ•œ ํ”„๋ ˆ์ž„์›Œํฌ ์—ฐ๋™ ๋ฌธ์ œ ๊ฐœ์„  ๊ฒฐํ•จ ํ—ˆ์šฉ์„ฑ ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜์˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜..

[BigData] MapReduce(๋งต๋ฆฌ๋“€์Šค) ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ

MapReduce ? Hadoop ์‹œ์Šคํ…œ์—์„œ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ Map, Reduce์˜ 2๊ฐœ์˜ phase๋กœ ๊ตฌ์„ฑ key, value ํ˜•ํƒœ์˜ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜ Map ๋‹จ๊ณ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ key, value ์Œ์œผ๋กœ ๋ณ€ํ™˜ Reduce ๋‹จ๊ณ„์—์„œ key, value๋กœ ๋ณ€ํ™˜๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ง‘๊ณ„ํ•˜๊ณ  ์ตœ์ข… ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒฐ์ • MapReduce ๋™์ž‘ ์ˆœ์„œ Input : ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ ์ค€๋น„ํ•˜๋Š” ๋‹จ๊ณ„ Split : ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ HDFS๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋‹จ๊ณ„ Map : ๋ฐ์ดํ„ฐ๋ฅผ key, value ๊ธฐ๋ฐ˜์œผ๋กœ ์—ฐ์‚ฐํ•˜๋Š” ๋‹จ๊ณ„ Shuffle : key๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž„์˜๋กœ ํฉ์–ด์กŒ๋˜ ๋ฐ์ดํ„ฐ๋ฅผ hashingํ•˜๋Š” ๋‹จ๊ณ„ Reduce : Map์—์„œ ์—ฐ์‚ฐ๋œ ๊ฒฐ๊ณผ๋ฅผ key๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์—ฐ์‚ฐํ•˜๋Š” ๋‹จ๊ณ„ Merge : ..

[BigData] Hadoop ํ•˜๋‘ก

Hadoop ? ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” JAVA ๊ธฐ๋ฐ˜์˜ ์˜คํ”ˆ์†Œ์Šค ํ”„๋ ˆ์ž„์›Œํฌ ๋ถ„์‚ฐํŒŒ์ผ(HDFS)์™€ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ(MapReduce)์„ ์ œ๊ณต ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ HDFS ํ˜•ํƒœ๋กœ ์ž˜๊ฒŒ ์ชผ๊ฐœ์–ด ์ €์žฅ์‹œ์ผœ ๋†“์€ ๋’ค, MapReduce๋ฅผ ์ด์šฉํ•ด ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ Hadoop์„ ์ด์šฉํ•˜๋ฉด ๋‹ค์ˆ˜์˜ ์ปดํ“จํŒ… ๋…ธ๋“œ๋ฅผ ๋งˆ์น˜ ํ•˜๋‚˜์˜ ์ปดํ“จํ„ฐ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ถ„์‚ฐ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ์— ์ตœ์ ํ™”๋˜์–ด ์„ค๊ณ„๋จ Hadoop ์˜ ์„ค๊ณ„ ์ฒ ํ•™ Fault tolerance (๊ฒฐํ•จ ํ—ˆ์šฉ์„ฑ) ์‹œ์Šคํ…œ ์ˆ˜ํ–‰ ์ค‘ ๊ฒฐํ•จ์ด ๋ฐœ์ƒํ•˜๋”๋ผ๋„, ๊ฒฐํ•จ์„ ๊ทน๋ณตํ•˜๊ณ  ๊ณ„์†์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๊ณณ์— ๋ณต์ œํ•ด๋†“์•„ ํŠน์ • ๋…ธ๋“œ์— ์†์ƒ์ด ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ์ž‘์—…์„ ๊ณ„์†์ ์œผ๋กœ ์ด์–ด๋‚˜๊ฐˆ ์ˆ˜ ์žˆ์Œ Scalability (ํ™•์žฅ์„ฑ) ๋…ธ๋“œ๋ฅผ ํ™•์žฅ..

[BigData] HDFS (Hadoop File System)

HDFS (Hadoop File System) GFS๋ฅผ ๋ชจ๋ธ๋กœ ์„ค๊ณ„ ๋ฌผ๋ฆฌ์  ์‹œ์Šคํ…œ์˜ ์‹คํŒจ๋ฅผ ์†Œํ”„ํŠธ์›จ์–ด ๋ ˆ๋ฒจ์—์„œ ํ•ด๊ฒฐํ•˜์—ฌ, ์‹œ์Šคํ…œ์˜ ๊ฐ€์šฉ์„ฑ์„ ๋†’์ด๋Š” ๋ถ„์‚ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ HDFS์˜ ํŠน์ง• ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•ด ๋‹ค์ˆ˜์˜ ๋…ธ๋“œ์— ๊ฑธ์ณ ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ ๋ฐ์ดํ„ฐ์˜ ์žฅ์•  ํ—ˆ์šฉ์„ ์œ„ํ•ด ์ค‘๋ณต ํ—ˆ์šฉ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ 3๊ฐœ ๋ณต์ œํ•ด ๋ณต์‚ฌ๋ณธ์„ ๋‘  3๊ฐœ์˜ ๋ธ”๋ก์€ ์„œ๋กœ ๋‹ค๋ฅธ ๋…ธ๋“œ์— ๋ณต์ œ ํŽ˜ํƒ€๋ฐ”์ดํŠธ ์ด์ƒ์˜ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์Œ -> ์ˆ˜ํ‰์  ํ™•์žฅ ๊ตฌ์กฐ๋กœ ์„ค๊ณ„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ณธ 128MB์˜ ๋ธ”๋ก์œผ๋กœ ๋‚˜๋ˆ” HDFS์˜ ์•„ํ‚คํ…์ณ ๋„ค์ž„๋…ธ๋“œ (ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ) ํŒŒ์ผ ์‹œ์Šคํ…œ์— ์†ํ•˜๋Š” ํŒŒ์ผ ๊ณ„์ธต ๊ตฌ์กฐ๋‚˜, ๊ฐ ํŒŒ์ผ์˜ ๋ธ”๋ก ์œ„์น˜๋ฅผ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ์œ ์ง€ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ์ ‘์† ๊ด€๋ฆฌ ๋ธ”๋ก ๋ฐ์ดํ„ฐ๋ฅผ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋ฐ์ดํ„ฐ๋…ธ๋“œ์— ๋งตํ•‘ ๋ฐ์ด..

[BigData] ๋ถ„์‚ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ

๋ถ„์‚ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ : ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๊ณต์œ ํ•˜๋Š” ์—ฌ๋Ÿฌ ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ์˜ ํŒŒ์ผ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒํ•˜๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ ๋Œ€์šฉ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ํ•œ ๊ณณ์— ์ €์žฅ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์—ฌ๋Ÿฌ ์‹œ์Šคํ…œ์— ๋‚˜๋ˆ„์–ด์ ธ ๋ถ„์‚ฐ ์ €์žฅ๋จ ๋ฐ์ดํ„ฐ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์šฉ๋Ÿ‰ ๋‹จ์œ„๋กœ ์ผ์ •ํ•˜๊ฒŒ ๋‚˜๋ˆ„์–ด์ง ์ €์žฅํ•ด์•ผํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์–‘์ด ๋งŽ์•„์ ธ๋„ ์ €์žฅ ์žฅ์น˜๋ฅผ ์ˆ˜ํ‰์ ์œผ๋กœ ํ™•์žฅํ•˜์—ฌ ์ €์žฅ ๋Šฅ๋ ฅ์„ ํ‚ค์›Œ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ์Œ ๋ถ„์‚ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ํŠน์ง• Scalability : ์ €์žฅ ๊ณต๊ฐ„์„ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Œ Fault tolerance : ์‹œ์Šคํ…œ์˜ ๊ณ ์žฅ์„ ํ—ˆ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ Data consistency : ์‹œ๊ฐ„์ด ์ง€๋‚˜๋„ ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ์ด ์œ ์ง€๋˜์–ด์•ผํ•จ 1. GFS(Google File System) ๊ตฌ๊ธ€์— ์˜ํ•ด ์ž๊ธฐ ํšŒ์‚ฌ ์‚ฌ์šฉ ๋ชฉ์ ์œผ๋กœ ๊ฐœ๋ฐœ๋œ ๋ถ„์‚ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ ์ผ๋ฐ˜ ์‚ฌ์šฉ ํ•˜๋“œ์›จ์–ด๋ฅผ ..

[BigData] ๋ถ„์‚ฐ์‹œ์Šคํ…œ๊ณผ ๋ฆฌ๋ˆ…์Šค, ๊ฐ€์ƒํ™” ๊ธฐ์ˆ 

01. ๋ถ„์‚ฐ์‹œ์Šคํ…œ ๊ธฐ๋ณธ๊ตฌ์กฐ - ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋„คํŠธ์›Œํฌ๋กœ ์—ฐ๊ฒฐ๋œ ์—ฌ๋Ÿฌ ๋…ธ๋“œ์—์„œ ์ˆ˜ํ–‰ - ์ปดํ“จํŒ… ์ž์› ๊ด€๋ฆฌ์ž์™€ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์›Œ์ปค ๋…ธ๋“œ๋กœ ์กด์žฌ - RPC(Remote Procedure Call) ์„ ํ†ตํ•œ ๋…ธ๋“œ ๊ฐ„ ํ†ตใ…‡์‹  - Server/Client๊ฐ„ ์›๊ฒฉ ํ•จ์ˆ˜ ํ˜ธ์ถœ 02. ๋ฆฌ๋ˆ…์Šค ์šด์˜์ฒด์ œ - ๋‹ค์ค‘ ์‚ฌ์šฉ์ž, ๋‹ค์ค‘ ํ”„๋กœ์„ธ์Šค : ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ์‚ฌ์šฉ ๊ฐ€๋Šฅ - ์‰˜ ๋ช…๋ น ๊ธฐ๋ฐ˜ ๋™์ž‘ - ์šฐ์ˆ˜ํ•œ ๋„คํŠธ์›Œํ‚น : ๋ฆฌ๋ˆ…์Šค์—์„œ๋ถ€ํ„ฐ ๋„คํŠธ์›Œํ‚น ์‹œ์ž‘ / FTP, Telnet, WWW ๋“ฑ ๊ฐ€์ƒํ™” ๊ธฐ์ˆ  - ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ์„œ๋ฒ„, ์Šคํ† ๋ฆฌ์ง€ ๋ฐ ๋„คํŠธ์›Œํฌ ๋“ฑ์˜ ์ปดํ“จํŒ… ๊ธฐ์ˆ ์„ ์ถ”์ƒํ™”ํ•˜์—ฌ ์š”์ฒญํ•œ ๋งŒํผ์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์„œ๋น„์Šค ํ˜•ํƒœ๋กœ ์ œ๊ณตํ•ด์ฃผ๋Š” ๊ธฐ์ˆ  ์ž์› ๊ฐ€์ƒํ™” ์šด์˜ ์ฒด์ œ ๊ฐ€์ƒํ™” 03. ์ž์› ๊ฐ€์ƒํ™” - ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€, ์—ฐ์‚ฐ ์žฅ์น˜, ๋„คํŠธ์›Œํฌ ..

[Sourcetree] ERR: This is not a valid working copy path.

์ƒํ™ฉ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ํ›„, ์†Œ์ŠคํŠธ๋ฆฌ์— Addํ•˜์—ฌ ์—ฐ๊ฒฐํ•˜๋ ค๋˜ ์ƒํ™ฉ์— ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ This is not a valid working copy path. (์ ํ•ฉํ•œ ์ž‘์—…์ค‘์ธ ๋ณต์‚ฌ๋ณธ ๊ฒฝ๋กœ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.) ์›์ธ Git ์ €์žฅ์†Œ๊ฐ€ ์•„๋‹Œ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ Sourcetree์— ์ถ”๊ฐ€ํ•˜๋ ค๊ณ  ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋œ๋‹ค. ๋กœ์ปฌ ์ €์žฅ์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๋จผ์ € Git init ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ Git ์ €์žฅ์†Œ๋กœ ์‹œ์ž‘ํ•ด์•ผํ•œ๋‹ค. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ์ฐธ์กฐ https://community.atlassian.com/t5/Sourcetree-questions/This-is-not-a-valid-working-copy-path/qaq-p/1078186

Error-log 2023.11.27

[IC] ์ฐจ์„ธ๋Œ€ ์‹ ๊ธฐ์ˆ  ์„œ๋น„์Šค

์œ„์น˜๊ธฐ๋ฐ˜ ์„œ๋น„์Šค(LBS; Location Based Service) ์ธ๊ณต์œ„์„ฑ์„ ์ด์šฉํ•ด ์‚ฌ์šฉ์ž์˜ ํ˜„์žฌ ์œ„์น˜๋ฅผ ํŒŒ์•…ํ•˜๋Š” GPS ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํ™œ์šฉํ•ด ์ฃผ๋ณ€ ์œ„์น˜์™€ ์ƒ์„ธํ•œ ๋ถ€๊ฐ€ ์ •๋ณด๋ฅผ ์•Œ์•„๋‚ด๋Š” GIS(Geographical Information System; ์ง€๋ฆฌ์ •๋ณด์‹œ์Šคํ…œ) ์‚ฌ์šฉ์ž์˜ ์œ„์น˜๋ฅผ ํŒŒ์•…ํ•˜๊ณ  ๋ถ€๊ฐ€์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค ์œ„์น˜๊ธฐ๋ฐ˜ ์„œ๋น„์Šค ํ”Œ๋žซํผ ๋‹จ๋ง๊ธฐ: ํœด๋Œ€ํฐ์ด๋‚˜ PDA๋“ฑ์„ ์˜๋ฏธ, ์‚ฌ์šฉ์ž์˜ ์œ„์น˜ ์ •๋ณด๋ฅผ ์ด๋™ํ†ต์‹ ๋ง์— ์ „๋‹ฌํ•˜๋Š” ์—ญํ•  ์œ„์น˜์ธก์ • ๊ฒŒ์ดํŠธ์›จ์ด : ์‚ฌ์šฉ์ž์˜ ์œ„์น˜์ •๋ณด๋ฅผ ์„œ๋น„์Šค ์ œ๊ณต์—…์ž์—๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค ์—ญํ• ์„ ํ•˜๋Š” ์‹œ์Šคํ…œ ์‘์šฉ ์„œ๋ฒ„: ์œ„์น˜๊ธฐ๋ฐ˜ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋„๋ก DB๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์ •๋ณด ์ €์žฅ, ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ ์ˆ˜ํ–‰ ํ…”๋ ˆ๋งคํ‹ฑ์Šค ์„œ๋น„์Šค ํ†ต์‹ (Telecommunication)๊ณผ ์ •๋ณด๊ณตํ•™(Info..

[DB] ํ•จ์ˆ˜์™€ ํ”„๋กœ์‹œ์ €

์ปค์„œ (Cursor) ๋ ˆ์ฝ”๋“œ ๊ฐ๊ฐ์— ๋Œ€ํ•œ ๊ฐœ๋ณ„์ ์ธ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ ๊ฒฐ๊ณผ ์ง‘ํ•ฉ์˜ ํ™•์žฅ *๋ช…์‹œ์  ์ปค์„œ(Explicit Cursor) ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์ฟผ๋ฆฌ์˜ ๊ฒฐ๊ณผ์— ์ ‘๊ทผํ•ด์„œ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ช…์‹œ์ ์œผ๋กœ ์„ ์–ธ ์ผ๋ฐ˜์ ์œผ๋กœ ์ปค์„œ๋ผ๊ณ ํ•˜๋ฉด ๋ช…์‹œ์  ์ปค์„œ๋ฅผ ๋งํ•จ ์ฒ˜๋ฆฌ์ˆœ์„œ DECLARE(์ปค์„œ ์„ ์–ธ) : ์ปค์„œ์— ์ด๋ฆ„์„ ์ฃผ๊ณ , ์ปค์„œ๊ฐ€ ์ ‘๊ทผํ•˜๋ ค๋Š” ์ฟผ๋ฆฌ ์ •์˜ OPEN(์ปค์„œ ์—ด๊ธฐ) : ์ปค์„œ๋กœ ์ •์˜๋œ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ FETCH(ํŒจ์น˜) : ์ฟผ๋ฆฌ์˜ ๊ฒฐ๊ณผ์— ์ ‘๊ทผ CLOSE(์ปค์„œ๋‹ซ๊ธฐ) : ์ปค์„œ๋ฅผ ๋‹ซ๊ณ  ์ž์›์„ ๋ฐ˜ํ™˜ * ๋ฌต์‹œ์  ์ปค์„œ(Implicit Cursor) ์˜ค๋ผํด ๋‚ด๋ถ€์—์„œ ๊ฐ๊ฐ์˜ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ์— ์ ‘๊ทผํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋‚ด๋ถ€์ ์ธ ์ปค์„œ SQL ์ปค์„œ : ํ•ญ์ƒ ์ตœ๊ทผ์— ์‹คํ–‰๋œ SQL ๋ฌธ์žฅ์— ๋Œ€ํ•œ ์ปค์„œ 'SQL'์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์†์„ฑ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Œ DML(..