πŸ’» IT/빅데이터

Rμ΄λž€?  : 톡계 뢄석, κ·Έλž˜ν”½ ν‘œν˜„, 보고 μž‘μ„±μ„ μœ„ν•œ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄ 및 μ†Œν”„νŠΈμ›¨μ–΄ ν™˜κ²½

  • 톡계 뢄석 - μ„ ν˜• 및 λΉ„μ„ ν˜• λͺ¨λΈλ§, 톡계 κ²€μ •, μ‹œκ³„μ—΄ 뢄석, λΆ„λ₯˜, κ΅°μ§‘ν™” λ“±μ˜ κΈ°λŠ₯
  • κ·Έλž˜ν”½ ν‘œν˜„ 및 보고 μž‘μ„± - λ§‰λŒ€ν˜• κ·Έλž˜ν”„, μ›ν˜• κ·Έλž˜ν”„, 3차원 κ·Έλž˜ν”„ λ“± 좜λ ₯
  • GNU GPL Version 2 λΌμ΄μ„ μŠ€μ— μ˜ν•˜μ—¬ 관리
  • Windows, Linux, Mac λ“± λ‹€μ–‘ν•œ 운영체제 ν™˜κ²½ 지원

νŠΉμ§•

  • 효과적인 데이터 핸듀링 및 μ €μž₯μ†Œ κΈ°λŠ₯
  • μ„ ν˜•λŒ€μˆ˜ 연산에 μ ν•©ν•œ μ—°μ‚°μž 제곡
  • 일관성 있으며 ν†΅ν•©λœ 데이터 뢄석 도ꡬ
  • 데이터 λΆ„μ„μ˜ κ·Έλž˜ν”½ 및 좜λ ₯ κΈ°λŠ₯
  • κ²¬κ³ ν•˜λ©΄μ„œλ„ κ°„κ²°ν•˜κ³  효과적인 ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄ (쑰건문, 루프, μ‚¬μš©μž μ •μ˜ μž¬κ·€ ν•¨μˆ˜, μž…μΆœλ ₯ κΈ°λŠ₯ λ“±)

μ„€μΉ˜ (Rλ¨Όμ € κΉ”κ³  RStudioκΉ”μ•„μ•Όμ§€ μ‹€ν–‰ λ©λ‹ˆλ‹€)

 

R

https://cran.r-project.org/

 

The Comprehensive R Archive Network

 

cran.r-project.org

 

RStudio

https://posit.co/download/rstudio-desktop/

 

Posit

The best data science is open source. Posit is committed to creating incredible open-source tools for individuals, teams, and enterprises.

posit.co

 

 

RStudio μ‹€ν–‰ μ‹œ ν™”λ©΄

 

 

 

κΈ°λ³Έ 문법

 

λŒ€μž…(ν• λ‹Ή) μ—°μ‚°μžμ˜ μ‚¬μš©

  • <- μ—°μ‚°μž λ˜λŠ” -> μ—°μ‚°μžλ₯Ό μ΄μš©ν•˜μ—¬ λ³€μˆ˜μ— 값을 λŒ€μž…
a<-3
# λ³€μˆ˜ a에 3을 λŒ€μž…

a+3->b
# λ³€μˆ˜ b에 a+3의 κ²°κ³Όλ₯Ό λŒ€μž…

1<-list("pizza",3,119.2)
# λ³€μˆ˜l에 리슀트λ₯Ό μƒμ„±ν•˜μ—¬ λŒ€μž…

 

주석

  • 주석(comments): μ‹€μ œλ‘œ μ‹€ν–‰λ˜μ§€ μ•ŠλŠ” μ½”λ“œμ˜ λ©”λͺ¨
  • # 기호λ₯Ό μ΄μš©ν•˜μ—¬ 주석 μ •μ˜ κ°€λŠ₯
# μ €λŠ” μ‹€ν–‰λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€

 

 

 

λ³€μˆ˜(Variables)

  • λͺ¨λ“  λ³€μˆ˜λŠ” 문자, 숫자, 점(.), 밑쀄 문자(_)만 μ‚¬μš© κ°€λŠ₯
  • 첫번째 λ¬ΈμžλŠ” μˆ«μžμ™€ 밑쀄 문자(_)둜 μ‹œμž‘ν•  수 μ—†λ‹€.
  • 첫번째 λ¬Έμžκ°€ 점(.)인 경우 -> λ‘λ²ˆμ§Έ λ¬ΈμžλŠ” 숫자 μ™Έ μ‚¬μš©κ°€λŠ₯ν•˜λ‹€.
test2.	#μ‚¬μš© κ°€λŠ₯
test%	#μ‚¬μš© λΆˆκ°€λŠ₯
2test	#μ‚¬μš© λΆˆκ°€λŠ₯
.test	#μ‚¬μš© κ°€λŠ₯
.2test	#μ‚¬μš© λΆˆκ°€λŠ₯
_test	#μ‚¬μš© λΆˆκ°€λŠ₯

 

λ³€μˆ˜ κ΄€λ ¨ ν•¨μˆ˜

  • class() : λ³€μˆ˜μ˜ λ°μ΄ν„°ν˜•μ„ μ•Œμ•„λ‚΄κΈ° μœ„ν•œ ν•¨μˆ˜
class(a)
[1] "character"
# λ³€μˆ˜ a의 λ°μ΄ν„°ν˜•μ„ μ•Œμ•„λ‚΄κΈ° μœ„ν•¨

 

  • ls() :  ν˜„μž¬ μ‚¬μš©ν•˜κ³  μžˆλŠ” λ³€μˆ˜μ˜ λͺ©λ‘ 좜λ ₯
ls()
[1] "a" "b" "c"
# ν˜„μž¬ μ‚¬μš©ν•˜κ³  μžˆλŠ” λ³€μˆ˜μ˜ λͺ©λ‘

ls(pattern="c")
[1] "c"
# νŠΉμ • λ³€μˆ˜ μ‚¬μš© μ—¬λΆ€λ₯Ό 좜λ ₯

 

  • rm() : λ³€μˆ˜λ₯Ό μ§€μš°λŠ” ν•¨μˆ˜
rm("a")
ls()
[1] "b" "c"
# a λ³€μˆ˜λ₯Ό μ‚­μ œ
# μ‚¬μš©ν•˜κ³  μžˆμ§€ μ•Šμ€ λ³€μˆ˜ μž…λ ₯μ‹œ Warning message 좜λ ₯

 

 

 

 

 

 

 

cap 이둠

 

⋆ μΌκ΄€μ„±(Consistency) : λͺ¨λ“  λ…Έλ“œλŠ” 동일 μ‹œμ μ— 동일 데이터 좜λ ₯이 보μž₯

⋆ κ°€μš©μ„±(Availability) : λ…Έκ·Έκ°€ 이용 λΆˆκ°€λŠ₯해도 λ‹€λ₯Έ λ…Έλ“œ 정상 μž‘λ™ 보μž₯

⋆ μ§€μ†μ„±(Parttition Tolerance) : 데이터 손싀이 λ°œμƒν•΄λ„ μ‹œμŠ€ν…œ 정상 μž‘λ™ 보μž₯ (RDBMSλŠ” 지속성에 ν•œκ³„κ°€ μžˆλ‹€.)

βœ” λ…Έλ“œλž€? : 빅데이터 처리 및 뢄석을 μœ„ν•œ μ»΄ν“¨νŒ… μžμ›μ„ μ œκ³΅ν•˜λŠ” μ»΄ν“¨νŒ… μž₯λΉ„μž…λ‹ˆλ‹€.

 

 

RDBMS의 λŒ€μ•ˆ

 

⋆ ν•˜λ‘‘(Hadoop) : ν•˜λ‘‘ λΆ„μ‚°νŒŒμΌ μ‹œμŠ€ν…œ(HDFS) , λŒ€μš©λŸ‰ 데이터 μ²˜λ¦¬μ— μš©μ΄ν•˜λ‹€ 

⋆ NoSQL : λΉ„κ΄€κ³„ν˜• 데이터 μ €μž₯μ†Œ , λ°μ΄ν„°μ˜ 손싀에 λŒ€μ²˜ κ°€λŠ₯ν•˜λ‹€

⋆ λ ˆλ””μŠ€(Redis) : NoSQL의 일쒅이며 key-value ꡬ쑰 μ €μž₯μ†Œ, 인메λͺ¨λ¦¬ μ €μž₯μ†Œ ꡬ쑰

⋆ μš°μ§€(Oozie) : μžλ°” μ„œλΈ”λ¦Ώ μ»¨ν…Œμ΄λ„ˆ 기반 μž‘μ—… μ—”μ§„, DAG ν‘œν˜„ 기반 μž‘μ—…(job)μ œμ–΄

 

 

ν•˜λ‘‘ λΆ„μ‚° 파일 μ‹œμŠ€ν…œ(HDFS)

 

κ΅¬μ„±μš”μ†Œ

⋆ λ„€μž„λ…Έλ“œ μ„œλ²„ : 파일의 μœ„μΉ˜(iNode), 메타정보 관리, ν΄λΌμ΄μ–ΈνŠΈ μš”μ²­

⋆ λ³΄μ‘° λ„€μž„λ…Έλ“œ μ„œλ²„ : λ„€μž„λ…Έλ“œ μ„œλ²„μ˜ λ°±μ—… μ—­ν• , 파일 μ‹œμŠ€ν…œ 볡ꡬ

⋆ λ°μ΄ν„° λ…Έλ“œ μ„œλ²„ : κ³ μ •λœ 크기의 블둝 λ‹¨μœ„λ‘œ 데이터λ₯Ό λ‚˜λˆ„μ–΄ μ €μž₯

데이터 μš”μ²­ 방법

 

 

 

NoSQL(Not-Only-SQL)

 

데이터 λͺ¨λΈλ³„ λΆ„λ₯˜

⋆ ν‚€λ°Έλ₯˜(Keyvalue) : νŠΉμ • 값을 κ³ μœ ν‚€μ™€ λŒ€μ‘ν•˜μ—¬ μŠ€ν‚€λ§ˆ 없이 데이터λ₯Ό μ €μž₯ν•˜λŠ” μœ ν˜•

⋆ 순차적 ν‚€λ°Έλ₯˜(Ordered KeyValue) : ν‚€λ°Έλ₯˜ μŒμ„ 순차적으둜 μ €μž₯, 연속성을 λΆ€μ—¬ν•¨μœΌλ‘œμ¨ μ˜μ—­ μŠ€μΊ” νš¨μœ¨μ„ λ†’μ—¬μ€Œ

⋆ λΉ…ν…Œμ΄λΈ”(BigTable) : ν…Œμ΄λΈ” ν˜•μ‹(Tabular), 2~3λ‹¨κ³„κΉŒμ§€ μž¬κ·€μ  ꡬ쑰 (ν…Œμ΄λΈ”μ˜ λ‚΄λΆ€μ˜ 데이터가 자기 μžμ‹ μ˜ μ–΄λ– ν•œ 뢀뢄을 κ°€λ¦¬ν‚€λŠ” 것)ν˜•μ„± κ°€λŠ₯

⋆ λ„νλ¨ΌνŠΈ(Document): 객체 λ°μ΄ν„°λ² μ΄μŠ€(ODBMS)의 νŒŒμƒν˜•, 데이터 ꡬ쑰 κΉŠμ΄μ— μ œν•œ μ—†μŒ

⋆ κ·Έλž˜ν”„(Graph): 가변적인 데이터 λ…Έλ“œ κ°„ μ—°κ²° ꡬ쑰, μ œμ•½μ—†λŠ” 관계 ν˜•μ„± κ°€λŠ₯

 

μ‹œμŠ€ν…œ ꡬ성

⛀ λ§ˆμŠ€ν„°-슬레이브(Master-Slave)

  • λ§ˆμŠ€ν„° λ…Έλ“œκ°€ 슬레이브/λ°μ΄ν„°μ˜ 메타 정보 관리
  • μ„œλ²„μΆ”κ°€/μ‚­μ œ μž‘μ—…μ— 용이
  • λ§ˆμŠ€ν„°μ— λΆ€ν•˜ 증가

⛀ λΌμš΄λ“œ ν…Œμ΄λΈ”(Round Table)

  • ν•΄μ‹œν…Œμ΄λΈ”(HashTable)기반 ꡬ쑰
  • λ§ˆμŠ€ν„° λ…Έλ“œ μ—†μŒ -> νŠΈλž˜ν”½ λΆ„μ‚° 용이
  • 멀버 λ…Έλ“œ μΆ”κ°€/μ‚­μ œ μ‹œ 데이터 이동 -> νŠΈλž˜ν”½ 증가

 

ν•˜λ‘‘ λͺ…λ Ήμ–΄

ls : 파일(폴더) 쑰회 -> 파일(폴더λ₯Ό) μ‘°νšŒν•˜λŠ” λͺ…λ Ήμ–΄

hadoop fs -ls /
# hadoop fs -λŠ” hadoop으둜 κ²€μƒ‰ν•˜κ² λ‹€
# ls / λŠ” '/'λΌλŠ” 곳에 μžˆλŠ” νŒŒμΌμ„ μ‘°νšŒν•˜κ² λ‹€

 

put : 파일 올리기 -> 둜컬 νŒŒμΌμ„ HDFS에 μ €μž₯ν•˜λŠ” λͺ…λ Ήμ–΄

hadoop fs -put hello.txt h_hello.txt
# hello.txt : λ‚΄ 컴퓨터에 μžˆλŠ” 파일λͺ…
# h_hello.txt : ν•˜λ‘‘μ— μ €μž₯ν•  파일λͺ…

 

get : 파일 κ°€μ Έμ˜€κΈ° -> HDFS의 νŒŒμΌμ„ 둜컬둜 κ°€μ Έμ˜€λŠ” λͺ…λ Ήμ–΄

hadoop fs -get h_bye.txt bye.txt
# h_bye.txt : ν•˜λ‘‘μ— μ €μž₯ν•  파일λͺ…
# bye.txt : λ‚΄ 컴퓨터에 μžˆλŠ” 파일λͺ…

 

cp : 파일 λ³΅μ‚¬ν•˜κΈ° -> HDFS의 νŒŒμΌμ„ HDFSμƒμ—μ„œ 볡사

hadoop fs -cp test1.txt test2.txt

 

rm : 파일 μ‚­μ œν•˜κΈ° -> HDFS의 νŒŒμΌμ„ μ‚­μ œν•˜κΈ°

hadoop fs -rm test2.txt

 

chmod : κΆŒν•œ λ³€κ²½ -> HDFSμƒμ˜ 파일의 κΆŒν•œμ„ λ³€κ²½

hadoop fs -chmod 700 test.txt

 

chown : μ†Œμœ κΆŒ λ³€κ²½ -> HDFSμƒμ˜ 파일의 μ†Œμœ κΆŒμ„ λ³€κ²½

hadoop fs -chown recorder test.txt
# recorder : μ†Œμœ μž

 

 

 

MongoDB(λͺ½κ³ DB)

 

νŠΉμ§•

⛀ λ¬Έμ„œ μ§€ν–₯ λ°μ΄ν„°λ² μ΄μŠ€

  • λ¬Έμ„œ(document)와 λ°°μ—΄(array)의 κ°œλ… λ„μž…
  • λ³΅μž‘ν•œ 계측 관계λ₯Ό ν•˜λ‚˜μ˜ λ ˆμ½”λ“œλ‘œ ν‘œν˜„ κ°€λŠ₯
  • NoSQL λ°μ΄ν„°λ² μ΄μŠ€

⛀ 더블 λ§ν¬λ“œ 리슀크 ꡬ쑰 : λ°μ΄ν„°μ˜ 순방ν–₯-μ—­λ°©ν–₯ 탐색 κ°€λŠ₯

 

μ£Όμš” κ°œλ…

λ°μ΄ν„°λ² μ΄μŠ€(Database) : μ»¬λ ‰μ…˜μ˜ 논리적/물리적인 μ§‘ν•©

μ»¬λ ‰μ…˜(Collection) : ꡬ쑰적/κ°œλ…μ μœΌλ‘œ μœ μ‚¬ν•œ λ„νλ¨ΌνŠΈμ˜ μ§‘ν•©

μ΅μŠ€ν…νŠΈ(Extent) : 데이터 μ €μž₯을 μœ„ν•œ 논리 λ‹¨μœ„

λ„νλ¨ΌνŠΈ(Document) : μ •λ ¬λœ ν‚€(Key)-κ°’(Value)의 μ§‘ν•©

 

λͺ½κ³ DBλͺ…λ Ήμ–΄

use : λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό 생성(μ‚¬μš©)ν•˜λŠ” λͺ…λ Ή

use mydatabase
# mydatabaseλΌλŠ” λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μƒμ„±ν•œλ‹€.
# 이미 μžˆλ‹€λ©΄ μ‚¬μš©ν•œλ‹€.

 

dropDatabase() : ν˜„μž¬ μ‚¬μš©ν•˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ‚­μ œ

db.dropDatabase()
# μ‚¬μš©μ€‘μΈ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ‚­μ œν•œλ‹€.

 

createCollection() : μ»¬λ ‰μ…˜μ„ 생성(μ‚¬μš©)ν•˜λŠ” λͺ…λ Ή

db.createCollection("test")
{"ok" : 1 } --> 생성 ν›„ λ‚˜μ˜€λŠ” λ©”μ„Έμ§€
# test :μƒμ„±ν•˜κ³ μž ν•˜λŠ” μ»¬λ ‰μ…˜

 

drop() : μ»¬λ ‰μ…˜μ„ μ‚­μ œν•˜λŠ” λͺ…λ Ή

db.test.drop()
# test μ»¬λ ‰μ…˜μ„ μ‚­μ œν•œλ‹€

 

insert() : λ„νλ¨ΌνŠΈλ₯Ό μΆ”κ°€ν•˜λŠ” λͺ…λ Ή

db.test.insert(
	{"title":"hello", "author":"recorder"}
    {"title":"bye", "author":"bboong"}
    
# μ„±κ³΅μ μœΌλ‘œ μ‚½μž…μ‹œ    
BulkWriteResult({
	"writeErrors" : [ ],
    "writeConcernErrors" : [ ],
    "nInserted" : 2,
    "nUpserted" : 0,
    ...

 

remove() : λ„νλ¨ΌνŠΈλ₯Ό μ œκ±°ν•˜λŠ” λͺ…λ Ή

db.test.remove({"title": "hello"})

# μ‹€ν–‰ μ„±κ³΅μ‹œ 좜λ ₯
{"_id" ObjectId("..."),
"title" : "hello", "author" : "recorder"}

 

 

 

 

λΉ…λ°μ΄ν„°μ˜ 생성

 

데이터(Data) : κ΄€μ°° 및 츑정을 ν†΅ν•œ νšλ“ / λ‹¨μˆœν•œ μ‚¬μ‹€μ΄λ‚˜ κ²°κ³Ό / κ°€κ³΅λ˜μ§€ μ•Šμ€ μƒνƒœ

정보(Information) : 데이터λ₯Ό κ°€κ³΅ν•˜μ—¬ 얻은 κ²°κ³Ό, μ˜μ‚¬κ²°μ •μ— κΈ°μ—¬

 

μ •λŸ‰μ  데이터(Quantitative Data): μ–Έμ–΄, 문자 등이 κ³„λŸ‰ κ°€λŠ₯ ν˜•νƒœ / (그릇이 μ •ν•΄μ Έμžˆμ–΄μ•Όν•¨) ➭ μ •ν˜•, λ°˜μ •ν˜• 데이터 ν˜•νƒœ

정성적 데이터(Qualitative Data):  μ–Έμ–΄, κ°œλ… λ“± 좔상적 ν˜•νƒœ / λΉ„μ •ν˜• 데이터 ν˜•νƒœ

 

 

λΉ…λ°μ΄ν„°μ˜ μˆ˜μ§‘

 

μ •μ˜ : μ‹œμŠ€ν…œμ˜ λ‚΄μ™ΈλΆ€μ—μ„œ 주기성을 κ°€μ§€κ³  ν•„μš”ν•œ ν˜•νƒœλ‘œ 데이터λ₯Ό λͺ¨μœΌλŠ” μž‘μ—…

 

μ—­ν•  

  • μœ μš©ν•œ 데이터λ₯Ό 선택 ➭ μ‚°μΆœλ¬Ό ν’ˆμ§ˆ ν–₯상
  • 졜적의 방법둠 선택 ➭ μˆ˜μ§‘ μ•ˆμ •μ„± κ·ΉλŒ€ν™”
  • μˆ˜μ§‘ μ†Œμš” λΉ„μš© μ΅œμ†Œν™”

 

빅데이터 μˆ˜μ§‘ 절차 섀계
  1. μˆ˜μ§‘ 데이터 μ„ μ • - λ‹€μ–‘ν•œ μš”μ†Œλ₯Ό κ³ λ €ν•˜λ € μ„ μ •
  2. μ„ΈλΆ€κ³„νš 수립 - μœ„μΉ˜, μœ ν˜•μ— λ”°λ₯Έ κ³„νšμ„œ μž‘μ„±
  3. ν…ŒμŠ€νŠΈ μˆ˜μ§‘ μ§„ν–‰ - ν…ŒμŠ€νŠΈλ₯Ό 톡해 기술/ ν–‰μ • κ²€ν† 
  4. μˆ˜μ§‘ μ§„ν–‰

 

μˆ˜μ§‘ 데이터 μ„ μ •

 

κ°€λŠ₯μ„± : λΆˆκ°€λŠ₯ ν˜Ήμ€ μ£ΌκΈ° ν†΅μ œ κ°€λŠ₯ μ—¬λΆ€ 확인

μ •ν™•μ„± : λ‚΄μš© μ •ν™•μ„±/μ •λ°€μ„±, μ‚¬μ „μ²˜λ¦¬ ν•„μš” μ—¬λΆ€

λ‚œμ΄λ„ : λΉ„μš©, μˆ˜μ§‘ 과정에 λ”°λ₯Έ λŒ€μ•ˆ κ³ λ €

λΉ„μš© : 데이터 νšλ“μ— ν•„μš”ν•œ 직접 λΉ„μš© κ²€ν† 

λ³΄μ•ˆ : κ°œμΈμ •λ³΄λ³΄ν˜Έ 및 μ €μž‘κΆŒ 문제 κ²€ν† 

 

 

μ„ΈλΆ€κ³„νš 수립

 

λ°μ΄ν„°μ˜ μœ„μΉ˜μ™€ μœ ν˜• νŒŒμ•…: λ‚΄λΆ€ ν˜Ήμ€ μ™ΈλΆ€ 데이터 여뢀확인 ➭ κΈ°κ΄€ ν˜‘μ˜ κ³ λ €

νŠΉμ§•, ꡬ성, ν˜•νƒœ λ“± νŒŒμ•… ➭ 방법둠 선택에 영ν–₯

 

μˆ˜μ§‘ κ³„νšμ„œ μž‘μ„±

데이터 μ†ŒμŠ€, μˆ˜μ§‘ μ£ΌκΈ°, μˆ˜μ§‘ 방법을 ν¬ν•¨ν•˜μ—¬ μž‘μ„± (λ°˜λ“œμ‹œ 포함)

 

 

ν…ŒμŠ€νŠΈ μˆ˜μ§‘ μ§„ν–‰

기술적 κ²€ν†  : 데이터 λˆ„λ½, 원본 데이터와 비ꡐ, μ •ν™•μ„± μΈ‘μ •

행정적 κ²€ν†  : λ³΄μ•ˆμ„±, μ €μž‘κΆŒ, νŠΈλž˜ν”½ λ°œμƒλŸ‰λ“±

 

 

빅데이터 μˆ˜μ§‘ κ³„νšμ„œ

데이터 μ†ŒμŠ€ : μ†ŒμŠ€ μœ„μΉ˜, ν˜•νƒœ, μΈν„°νŽ˜μ΄μŠ€ , μ‹€λ¬΄μž ν˜‘μ•½ 상세

μˆ˜μ§‘ μ£ΌκΈ°: μ£ΌκΈ°μ‹œκ°„(κ·œμΉ™μ„±) λ˜λŠ” μ‹€μ‹œκ°„(λΆˆκ·œμΉ™μ„±), 데이터/νŠΈλž˜ν”½λŸ‰

μˆ˜μ§‘ 방법: μˆ˜μ§‘ 기술, 사전/μ‚¬ν›„μ²˜λ¦¬,λŒ€μ•ˆ

 

 

빅데이터 μˆ˜μ§‘ 도ꡬ

 

인적 μžμ› ν™œμš© :

  • μ‚¬λžŒμ„ ν†΅ν•˜μ—¬ 데이터 μˆ˜μ§‘
  • 인적 μžμ› λΉ„μš© λ°œμƒ
  • μ˜€ν•΄μ„ λ˜λŠ” μ˜€μ°¨λ“±μ˜ 문제점

μžλ™ν™” 도ꡬ μ‚¬μš©:

  • λŒ€λΆ€λΆ„μ˜ κ³Όμ •μ—μ„œ μ‚¬λžŒμ˜ κ°œμž… μ—†μŒ
  • 인적 μžμ› λΉ„μš© μ΅œμ†Œν™” κ°€λŠ₯
  • 데이터 μ›μ²œμ˜ ν˜•νƒœμ— 따라 적용이 λΆˆκ°€λŠ₯ν•  μˆ˜λ„ 있음

 

빅데이터 μžλ™ν™” μˆ˜μ§‘ 기술

 

λ„€νŠΈμ›Œν¬ μˆ˜μ§‘

  • 크둀링(Crawling): 사전 μ •μ˜ νŒ¨ν„΄μ— 따라 μ •ν•΄μ§„ λ„€νŠΈμ›Œν¬ μ§€μ μ˜ 데이터 μˆ˜μ§‘
  • OpenAPI: 데이터 배포자 제곡 μΈν„°νŽ˜μ΄μŠ€

둜그/ μ„Όμ„œ μˆ˜μ§‘

  • 둜그 (Log)μˆ˜μ§‘: κΈ°κ΄€ 단체 λ‚΄λΆ€μ˜ μˆ˜μ§‘ / μž‘λ™ λ˜λŠ” 이용 νŒ¨ν„΄μ˜ 기둝
  • μ„Όμ„œ (Sensor)μˆ˜μ§‘ : μ„Όμ„œ μž₯치λ₯Ό μ΄μš©ν•œ 기둝

 

μˆ˜μ§‘ 사둀

 

JSON(Javascript Object Notation):

  • XML μœ μ‚¬ 데이터 μ •ν˜•ν™” 방식
  • 인터넷 μƒμ˜ 데이터 μ†‘μˆ˜μ‹  방식
  • ν…μŠ€νŠΈ ν˜•νƒœ, μž‘μ‘ μš©λŸ‰, λΉ λ₯Έ λ³€ν™˜ 속도
  • ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄ λ˜λŠ” ν”Œλž«νΌ 독립적

Flume:

  • 2010λ…„ Cloudera 개발, 둜그 데이터 μˆ˜μ§‘κΈ°
  • λΆ„μ‚° 데이터 톡합 κ°€λŠ₯, μ•ˆμ •μ„± κ°€μš©μ„± λ†’μŒ

Chukwa(척와):

  • 2008λ…„ Yahoo 개발, 둜그 데이터 μˆ˜μ§‘κΈ°
  • μ•„νŒŒμΉ˜ ν•˜λ‘‘ 기반, μ‹€μ‹œκ°„ 뢄석 κΈ°λŠ₯

SQOOP(슀쿱):

  • SQI-to-hadOOP, λ‹€μ–‘ν•œ DBMS λ²€ν„° ν˜Έν™˜
  • DBMS, ν•˜λ‘‘, NoSQL κ°„ 데이터 연동에 적용

OpenRefine(μ˜€ν”ˆ 리파인):

  • 2010λ…„ Google의 μ˜€ν”ˆ ν”„λ‘œμ νŠΈ
  • 데이터 μ •μ œ 도ꡬ: 였λ₯˜ μˆ˜μ •, 데이터 정리
  • 데이터 연계 API 및 μ›Œν¬ ν”Œλ‘œμš° κΈ°λŠ₯ 제곡

Protocol Buffers( ν”„λ‘œν† μ½œ 버퍼):

  • Google의 μ˜€ν”ˆ μ†ŒμŠ€ 직렬화 라이브러리
  • λ‹€μ–‘ν•œ ν”Œλž«νΌ κ°„μ˜ 톡신 κ°€λŠ₯

 

 

 

 

 

 

 

 

 

 

 

 

μ •μ˜ : 데이터 처리 μ‘μš© μ†Œν”„νŠΈ 웨어가 μ²˜λ¦¬ν•˜κΈ°μ— 맀우 κ±°λŒ€(large)ν•˜κ±°λ‚˜ 볡작(complex)ν•œ λ°μ΄ν„°μ˜ μ§‘ν•©

 

βœ” ν˜„μ‘΄ν•˜λŠ” λ°μ΄ν„°μ˜ 양이 1ZBλ₯Ό 초과 ➭ μ œνƒ€(zeta)μ‹œλŒ€μ— λŒμž…

βœ” 미래의 경쟁λ ₯κ³Ό κ°€μΉ˜ 창좜의 μ›μ²œμœΌλ‘œ 빅데이터가 μ€‘μš”ν•œ 역할을 ν•˜κ²Œλ¨

 

 

λΉ…λ°μ΄ν„°μ˜ 역사

 

pc μ‹œλŒ€ - λ°μ΄ν„°λ² μ΄μŠ€ κ°œλ… 정립 , pcν†΅μ‹ μ˜ μ‹œμž‘ ➭  λ°μ΄ν„°μ˜ 규λͺ¨κ°€ μž‘κ³  ꡐλ₯˜κ°€ 적닀.

인터넷 μ‹œλŒ€ - μ΄ˆκ³ μ† μΈν„°ν…Ÿμ˜ λ„μž… (포털 μ„œλΉ„μŠ€ ) ➭ λ°μ΄ν„°μ˜ 규λͺ¨ 및 μ ˆλŒ€μ  ꡐλ₯˜λŸ‰ 증가 

λͺ¨λ°”일 μ‹œλŒ€ - λͺ¨λ°”일 인터넷 혁λͺ… (μ†Œμ…œ λ„€νŠΈμ›Œν¬) ➭ 빅데이터 κ°œλ… 정립 및 문제점 λŒ€λ‘

슀마트 μ‹œλŒ€ - 인곡지λŠ₯(ai), κΈ°κ³„ν•™μŠ΅(ml), λ”₯λŸ¬λ‹, 사물 인터넷(iot)λ“± ➭ μ§€λŠ₯을 κ°€μ§€λŠ” μ‹œλŒ€

 

 

λΉ…λ°μ΄ν„°μ˜ 3κ°€μ§€ νŠΉμ„± (3V)

 

규λͺ¨(volume) - λ””μ§€ν„Έ μ •λ³΄λŸ‰μ΄ κΈ°ν•˜κΈ‰μˆ˜μ μœΌλ‘œ 급증  ➭ μ •λ³΄λŸ‰ 증가에 λŒ€ν•œ 데이터 처리 μˆ˜μš” 증가

λ‹€μ–‘μ„±(variety) - 둜그, sns,μ†ŒλΉ„ λ“± 데이터 μ’…λ₯˜ 증가  ➭ λ‹€μ–‘ν•œ 데이터에 λŒ€ν•œ 수용 및 처리 방법둠 ν•„μš” 

속도(velocity) - IOT, 슀트리밍 λ“± μ‹€μ‹œκ°„ 정보와 속도 증가 ➭ 데이터λ₯Ό λΉ λ₯΄κ²Œ μ²˜λ¦¬ν•˜κ³  λΆ„μ„ν•˜λŠ” ν”Œλž«νΌ ν•„μš”

 

 

λΉ…λ°μ΄ν„°μ˜ μƒˆλ‘œμš΄ νŠΉμ„±

 

μ •ν™•μ„± (veracity) - κ±°λŒ€ν•œ λ°μ΄ν„°λŠ” 신뒰성이 λΆ€μ‘±ν•  수 있음. μˆ˜μ§‘ν•œ λ°μ΄ν„°μ˜ λ‹€μ–‘ν•œ ν’ˆμ§ˆμ— λŒ€μ²˜ν•˜λŠ” 방법둠

κ°€μΉ˜ (value) - νŠΈλžœλ“œ, 감정, μ§„μ‹€μ„±, μ§„μ •μ„±, 개인의 μ·¨ν–₯ λ“± λ³€ν™”ν•˜λŠ” λŒ€κ·œλͺ¨ 데이터 μ‹œλŒ€μ— κ°€μΉ˜μ˜ ν•„μš”μ„± μ¦λŒ€

κ°€λ³€μ„±(variability) - λ§₯락에 따라 μ˜λ―Έκ°€ λ³€ν™” ➭ λ°μ΄ν„°μ˜ 본래 의미λ₯Ό μ°ΎκΈ° μœ„ν•œ 방법둠 ν•„μš”

μ‹œκ°ν™”(visualization) - λ°μ΄ν„°μ˜ λΆ„μ„μœΌλ‘œλΆ€ν„° μ–»μ–΄λ‚Έ 결둠에 λŒ€ν•œ ν‘œν˜„ ➭ μ‚¬μš©μžμ˜ 이해도λ₯Ό κ³ λ €ν•œ 효과적인 방법둠 ν•„μš”

 

 

λΉ…λ°μ΄ν„°μ˜ μ’…λ₯˜

 

μ •ν˜• 데이터(Structured Data) - κ³ μ •ν˜• ν•„λ“œμ— μ €μž₯된 데이터 예)μ—‘μ…€, κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(RDBMS),μŠ€ν”„λ ˆλ“œμ‹œνŠΈ λ“±

λ°˜μ •ν˜• 데이터(Semi-Structured Data) - 메타데이터, μŠ€ν‚€λ§ˆλ₯Ό μ΄μš©ν•˜μ—¬ ν‘œν˜„ν•˜λŠ” 데이터 예)XML, HTML,JSON,λ‘œκ·Έλ“± 

λΉ„μ •ν˜• 데이터(Unstructured Data) - μ •ν˜•/λ°˜μ •ν˜•μ΄ μ•„λ‹Œ λͺ¨λ“  데이터 예)ν…μŠ€νŠΈλ¬Έμ„œ, λΉ„λ””μ˜€, μ˜€λ””μ˜€ 같은 λ©€ν‹°λ―Έλ””μ–΄ μ½˜ν…μΈ ,SNS

κ°€μž₯ 큰 증가λ₯Ό λ³΄μ΄λŠ” 데이터 μœ ν˜•

 

μˆ˜μ§‘ λ‚œμ΄λ„

 

 

λΉ…λ°μ΄ν„°μ˜ μ²˜λ¦¬κ³Όμ •κ³Ό 기술

 

생성-μˆ˜μ§‘-μ €μž₯-처리-뢄석-ν‘œν˜„

 

생성

⛀ 내뢀데이터

⋆ 둜컬 ν™˜κ²½(인터넷에 μ—°κ²° λ˜μžˆμ§€ μ•Šμ€ 외뢀와 차단 λ˜μžˆλŠ” ν˜•νƒœμ˜ 데이터)에 μ €μž₯λ˜μ–΄ ꡐλ₯˜κ°€ μ—†λŠ” 데이터

⋆ λ°μ΄ν„°λ² μ΄μŠ€, νŒŒμΌκ΄€λ¦¬ μ‹œμŠ€ν…œλ“±

⛀ 외뢀데이터

⋆ λ„€νŠΈμ›Œν¬μ—μ„œ ꡐλ₯˜λ₯Ό 톡해 λ°œμƒν•˜λŠ” 데이터 

⋆ ν…μŠ€νŠΈ, λ©€ν‹°λ―Έλ””μ–΄ μ½˜ν…μΈ , 슀트림 λ“±

 

μˆ˜μ§‘

⋆ 둜그(LOG): μ‹œμŠ€ν…œ λ‚΄λΆ€ ν™œλ™ 둜그 μˆ˜μ§‘

⋆ 크둀링(Crawlng) : 인터넷 λ‘œλ΄‡μ„ μ‚¬μš©ν•œ 데이터 μˆ˜μ§‘

⋆ μ„Όμ‹±(Sensing): 각쒅 μ„Όμ„œλ₯Ό μ΄μš©ν•œ μˆ˜μ§‘ (사물 인터넷에 λΆ™μ–΄μžˆλŠ” μ„Όμ„œ)

⋆ ETL (Extraction, Transformation, Loading) : μ›μ²œ λ°μ΄ν„°μ˜ μΆ”μΆœ, λ³€ν™˜, 적재 ➭ 데이터 μ›¨μ–΄ν•˜μš°μŠ€

 

μ €μž₯

⋆ μ„œλ²„(server) :데이터에 효과적으둜 μ ‘κ·Όν•˜κΈ° μœ„ν•œ μž₯치

⋆ μŠ€ν† λ¦¬μ§€(Storage):데이터λ₯Ό μ €μž₯ν•˜λŠ” 맀체 (usb, ν•˜λ“œλ””μŠ€ν¬)

⋆ NoSQL λ°μ΄ν„°λ² μ΄μŠ€ : λΉ„μ •ν˜• 데이터 관리에 νŠΉν™”λœ λ°μ΄ν„°λ² μ΄μŠ€

 

처리

⋆ λ§΅λ¦¬λ“€μŠ€(MapReduce): λΆ„μ‚° 병렬 μ»΄ν“¨νŒ…(μ—¬λŸ¬μ»΄νŠœν„°κ°€ μ—°κ²°λ˜μžˆλŠ” ν™˜κ²½)μ—μ„œ λŒ€μš©λŸ‰ 데이터λ₯Ό μ²˜λ¦¬ν•˜κΈ° μœ„ν•œ μ†Œν”„νŠΈμ›¨μ–΄ ν”„λ ˆμž„μ›Œν¬

⋆ R, Hadoop, MATLABλ“± : 데이터 뢄석을 효과적으둜 μˆ˜ν–‰ν•˜κΈ° μœ„ν•œ λ‹€μ–‘ν•œ 처리 도ꡬ

 

뢄석

⋆ ν†΅κ³„ 뢄석(Statistical Analysis) :  κ³ μ „ 톡계, ν™•λ₯  λͺ¨λΈλ§ λ“±μœΌλ‘œ 뢄석 μˆ˜ν–‰

⋆ κΈ°κ³„ν•™μŠ΅ (Machine Learning) : 인곡지λŠ₯(AI)의 ν•œ 갈래이며 λ°˜μžλ™ λ˜λŠ” μžλ™μœΌλ‘œ λ°μ΄ν„°μ˜ νŒ¨ν„΄ 발경

⋆ NLP(Natural Language Processing) : μΈκ°„μ˜ μ–Έμ–΄ ν˜„μƒμ„ λΆ„μ„ν•˜λŠ” 인곡지λŠ₯ 

 

ν‘œν˜„

⛀ μ‹œκ°ν™”(Visualization)

⋆ λ‹€μ–‘ν•œ λ„ν‘œμ™€ κ·Έλž˜ν”½μœΌλ‘œ 이해λ₯Ό 도움

⋆ 고전적인 ν‘œν˜„ 방식에 얽맀이지 μ•Šκ³  ν˜•νƒœ, 색상, 맀체, ꡬ도 등을 λ³€ν™”ν•˜μ—¬ λ‹€μ–‘ν•œ ν‘œν˜„

 

 

λΉ…λ°μ΄ν„°μ˜ 전망

⋆ λ°μ΄ν„°μ˜ λ‹€μ–‘μ„± : μƒˆλ‘œμš΄ λ©€ν‹°λ―Έλ””μ–΄κ°€ μ¦κ°€ν• μˆ˜λ‘ λ‹€μ–‘ν•œ κ³³μ—μ„œ 정보λ₯Ό 얻을 수 μžˆλ‹€.

⋆ λ°μ΄ν„°μ˜ μ–‘ : μ ‘κ·Ό ν•˜λŠ” 맀체가 λŠ˜μ–΄λ‚ μˆ˜λ‘ λ°μ΄ν„°μ˜ 양은 λŠ˜μ–΄λ‚œλ‹€.

⋆ 슀마트 기기의 λ³΄κΈ‰μœ¨ : 이미 슀마트 κΈ°κΈ°λ₯Ό κ°–κ³  μžˆλŠ” μ‚¬λžŒλ“€μ΄ μ¦κ°€ν•˜λ©΄μ„œ κΈ°κΈ° λ³΄κΈ‰μœ¨μ˜ μ¦κ°€μœ¨μ€ μ¦κ°€λŸ‰μ΄ 쀄어듀 것이닀.

⋆ 응닡 속도 μš”κ΅¬μΉ˜ : μ‹œκ°„μ΄ μ§€λ‚  수둝 μ–‘κ³Ό 닀양성이 λŠ˜μ–΄λ‚˜μ„œ 응닡 속도 μš”κ΅¬λŠ” 빨라질 것이닀.

 

 

λΉ…λ°μ΄ν„°μ˜ ν™œμš© λΆ„μ•Ό

 

⋆ 곡곡 μ„œλΉ„μŠ€ : λ°©λŒ€ν•œ 데이터λ₯Ό κ΅­κ°€μ μœΌλ‘œ ν™œμš© κ°€λŠ₯ 각쒅 μžμ› 관리 슀마트 κ·Έλ¦¬λ“œ, μž¬λ‚œ λ°©μž¬λ“±

⋆ κ³Όν•™ 연ꡬ : λ°μ΄ν„°λ‘œλΆ€ν„° μƒˆλ‘œμš΄ 의미 발견 κ°€λŠ₯ ➭ 데이터λ₯Ό ν‘œν˜„ν•˜λŠ” μƒˆλ‘œμš΄ 방법둠 적용

⋆ 의료 μ„œλΉ„μŠ€ : 의료 λ°μ΄ν„°μ˜ 효율적, 효과적 μˆ˜μ§‘ 및 곡유  진단, 처방, μ‹œμˆ , 수술 등에 의료 혁λͺ… μ˜ˆμƒ

⋆ λ¬Όλ₯˜/μœ ν†΅ : 데이터λ₯Ό 톡해 μ†ŒλΉ„μžμ˜ λ‹ˆμ¦ˆ (needs)λ₯Ό νŒŒμ•…ν•΄ 보닀 효과적인 λ¬Όλ₯˜ μœ ν†΅μ΄ κ°€λŠ₯

⋆ 제쑰 μ‚°μ—… : μ œν’ˆμ˜ μˆ˜μœ¨μ„ κ·ΉλŒ€ν™”ν•˜κΈ° μœ„ν•˜μ—¬ 데이터λ₯Ό ν™œμš© ➭ λΆˆλŸ‰λ₯ μ„ μ΅œμ†Œν™” ν•  수 있고 제쑰의 νš¨μœ¨ν™” κ°€λŠ₯

⋆ 정보 톡신 : λͺ¨λ°”일 κΈ°κΈ°(슀마트폰)의 보급 ν™•λŒ€λ‘œ 개인 데이터 양이 증가 ➭ κ°œμΈν™”λœ μ„œλΉ„μŠ€ 및 λͺ©ν‘œ λ§ˆμΌ€νŒ… κ°€λŠ₯

 

 

λΉ…λ°μ΄ν„°μ˜ ν™œμš© 사둀

 

⋆ μ •μΉ˜ : 유ꢌ자 DBμ—μ„œ 유ꢌ자λ₯Ό λΆ„λ₯˜ν•˜κ³  μ„±ν–₯ νŒŒμ•… ➭ μ†Œμ…œ λ―Έλ””μ–΄λ₯Ό ν†΅ν•˜μ—¬ 유ꢌ자 정보 μˆ˜μ§‘

⋆ 경제 : 고개그이 κ΅¬λ§€λ‚˜ ν™œλ™ 기둝을 λΆ„μ„ν•˜μ—¬ μ·¨ν–₯ 뢄석 ( κ°œμΈν™”λœ μΆ”μ²œ μ‹œμŠ€ν…œ)

⋆ λ¬Έν™” : μ •ν˜• 및 λΉ„μ •ν˜• 데이터λ₯Ό μˆ˜μ§‘ 및 뢄석 ➭ 효율적인 νŒ€μ˜ μš΄μ˜μ„ κ°€λŠ₯μΌ€ 함

⋆ κ³Όν•™ : ν†΅κ³„ν•™μ˜ 비약적인 λ°œμ „μœΌλ‘œ μœ μ „μžμ˜ 뢄석 및 λ°œν˜„κ³Ό μ‘°μ ˆμ— 획기적인 λ³€ν™”

 

 

λΉ…λ°μ΄ν„°μ˜ 미래 전망

 

⋆ 데이터 혁λͺ… : μ •μΉ˜, 경제, μ‚¬νšŒ, λ¬Έν™”, IT λ“± 데이터가 λ°œμƒν•˜λŠ” μ „ 뢄야에 λ„μž… ➭ μ‚¬νšŒ μ „λ°˜μ˜ 데이터 혁λͺ…

⋆ μƒˆλ‘œμš΄ κ°€μΉ˜μ™€ λΆ„μ•Ό 창좜  : κΈ°μ‘΄ 데이터 뿐만 μ•„λ‹ˆλΌ 미래의 λ°μ΄ν„°λ‘œλΆ€ν„° μƒˆλ‘œμš΄ 의미λ₯Ό μ°Ύμ•„λ‚΄κ³  κ°€μΉ˜μ™€ λΆ„μ•Ό 창좜 κΈ°λŒ€

 

 

 

 

 

 

+ Recent posts