[Greenplum DB] 세계 최초 오픈소스 대용량 데이터 병렬 처리 데이터 분석 플랫폼, Greenplum Database (GPDB)  

이번 포스팅에서는 Greenplum Database (Data Platform)에 대해서 소개하겠습니다. 

 

세상에는 여러 개의 Database가 존재합니다.  그중에서도 Greenplum Database (줄여서 GPDB라고도 부름)은 MPP(Massively Parallel Processing) 아키텍처 기반의 Open Source RDBMS 에 해당합니다. 

 

Greenplum Database Community 홈페이지에 가보면 Greenplum DB를 "세계 최초의 오픈소스 & MPP 데이터 플랫폼 (The World's First Open-Source & Massively Parallel Data Platform)" 이라고 소개하고 있습니다. 

 

 

[ Greenplum Database, "The World's First Open-Source & Massively Parallel Data Platform" ]

 

 

 

Greenplum DB (이하 GPDB)는 2003년 미국 캘리포니아 산호세에서 처음 시작해서 2010년에 EMC에 인수되었습니다. 그리고 2012년부터는 Pivotal Greenplum Database로 이름이 바뀌었으며, 기업용의 상용SW로 Pivotal Software에서 판매, 유지보수 서비스를 하고 있습니다. 그리고 현재까지 오픈소스 커뮤니티와 Pivotal에서 Agile방법론에 입각해서 지속적으로 업그레이드를 하고 있습니다. 

 

왜 수십~수백 테라 바이트, 수 페타바이트 급의 빅데이터 분석에 MPP 아키텍처인지가 필요한지에 대한 이해를 돕기 위해서, SMP(Symmetric Multi-Processing) 와 MPP(Massively Prarallel Processing) 아키텍처에 대해서 간략히 설명드리겠습니다. 

 

 

[ SMP(Symmetric Multi-Processing) vs. MPP(Massively Parallel Processing) ]

 

 

 

 

SMP(Symmetric Multi-Processing) 아키텍처는 보통 "Shard Everything Architecture"라고도 하는데요, 모든 CPU가 하나의 메모리와 디스크를 사용합니다. 따라서 관리가 편리한 장점이 있는 반면에 관리/분석해야하는 데이터 용량이 커지면 Scale Up 하는데 한계를 가지게 됩니다. 

 

반면에 MPP(Massively Parallel Processing) 아키텍처는 "Shared Nothing Architecture"라고도 하는데요, 데이터가 여러개의 디스크에 분산되어 저장이 되며, 여러개의 CPU가 각각 메모리와 디스크를 할당받아 이용을 하게 됨에 따라 분산병렬처리가 가능하게 됩니다. 데이터 용량을 늘리려면 디스크, 메모리, CPU를 옆으로 계속 확장하여 네트워크로 연결을 해주는 Scale Out 방식을 취하면 되어 이론적으로는 계속 확장을 할 수 있습니다. 그리고 분산병렬처리를 하게 됨에 따라 노드 수에 비례하여 연산의 속도가 빨라집니다. 단점으로는 SMP 아키텍처 대비 상대적으로 복잡하고 관리가 어려우며 비용이 비싸다는 점입니다. 

 

Greenplum Database는 PostgreSQL 기반의 MPP 아키텍처의 장점을 가지면서, Proprietary Commercial DB들 대비 오픈소스로서 상대적으로 TCO(Total Cost of Ownership)이 낮고 혁신의 속도가 빠르다는 장점이 있습니다. 그리고 Pivotal Software에서 기업용으로 판매, 유지보수 지원을 해주므로 기업에서 도입하여 사용하기에도 문제가 없다고 하겠습니다. 

 

Pivotal은 Agile S/W 개발 방법론과 DevOps라는 개념을 처음으로 주창했던 기업(Pivotal Labs)이며, PCF(Pivotal Cloud Foundry)라는 Cloud Platform도 개발, 판매하는 소프트웨어 개발회사입니다. 올해 2018년 4월 달에 나스닥에 상장하기도 하였습니다.  Pivotal은 소프트웨어 회사 중에서도 가장 선도적이고 적극적으로 오픈 소스 철학을 지지하고 커미터로 참여하고 있는 기업입니다. 

 

 

[ Pivotal Greenplum and Open Source Eco. ]

 

 

 

Kafka, Spring Cloud Data Flow, RabbitMQ, redis, GemFire 등을 사용하여 실시간 데이터(Fast Data)를 수집/처리하는데요, Greenplum DB와 연동하여 데이터를 수집/저장할 수 있습니다. 

 

Greenplum DB는 또한 Cloudera, Hortonworks, MapR 등의 하둡 플랫폼과도 전용 connector로 연동하여 하둡 파일 시스템 내의 대용량 데이터를 분산 병렬로 데이터를 매우 빠르게 로딩할 수도 있습니다. 

 

 

[ MPP(Massively Parallel Processing) 기반의 Greenplum 아키텍처 ]

 

 

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

특히, 초대용량 데이터를 분석하는 데이터 분석가, 데이터 과학자의 입장에서는 SQL로 데이터 전처리, 집계, 분석과 함께 SQL로 빅데이터 기계학습을 할 수 있는 MADlib, R과 Python의 다양한 통계, 기계학습 라이브러리를 Greenplum DB에 설치하여 대용량 데이터를 분산병렬로 분석, 모델 학습, 스코어링 등이 가능합니다. R, Python, Java, C, Perl 등의 프로그래밍 언어를 가지고 DB 내에서 분산병렬로 사용할 수 있는 PL/x(Procedutal Language) 기능도 지원함에 따라 복잡한 사용자 정의 함수를 프로그래밍하여 사용할 수 있는 엄청난 매력이 있습니다. 

 

보통 R이나 Python, MATLAB, SAS 등으로 데이터를 분석할 때 DB로 부터 데이터를 내려받고, 다시 로딩하고하고, 분석 결과를 다시 DB로 옮기고 하는데 엄청나게 많은 시간이 소요되며, 시스템 운영 상에도 복잡성을 높여 관리의 어려움을 가중시키곤 합니다. 그리고 R, Python 등을 사용하려면 분석 컴퓨터의 디스크, 메모리가 감당할 수 있는 수준의 데이터 양만 가지고 분석을 할 수 있으므로 보통 샘플링한 데이터를 가지고 분석을 하게 됨에 따라 분석의 정확도(과적합 위험)를 제약하는 한계도 가집니다. 

 

그런데 Greenplum Database를 사용하면 In-Database 에서 데이터의 이동 없이 초대용량 데이터를 분산병렬처리로 분석, 기계학습할 수 있습니다. 

 

 

[ Greenplum : In-Database 정형 & 비정형 데이터 통합 분석 플랫폼 ]

 

 

 

또한 Greenplum DB는 정형데이터 뿐만 아니라, 텍스트 데이터(w/ Solr 기반 GPText), 지리데이터(w/ PostGIS), 그래프데이터(MADlib) 분석도 하나의 DB 안에서 정형 데이터와 연계하여 통합 분석, 기계학습이 모두 가능함에 따라 분석의 자유도와 그동안은 찾을 수 없었던 새로운 인사이트를 도출할 수 있는 매우 강력한 차세대 분석 플랫폼입니다. 

 

Greenplum DB는 On-premise 뿐만 아니라 가상화 환경 위에 Private Cloud, Public Cloud (Amazon AWS, Google Cloud, Microsoft Azure) 위에서도 구동 가능합니다. (도커 컨테이너 기반 Greenplum 은 '18년 하반기)

 

 

[ On-premise, 가상화 환경, 클라우드 환경에서 모두 구동되는 Greenplum ]

 

 

 

 

초대용량의 정형 & 비정형 데이터를 망라해서 통계분석, 기계학습을 필요로 하는 기업, 데이터 과학자, 데이터 엔지니어라면 Greenplum DB는 첫번째로 꼽을 수 있는 차세대 분석 플랫폼이라고 할 수 있습니다. 

 

다음번 포스팅에서는 Greenplum DB에 MADlib, PL/R, PL/Python 을 설치하여 Docker Image로 만들어서 Docker Hub에 올리는 방법을 소개하겠습니다. 

 

많은 도움이 되었기를 바랍니다. 

 

[Reference site]

(1) https://pivotal.io/

(2) https://network.pivotal.io/

(3) https://greenplum.org/

(4) https://github.com/greenplum-db

(5) http://madlib.apache.org/

(6) https://gptext.docs.pivotal.io/

(7) Greenplum Database: The First Open Source Data Warehouse (https://www.youtube.com/watch?v=E11aE38YoQ0)

 

마지막으로 Pivotal의 Greenplum DB product manager인 Ivan Novick의 유튜브 발표 자료 공유합니다. 

 

 



출처: https://rfriend.tistory.com/377 [R, Python 분석과 프로그래밍의 친구 (by R Friend)]

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
공지 오라클 기본 샘플 데이터베이스 졸리운_곰 2014.01.02 86308
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 78760
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 95507
72 [R library] library(XML) # install.packages("XML") 인스톨 에러 졸리운_곰 2023.05.06 1178
71 [R 데이터 분석] Titanic: Machine Learning from Disaster (타이타닉 생존 예측) file 졸리운_곰 2023.04.29 1179
70 [R 데이터 분석] R 유명한 패키지 정리 졸리운_곰 2023.04.24 1906
69 [R 데이터 분석] Shiny : 대시보드 배포하기 file 졸리운_곰 2023.03.19 1415
68 [stat(통계) R 언어] 유명하고 많이 사용하는 R 패키지 정리 졸리운_곰 2022.04.19 1299
67 [R 데이터 분석] anaconda에서 R 사용하기 file 졸리운_곰 2022.01.16 1307
66 [R 데이터 분석] Using C/C++ in R , R언어에서 C/C++ 사용하기 졸리운_곰 2021.11.21 1648
65 [데이터 통계분석 R언어] Shiny 웹앱 개발 졸리운_곰 2021.02.14 1389
64 How to Deploy Interactive R Apps with Shiny Server file 졸리운_곰 2021.02.13 1216
63 [통계, 데이터분석 언어 R] R Shiny Server를 사용해 보자. 졸리운_곰 2021.02.13 1416
62 통계분석툴 R & MongoDB 연동 방법 file 졸리운_곰 2020.12.12 1823
61 Reading OECD.Stat into R file 졸리운_곰 2019.04.04 1871
60 Scrape OECD Data by R lang : R언어로 OECD.net 데이터 가져오기 졸리운_곰 2019.04.04 1485
59 윈도우에서 통계 분석 프로그램 R Project 활용 방안 file 졸리운_곰 2018.12.24 1699
58 C#과 R을 연동하기 file 졸리운_곰 2018.12.24 1556
57 Use R in C# : C#에서 R 사용 졸리운_곰 2018.12.24 1549
56 R 언어_ 범주형 자료(factor) 함수 사용 file 졸리운_곰 2018.12.22 1665
55 R - 도수분포표/교차표, table( )함수 file 졸리운_곰 2018.12.22 1429
54 주피터 노트북에 R 커널 설치하기 + 아나콘다 설치 file 졸리운_곰 2018.12.21 2316
53 R기초입문_r_book_mac_v3.pdf file 졸리운_곰 2018.12.20 1593
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED