일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 로봇택시
- 자율주행
- 로보택시
- 6G
- 우버자율주행
- Starlink
- 코로나백신
- 스마트시티
- 에어택시
- 드론배송시작
- 우버 매각
- CES2021LG
- 오로라이노베이션
- 코로나백신대상
- 완전자율주행
- 기술경영
- UAM
- 코로나백신피해야할대상
- 자율주행택시
- 김래아
- 아마존자율주행
- 해외UAM
- 오로라자율주행
- 월마트드론
- UAMT
- smart_city
- UAM사례
- 자율주행차량
- 자율주행오로라
- CES2021
- Today
- Total
RDX 공식블로그
유럽 해사 통합 빅데이터 플랫폼 구축을 위한 'Big Data Ocean' : 빅데이터 기술 현황(1/3) 본문
유럽 해사 통합 빅데이터 플랫폼 구축을 위한 'Big Data Ocean' : 빅데이터 기술 현황(1/3)
Redesign X(리디자인엑스) 2020. 2. 6. 16:48
이번 시간에는 10가지 주제에 따른 현재 빅데이터 기술 현황을 알아보고, Big Data Ocean에 적합한지 평가하여 필요한 기술을 추려보려고 합니다. 이해하기 쉽도록 각 주제 앞부분에는 빅데이터 관련 전문적인 용어도 같이 정리해 놓았으니 참고하시길 바랍니다.
저번 시간에도 간단하게 설명되었듯이, Big Data Ocean 기술은 총 10가지 주제로 분류되어 설명할 수 있습니다.
1) 데이터 포맷&인코딩 2) 메타데이터 저장소&시멘틱(semantics) 3) 데이터 저장소 4) 쿼리 프로세싱 5) 스트림 프로세싱 6) 분석 7) 분석 실행환경/노트북 8) 가시화 9) 클러스터 관리 10) 보안 으로 구성됩니다.
Big Data Ocean 솔루션과 관련된 주제로 분류되었고 이 중에서 쿼리 프로세싱, 스트림 프로세싱, 분석 분야가 중요하게 여겨집니다. 각 기술에 대해서는 주요 특징, Big Data Ocean 프레임에서의 장단점, Big Data Ocean 솔루션에 적합한지, 파일럿 프로젝트에 기술적으로 도움이 되는지, 데이터 가치사슬에서의 위치가 요약되어 정리됩니다. 소개된 모든 기술이 Big Data Ocean에 적용되지는 않았고, 특정 서비스만 적용되었거나 적용되지 않았더라도 기술의 정의가 흥미로운 기술들도 모두 소개되었습니다.
1. 데이터 포맷&인코딩
용어 정리
·주석(annotation) : 프로그램 코드의 일부가 아닌 프로그램에 관한 데이터를 제공, 코드에 정보를 추가하는 정형화된 방법입니다.
·스키마(schema) : 데이터베이스를 구성하는 개체, 속성, 관계 및 데이터 조작 시에 데이터 값들이 갖는 제약조건 등에 관해 전반적으로 정의하는 것을 뜻합니다. 스키마가 존재한다는 것은 그 구조가 미리 정의되어 있어야 한다는 의미이기 때문에, 이는 데이터의 급격한 변화에 대응하기 힘들다는 단점이 있습니다.
·시멘틱(semantic) : 문장이나 단락에 기술된 주제를 파악하고 이를 대상으로 검색하는 것을 말합니다. 사용자의 검색의도를 파악하고, 문서에 기술된 어휘의 의미와 문맥을 분석하여, 사용자가 원하는 검색 결과를 제시하는 것을 목표로 삼고 있습니다.
·위상(topology) : 요소들이 서로 물리적으로 연결되어 있다는 것을 의미합니다.
데이터 포맷&인코딩은 가치사슬에서 데이터 획득(acquisition)과 데이터 이용(usage)와 관련되어 있습니다. 수집된 데이터의 품질과 적절한 사용을 위해서는 데이터 포맷과 인코딩을 위한 데이터 기술전략이 필요합니다. Big Data Ocean의 데이터 포맷&인코딩에 있어 가장 중요한 점은 정보가 다른 시스템과 상호 간에 잘 동작되어야 한다는 것입니다. 서로 다른 시스템 간의 인터페이스가 호환되지 않거나, 데이터의 포맷과 코딩이 서로 다른 경우 기술적인 장애가 발생하기 때문입니다. 따라서, 데이터 통합 엔진을 구축하는 것이 필수적이며, 서로 다른 포맷 간의 연결 또한 중요하게 고려됩니다.
˙NetCDF(Network Common Data Form) : 기상/해양/대기 분야에서 자주 쓰이는 데이터 포맷입니다. 데이터를 직접 읽고 필수 메타데이터(예: 구조, 변수 이름, 단위 등)를 결정할 수 있어, 정확한 작업을 위해 필요한 정보를 데이터 자체와 함께 이용할 수 있다는 장점이 있습니다. 높은 압축력 또한 자랑합니다. 반면에, NetCDF를 처음 사용하는 사용자에게는 초기에 학습하기에 어렵다는 단점이 있습니다. 또한, 외부 숫자 데이터 유형이 제한되어 있고, 데이터셋의 크기도 제한되어 있다는 취약성이 있습니다.
이 유형의 파일은 현재 Big Data Ocean 가치사슬 내의 데이터 획득에서 처리되고 있으며, 일부 주요 데이터 소스에 사용되고 있는 형식입니다.
˙GeoJSON(Geospatial data interchange format based on JASON) : 단순한 지리적 특징을 나타내기 위해 설계된 개방형 표준 포맷으로, JSON이 기본 베이스입니다. 여러 공급업체에서 채택되어 사용되고 있지만, 압축/시멘틱(semantic)에 있어 아직 위상(topology)에 대한 구조가 없다는 것이 단점으로 평가됩니다.
˙GML(Geography Markup Language) : 지리적 시스템을 위한 모델링 언어와 인터넷 상의 지리적 거래를 위한 개방형 교환 형식 역할을 합니다. 압축에 잘 반응한다는 장점이 있지만, 일반적으로 GIS 전문가가 선호하지 않아 잘 사용되지 않습니다.
˙KML(Keyhole Markup Language) : 인터넷 기반 2차원 지도와 3차원 지구 브라우저 내에서 지리적 주석과 시각화를 표현하기 위한 XML 표기법입니다.
˙Avro : Apache의 Hadoop 프로젝트에서 개발된 원격 프로시저 호출(RPC) 및 데이터 직렬화 프레임워크입니다. 직렬화된 데이터를 같은 파일에서 데이터 스키마와 함께 묶는 오픈소스 데이터 형식이 특징입니다.
˙Parquet : Spark에 최적화된 형식으로 컬럼(column)기반으로 데이터를 저장하는 포맷입니다. 칼럼기반 포맷은 파일 크기와 쿼리 성능 측면 모두 효율성이 높다는 특징이 있습니다.
Big Data Ocean 플랫폼에 있는 데이터를 매우 효율적으로 압축하면서 빠른 쿼리 실행이 필요할 때 사용됩니다.
2. 메타데이터 저장소&시멘틱(semantic)
용어 정리
·시멘틱(semantic) : 문장이나 단락에 기술된 주제를 파악하고 이를 대상으로 검색하는 것을 말합니다. 사용자의 검색의도를 파악하고, 문서에 기술된 어휘의 의미와 문맥을 분석하여, 사용자가 원하는 검색 결과를 제시하는 것을 목표로 삼고 있습니다.
·Data Lake : 가공되지 않은 다양한 종류의 데이터를 한 곳에 모아둔 저장소의 집합을 의미합니다.
·온톨로지(Ontology) : 컴퓨터가 사람처럼 어떤 특정한 것을 이해할 수 있도록 다른 것과의 관계나 그것만의 의미를 컴퓨터가 알아들을 수 있는 형태로 표현한 자료를 뜻합니다.
·데이터 매핑(mapping) : 키(key) 역할을 하는 데이터와 값(value) 역할을 하는 데이터를 하나씩 짝지어 저장하는 데이터 구조입니다. 키는 저장된 데이터를 구별하고 가리키는 데 쓰이고, 값은 그 키와 연결되어 저장된 데이터를 의미합니다.
·Native query : 사용자가 직접 데이터베이스에 보내는 쿼리를 작성하는 것을 뜻합니다.
·Wrapper : 기본 자료형(Data Type)이 객체로서 인식되도록 래핑하거나 포함시키는 것을 의미합니다.
Big Data OCean 데이터 가치사슬에서 데이터 이용에 포함되는 기술이며, 데이터의 관리와 이용은 전체 데이터 cycle동안 데이터를 적절하게 관리하는데 필요한 모든 작업을 포함합니다. 앞서 언급했듯이, 데이터는 출처와 포맷이 다양하기 때문에 상호운용이 어려울 수 있습니다. 따라서, 빅데이터 저장소를 만들기 위해서는, 데이터 통합은 물론 시멘틱(semantic) 상호운용이 필수적입니다.
˙LOV(Linked Open Vocabularies) : 미국의 용어집 사이트로, 잘 문서화된 어휘를 재사용할 수 있고, 온톨로지 검색/평가/매핑을 지원합니다. 반면에, Value Vocabularies는 포함하지 않으며, 공개된 데이터셋의 어휘 사용정보를 얻기 위해 타사 프로젝트에 의존하는 경향이 있습니다.
Big Data Ocean에 있어, 표준화된 어휘에 대한 데이터 매핑에 사용됩니다.
˙LinDA : 데이터를 의미적으로 설명하고 통합하기 위한 Enterprise Linked Data 도구의 오픈소스 패키지입니다. 기존 어위에 대한 반자동 매핑이 가능하고, 변환된 매핑을 저장할 수도 있다는 장점이 있습니다. 하지만 어휘를 매핑하기 위해 수동 구성이 필요하다는 단점이 있습니다.
˙Ontario : data lake를 위한 SPARQL 쿼리 엔진입니다. 쿼리 프로세싱 중에 semantic enrichment와 데이터 통합을 제공하는 것이 특징입니다. 서로 다른 소스들은 원래 포맷으로 저장이 되고, native 쿼리 엔진을 통해 접근이 가능하다는 것이 장점입니다. 그러나 리서치 툴로써, 모든 SPARQL 필터가 구현되지는 않습니다. 또한, Wrapper는 각각의 데이터 소스에서 구현되어야 한다는 단점이 있습니다.
3. 데이터 저장
용어 정리
·단일장애점(Single Point of Failure) : 전체 시스템에서 고장이 발생하면 전체 시스템의 작동이 멈춰버리는 한 부분을 의미합니다.
·쿼리(query) : 데이터베이스에 정보를 요청하는 것, 웹 서버에 특정한 정보를 보여달라는 웹 클라이언트 요청에 의한 처리를 뜻합니다.
·조인(join) : 데이터베이스를 연결하여 데이터를 검색하는 방법, 자신이 검색하고 싶은 컬럼이 다른 테이블에 있을 경우 주소 사용하며 여러개의 테이블을 마치 하나의 테이블인 것처럼 활용하는 방법입니다.
·파티셔닝(Partitioning) 기법 : 테이블을 ‘파티션(partition)’이라는 작은 단위로 나누어 관리하는 것으로, 소프트웨어적으로 데이터베이스를 분산 처리하여 성능이 저하되는 것을 방지하고 관리를 보다 수월하게 할 수 있다는 특징이 있습니다.
·horizontal partitioning(수평 파티셔닝) : 하나의 테이블의 각 행을 다른 테이블에 분산시키는 것을 뜻합니다.
·ACID : Atomicity, Consistency, Isolation, Durability, 데이터베이스 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질을 가리키는 약어입니다.
- 원자성(Atomicity) : 트랜잭션과 관련된 작업들이 부분적으로 실행되다가 중단되지 않도록 하는 능력을 뜻합니다.
- 일관성(Consistency) : 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것을 의미합니다.
- 고립성(Isolation) : 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장하는 것을 의미합니다.
- 지속성(Durability) : 성공적으로 수행된 트랜잭션은 영원히 반용되어야 함을 의미합니다.
·Hadoop : 간단한 프로그래밍 모델을 사용하여 여러대의 컴퓨터 클러스터에서 대규모 데이터 세트를 분산 처리 할 수있게 해주는 프레임워크로, 단일 서버에서 수천대의 머신으로 확장 할 수 있도록 설계되었습니다.
·SQL(Structured Query Language) : database에서 사용되는 언어, Data를 만들고, 찾고, 수정하고, 지우는 기능을 중심으로 구성되어 있습니다.
·MapReduce : 대용량 데이터를 처리를 위한 분산 프로그래밍 모델로, 흩어져 있는 데이터를 수직화하여, 그 데이터를 각각의 종류별로 모으고(Map), Filtering과 Sorting을 거쳐 데이터를 뽑아내는(Reduce) 분산처리 기술 관련 프레임워크를 의미합니다.
·워크로드(workload) : 주어진 기간에 시스템에 의해 실행되어야 할 작업의 할당량을 의미합니다.
·인메모리(in-memory) : 데이터 스토리지의 메인 메모리에 설치되어 운영되는 방식의 데이터베이스 관리 시스템입니다.
·다운타임(downtime) : 시스템을 이용할 수 없는 시간을 뜻합니다.
데이터 저장문제는 빅데이터 기술에 있어 중요한 과제 중 하나입니다. Big Data Ocean은 스트리밍 및 정적 데이터 수집을 모두 관리할 수 있어야하기 때문에 데이터 저장 관련 기술이 더욱 중요하게 여겨집니다.
˙HBase : Hadoop의 HDFS위에 만들어진 분산 컬럼 기반의 데이터베이스입니다. 대용량의 데이터를 보관할 때 강력하고 신뢰성이 높아 성능이 뛰어나며, 대규모의 구조화되지 않은 데이터를 장기간 유지보수할 때 좋은 성능이 특징입니다. 하지만 ACID 속성이 없고, 단일장애점(single point of failure)이 있다는 것이 단점으로 평가됩니다. 교차 데이터 운용(Cross data operations)과 결합 작업(joining operations)이 구현되지 못하기 때문에, 이 기술은 Big Data Ocean 플랫폼에 적합하지 않은 것으로 입증되었습니다.
˙Cassandra : 원래 Facebook용으로 개발되었으며, 여러 상용 서버에 걸쳐 운영되도록 설계된 오픈 소스 분산 데이터베이스 관리 시스템입니다. 단일장애점이 절대 발생하지 않고, 운영이 단순하고, 확장성이 뛰어나다는 특징이 있지만, ACID 속성이 없다는 단점이 있습니다.
특정한 쿼리에 있어서는 높은 쿼리 성능이 제공되지만, 커스텀 쿼리, 조인(join), 집계 기능에 대해서는 제한된 기능과 성능을 가지기 때문에, 일반적인 Big Data Ocean 프론트엔드 서비스에는 적합하지 않습니다. 그럼에도 불구하고, 특정 사전에 조인(join)된 쿼리의 설정을 통해 파일럿 서비스의 성능을 향상시키는데 사용될 수 있다고 평가됩니다.
˙PostgreSQL : 객체 관계형 DBMS Postgres를 기반으로 하는 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 장점으로 ACID 속성을 가지고 있고, 트리거(trigger) 및 외부 키를 지원하며, 사용하기 편리하다는 점이 있습니다. 또한, PostGIS를 통해 지리공간 데이터 또한 지원합니다. 그러나 빅데이터 운영을 완전히 지원할 수는 없고, 데이터 위치를 지정하기 위해서는 복잡한 솔루션이 요구된다는 취약성이 있습니다.
Big Data Ocean 데이터에 대한 벤치마킹 테스트 기준, 매우 좋은 옵션으로 인증되었기 때문에, 현재 버전의 플랫폼에서 사용되고 있습니다.
˙MongoDB : 오픈 소스, 크로스 플랫폼 문서 지향 NoSQL 데이터베이스입니다. 지구공간 데이터를 지원하고, 잘 확립된 문서를 기반으로 한 솔루션이며, 많은 양의 관련없는 복잡한 데이터 소스를 유지하는데 사용이 가능하다는 장점이 있습니다. 하지만 Big Data Ocean 데이터에 대한 벤치마킹 테스트 기준, 조인(join) 쿼리 시 성능이 매우 낮기 때문에 적합하지 않은 것으로 간주되었습니다.
˙VoltDB : 오픈소스 데이터베이스 시스템으로, SQL 및 ACID 트랜잭션을 지원하고 데이터베이스의 처리량이 높은 것이 특징입니다. 실시간 가시성을 위해 인메모리를 분석하고, 시스템이 다운되지 않고(downtime) 탄력적으로 클러스터를 확장한다는 장점이 있습니다. 하지만 MapReduce는 부분적으로만 지원이 되며, 시장 보급이 낮기 때문에 Big Data Ocean에 적합하지 않은 것으로 평가되었습니다.
˙Microsoft SQL Server : 데이터 웨어하우징을 폭넓게 지원하는 관계형 데이터베이스 관리 시스템입니다. ACID 속성을 가지고 있고, 트리거(trigger) 및 외부 키를 지원하며, 사용하기 쉽다는 장점이 있는 반면에, 빅데이터 운영이 완전히 지원되지 않을 수 있으며, 테이블의 수평 파티셔닝(horizontal Partitioning)만을 지원한다는 단점도 있습니다. AIS에 대한 전반적인 초기 벤치마킹 결과 PostgreSQL이 마이크로소프트 SQL 서버보다 1.5배 더 우수한 성능을 보였기 때문에 채택이 되지 않았습니다.
˙Apache HDFS : HDFS(Hadoop Distributed File System)는 단일 클러스터를 수백 개 또는 수천 개의 노드로 확장하는 데 사용됩니다. 일반 하드웨어에서 실행되는 대용량 데이터셋을 처리하는 분산 파일 시스템이라고 할 수 있습니다. 신뢰성이 높고, 고장 방지 능력이 뛰어나며, 복제/노드 해체 메커니즘을 이용하기 때문에 내구성이 강력하다는 장점이 있습니다. 또한, MapReduce 워크로드를 지원하는 대역폭이 매우 높습니다. 하지만 때때로 100% 잘 작동되지 않을 수 도 있습니다.
현재 Big Data Ocean 플랫폼에 업로드된 가공되지 않은 데이터셋을 저장하는데 사용되고 있습니다. 파일 기반 저장 솔루션을 선택한 경우 Big Data Ocean 빅데이터 저장에 사용이 될 수 있습니다.
˙Greenplum : shared-nothing MPP 구조의 데이터베이스이며 PostgreSQL 기반으로 만들어진 시스템입니다. 데이터 분석에 적합하고 쿼리 속도가 매우 빠르지만, 실시간 데이터에 적합하지 않다는 특징이 있습니다.
따라서, Big Data Ocean 빅데이터 저장의 대안으로 고려할 수 있습니다.
다음 포스팅에 이어집니다..
Author 박해리
'Tech.Trend' 카테고리의 다른 글
유럽 해사 통합 빅데이터 플랫폼 구축을 위한 'Big Data Ocean' : 빅데이터 기술 현황(3/3) (0) | 2020.03.06 |
---|---|
유럽 해사 통합 빅데이터 플랫폼 구축을 위한 'Big Data Ocean' : 빅데이터 기술 현황(2/3) (0) | 2020.02.25 |
유럽 해사 통합 빅데이터 플랫폼 구축을 위한 'Big Data Ocean' : 초기단계 개요 (0) | 2020.02.03 |
유럽의 해사 통합 빅데이터 플랫폼 구축을 위한 'Big Data Ocean' : Prologue (0) | 2020.01.30 |
스스로 바다를 가르는 배, 자율운항선박 (0) | 2019.07.25 |