빅데이터 인프라개발 어떤일을 하는걸까?[얕고 넓은 직무지식#24]

  • 12,962
  • 0
  • 0

 


#직무정보

빅데이터 적제 / 정제/ 전달 인프라 개발, 운영

빅데이터 분석 인프라 개발, 운영

로그 수집 -> 분석가능형태로 가공/처리 -> 대용량 데이터플랫폼 운영, 유지

데이터 수집처리를 위한 기술개발, 오픈 소스들에 대한 커스터마이징



#키워드

Linux Shell Script

- 쉘이나 명령 줄 인터프리터에서 돌아가도록 자성되었거나 한 훈영 체제를 위해 쓰인 스크립트. 단순한 도메인 고유 언어로 여기기도 함. 쉘 스크립트가 수행하는 일반 기능으로는 파일이용, 프로그램실행, 문자열 출력 등

장점 : 다른 언어의 같은 코드보다 빠른 경우가 많다.(쉘 스크립트는 컴파일 단계가 없기 때문에 스크립트는 디버깅을 하는 동한 빠르게 실행할 수 있음)

Python과 같이 독립적으로 설치할 필요가 없음

단점 : 각 명령에 대한 잠재적으로 새운 하부 프로세스의 수많은 필요에 따라 속도가 느려질 수 있다.


Scala

Java언어가 너무 복잡하다는 단점을 극복하기 위해 2004년 개발, 간결한 소스 코드를 사용하여 Java에서 구현할 수 있는 대부분의 기능을 구현해냄. 


Hadoop

설명은 아래 링크 이용 

https://www.jobindexworld.com/ko/curation/content/2128


Hive(데이터처리)

하이브(Hive)는 하둡 기반의 데이터웨어하우징용 솔루션입니다. 페이스북에서 개발했으며, 오픈소스로 공개되며 주목받은 기술입니다. SQL과 매우 유사한 HiveQL이라는 쿼리 언어를 제공합니다. 그래서 자바를 모르는 데이터 분석가들도 쉽게 하둡 데이터를 분석할 수 있게 도와줍니다. HiveQL은 내부적으로 맵리듀스 잡으로 변환되어 실행됩니다


Spark(데이터처리)

즉각적인 고급 분석을 위한 프레임워크를 제공( 고속 쿼리수행 툴, 머신 학습 라이브러리, 그래프 프로세싱 엔진, 스트리밍 분석엔진이 포함되어 있다) 데이터베이스와 파이썬이나 스칼라등의 스크립팅 기술을 알고 있다면 누구나 이용가능하다.


NoSql

전통적인 관계형 데이터베이스보다 덜 제한적인 일관성 모델을 이용하는 데이터의 저장 및 검색을 위한 매커니즘을 제공. 이러한 접근에 대한 동기에는 디자인의 단순화, 수평적 확장성, 세세한 통제를 포함한다.


Storm

실시간 데이터 처리를 위한 시스템, 데이타 스트림을 처리하기 위한 시스템


Samza

스트림을 분산시키는 프레임워크


flink

실시간 스트리밍 데이터를 처리해주는 툴

http://techalpine.com/why-apache-flink-and-apache-spark-are-used-for-processing-streaming-data/?lang=ko


presto(데이터처리)

프레스토(Presto)는 페이스북이 개발한 대화형 질의를 처리하기 위한 분산 쿼리 엔진입니다. 메모리 기반으로 데이터를 처리하며, 다양한 데이터 저장소에 저장된 데이터를 SQL로 처리할 수 있습니다. 특정 질의 경우 하이브 대비 10배 정도 빠른 성능을 보여주며, 현재 오픈소스로 개발이 진행되고 있습니다.

hbase (데이터 저장)

H베이스(HBase)는 HDFS 기반의 칼럼 기반 데이터베이스입니다. 구글의 빅테이블(BigTable) 논문을 기반으로 개발됐습니다. 실시간 랜덤 조회 및 업데이트가 가능하며, 각 프로세스는 개인의 데이터를 비동기적으로 업데이트할 수 있습니다. 단, 맵리듀스는 일괄 처리 방식으로 수행됩니다. 트위터, 야후!, 어도비 같은 해외 업체에서 사용하고 있으며, 국내에서는 2012년 네이버가 모바일 메신저인 라인에 HBase를 적용한 시스템 아키텍처를 발표했습니다.


cassandra

카산드라는 구글의 BigTable 컬럼 기반의 데이타 모델과 FaceBook에서 만든 Dynamo의 분산 모델을 기반으로 하여 제작되어 Facebook에 의해 2008년에 아파치 오픈소스로 공개된 분산 데이타 베이스 입니다. 기존의 관계형 데이타 베이스와 다르게 SQL을 사용하지 않는 NoSQL의 제품중의 하나이며, 대용량의 데이타 트렌젝션에 대해서 고성능 처리가 가능한 시스템입니다.(High-Scale). 노드를 추가함으로써 성능을 낮추지 않고 횡적으로 용량을 확장할 수 있으며 얼마전에 트위터도 MySQL에서 Cassandra로 데이타베이스를 전환하였다고 합니다. 자바로 작성되었음에도 불구하고, 데이타베이스라는 명칭에 걸맞게 여러 프로그래밍 언어를 지원합니다. (Ruby,Perl,Python,Scala,Java,PHP,C#)

데이타간의 복잡한 관계 정의(Foreign Key)등이 필요없고, 대용량과 고성능 트렌젝션을 요구하는 SNS (Social Networking Service)에 많이 사용되고 있으며. 성능이나 확장성과 안정성이 뛰어납니다.




 

`17.04.28(updated. `17.04.28)