용어정리

빅데이터 / 플랫폼 / 인프라 / 프레임워크

yeony 2021. 4. 1. 22:41

빅데이터 (Bigdata)

정형·반정형·비정형 데이터세트의 집적물, 그리고 이로부터 경제적 가치를 추출 및 분석할 수 있는 기술.

빅데이터란 디지털 환경에서 생성되는 데이터로 그 규모가 방대하고, 생성 주기도 짧고, 형태도 수치 데이터뿐 아니라 문자와 영상 데이터를 포함하는 대규모 데이터를 말한다.

 

빅데이터의 특징은 3V로 요약하는 것이 일반적이다. 즉 데이터의 양(Volume), 데이터 생성 속도(Velocity), 형태의 다양성(Variety)을 의미한다. 추가로 가치(Value)나 복잡성(Complexity)을 덧붙이기도 한다.

 

빅데이터 플랫폼은 빅데이터 기술의 집합체이자 기술을 잘 사용할 수 있도록 준비된 환경이다. 기업들은 빅데이터 플랫폼을 사용하여 빅데이터를 수집, 저장, 처리 및 관리 할 수 있다. 빅데이터 플랫폼은 빅데이터를 분석하거나 활용하는 데 필요한 필수 인프라(Infrastructure)인 셈이다. 빅데이터 플랫폼은 빅데이터라는 원석을 발굴하고, 보관, 가공하는 일련의 과정을 이음새 없이(Seamless) 통합적으로 제공해야 한다.

 

출처 - 네이버 지식백과

 

빅데이터를 다루는 처리 프로세스로서 병렬 처리의 핵심은 분할 점령(Divide and Conquer)이다. 즉 데이터를 독립된 형태로 나누고 이를 병렬적으로 처리하는 것을 말한다. 빅데이터의 데이터 처리란 이렇게 문제를 여러 개의 작은 연산으로 나누고 이를 취합하여 하나의 결과로 만드는 것을 뜻한다. 대용량의 데이터를 처리하는 기술 중 가장 널리 알려진 것은 아파치 하둡(Apache Hadoop)과 같은 Map-Reduce 방식의 분산 데이터 처리 프레임워크이다. (+R프로그래밍)

 

플랫폼 (platform)

특정 장치나 시스템 등에서 이를 구성하는 기초가 되는 틀 또는 골격을 지칭하는 용어.

플랫폼의 속성을 분석해 보면, 근본 원리는 비슷하다는 것을 알 수 있다. 즉, 플랫폼은 공통의 활용 요소를 바탕으로 본연의 역할도 수행하지만, 보완적인 파생 제품이나 서비스를 개발·제조할 수 있는 기반이다. 플랫폼은 제품 자체뿐만 아니라 제품을 구성하는 부품이 될 수도 있고, 다른 서비스와 연계를 도와 주는 기반 서비스나 소프트웨어 같은 무형의 형태도 포괄하는 개념이다.

플랫폼(Platform)이란 본래 기차 정거장을 의미하는 용어로 현재는 많은 이용자가 이용하는 컴퓨터 프로그램이나 모바일 앱, 웹사이트 등을 통칭하는 의미로 사용된다. 구글, 애플, 페이스북, 아마존 등이 대표적인 플랫폼 기업으로 분류된다.​

 

사회적 생산기반, 인프라스트럭처 (Infrastructure)

사회적 생산기반. 본래는 하부구조·하부조직 등의 일반적 용어이지만 오늘날에는 경제활동의 기반을 형성하는 시설·제도 등의 의미로 사용된다. 도로, 하천, 항만, 농업기반, 공항과 같이 경제활동에 밀접한 사회자본을 가리키는데 최근에는 학교나 병원, 공원과 같은 사회복지, 생활환경시설 등의 사회자본도 포함하고 있다. 흔히 인프라라고 표기하기도 한다.

 

프레임워크 (Framework)

소프트웨어 어플리케이션이나 솔루션의 개발을 수월하게 하기 위해 소프트웨어의 구체적 기능들에 해당하는 부분의 설계와 구현을 재사용 가능하도록 협업화된 형태로 제공하는 소프트웨어 환경을 말한다.

 

컴퓨터 프로그래밍에서 프레임워크는 구조적으로 고정된 부분을 재사용할 수 있도록 하고, 응용별 특정 기능을 추가적인 사용자 작성 코드에 의해 선택적으로 구현 가능하도록 하는 포괄적인 추상 구조, 그리고 이를 지원하는 소프트웨어 플랫폼을 말한다. 즉, 소프트웨어의 개발에 필수적이고 표준적인 부분에 해당하는 설계와 구현을 재사용 가능하도록, 일련의 협업화된 형태의 클래스들로 제공하는 반제품 소프트웨어 모듈이라고 볼 수 있다.

 

소프트웨어 프레임워크는 지원 프로그램, 컴파일러, 코드 라이브러리, 도구 세트, API 등과 같이 프로젝트나 솔루션 개발을 가능하게 하는 여러 가지 서로 다른 컴포넌트들을 포함한다.

프레임워크 기반으로 개발을 수행하는 경우, 기반 구조를 그대로 재사용하고 비즈니스 로직과 관련된 부분을 추가적으로 구현하면 되기 때문에 빠른 어플리케이션 구축이 가능하다. 또한 동일 프레임워크를 사용하는 어플리케이션들은 비슷한 뼈대 구조를 가지기 때문에 관리 및 테스트가 용이하다.

 

프레임워크는 명확하게 정의된 API를 가지고 코드를 재사용 가능한 형태로 구조화한다는 점에서 라이브러리와 비슷하다. 그러나 라이브러리에서는 호출 측이 전체 프로그램 제어 구조를 지정할 수 없지만, 프레임워크에서는 이러한 제어의 반전(inversion of control)이 가능하다. 또한 라이브러리와 달리 프레임워크는 사용자가 선택적 오버라이딩(overriding, 상속받은 함수를 재정의 하는 것)이나 특정 기능을 수행하는 사용자 코드로 특수화하여 코드를 확장 재사용할 수 있다.