본문 바로가기
BI/빅데이터

빅데이터 뉴스 레터 2022년 1분기

by wizmusa 2022. 4. 28.

회사에서 공유했던 빅데이터 뉴스레터를 보관차 올립니다. 2022년 빅데이터 주요 트렌드와 데이터레이크 구축 관련한 조언을 간추려 보았습니다.


최근에 한화에서 쿠버네티스 기반으로 한 빅데이터 플랫폼을 완성하여 공개했습니다.

 

 

012
NILE: 한화시스템에서 오픈소스를 활용하여 개발한 빅데이터 플랫폼

보시면 어디에선가 보신 느낌을 받으실 수 있을 겁니다.

롯데정보통신의 오픈소스 기반 멀티 클라우드 지향 AI/빅데이터 플랫폼 AiNSWER 아키텍처

저희 팀에서 개발한, '오픈소스를 기반으로 한 멀티 클라우드 지향 AI/빅데이터 플랫폼 AiNSWER 아키텍처와 유사한 부분이 많습니다. 이러한 아키텍처가 트렌드에 부합한다고 보시면 좋겠습니다.


데이터 레이크를 하는 이유와 데이터 엔지니어링이 중요한 이유를 쉽게 설명한 글이 있어 공유합니다.

 

데이터 아키텍처의 변화

데이터 엔지니어링을 왜 배워야 하는지에 대한 글을 아직 읽지 않으신 분들은 아래 링크를 통해 읽고 오시면 좋을 것 같습니다~ https://data-engineer-song.tistory.com/1 실무 AI 프로젝트 - 분석보다 엔지

data-engineer-song.tistory.com

글 말미에도 언급이 나오지만, 관계형 DB가 없어져야 한다는 얘기는 아닙니다. 이전처럼 맹목적으로 익숙한 관계형 DB만을 쓸 게 아니라 용도에 맞게 저장소를 구성해야 다양한 비즈니스 니즈를 수지타산을 맞춰 가며 수용할 수 있습니다.


이 글에는 참고할 만한 그림, 구성도, 구조도가 좀 있습니다.

 

 

Data Architecture Revisited: The Platform Hypothesis

Software systems are increasingly based on data, rather than code. A new class of tools and technologies have emerged to process data for both analytics and ML.

future.a16z.com

데이터 인프라의 트렌드 변화

이 그림에 나온 솔루션은 태반이 퍼블릭 클라우드 개념의 상용 솔루션입니다만(부분부분 오픈소스), 거버넌스 빼고는 (롯데정보통신) AiNSWER 아키텍처에서 다루는 오픈소스 솔루션으로도 대응이 됩니다. 물론 수지타산만 맞는다면 스노플레이크델타레이크 같은 상용 솔루션을 전략적으로 도입해도 되겠지요.

 


 

아시다시피 데이터 가상화(virtualization), 데이터 연합(federation) 등으로 불리는 개념이 있습니다. 데이터 웨어하우스/마트에 데이터를 일일이 적재하지 않고 이기종 데이터 원천에 대해 SQL 형식 질의를 하는 솔루션군을 이렇게 부릅니다. 이기종 데이터를 join하는 질의까지 가능하니 쓰임이 많습니다.

 

상용으로는 TIBCO 솔루션(https://www.tibco.com/reference-center/what-is-a-data-federation), SAP HANA 등이 있고, 오픈소스 계열로는 Apache Drill, Apache Impala, 나중에는 Hive도 나왔으나 Facebook이 주도한 Presto를 우선 권장합니다. (https://prestodb.io/) 제일 다양한 데이터 원천을 지원하면서(https://prestodb.io/docs/current/connector.html), - Hadoop Distributed File System (HDFS), Amazon S3, Cassandra, MongoDB, HBase, relational data sources such as MySQL, PostgreSQL, Amazon Redshift, Microsoft SQL Server, Teradata 등 - Hadoop에 종속적이지 않고 쿠버네티스를 지원합니다. (https://ahana.io/blog/presto-on-kubernetes/ & https://ichi.pro/ko/presto-with-kubernetes-mich-s3-baepo-85925791605834)

 

당연히 여러 클라우드에서 Presto를 직접 제공하거나 원활하게 사용하는 사례가 많습니다.

Presto를 원활하게 쓰려면(join 연산, index) Presto를 구동하는 서버 혹은 VM의 자원을 미리 넉넉하게 확보하거나 쿠버네티스를 통해 유연하게 쓰도록 구성해야 합니다.

 

더불어 운영 DB에 질의해야 한다면, 지나친 부하를 주지 않도록 질의하거나 사전에 해당 데이터 원천에서 Presto가 사용할 interface 계정에 관련한 제한 설정을 해둬야 합니다. 더불어 원격지 데이터 원천이라면 네트워크 대역폭도 고려해야 합니다. N/W QoS 설정이 미진한 곳은 네트워크 부하로 인해 마비를 초래할 수도 있습니다.

 

단순, 단기간, 소용량, EDA용 질의는 Presto를 쓰더라도 쓰임이 많은 데이터 원천은 데이터 레이크나 데이터 웨어하우스/마트에 데이터를 적재할 필요가 있겠습니다.

 

비교적 최근 들어서는 해당 개념을 확장하여 data fabric이라고 부르는 솔루션군이 생겼습니다.

 

[기고] ‘데이터 패브릭(Data Fabric)’이 필요한 이유 - 컴퓨터월드

[컴퓨터월드] 폭발적으로 증가하는 데이터의 홍수 속에서 기업들은 실제 비즈니스에 중요한 인사이트를 주는 데이터를 확보하기 위해 고군분투 중이다. 그러나 광범위하게 분산된 데이터의 효

www.comworld.co.kr

Data federation + Data discovery/Catalog 혹은 거버넌스 + 포탈(계정/권한 관리/BI) 개념 정도로 보시면 되겠습니다. 오픈소스를 쓴다고 했을 때에 위에서 소개한 Presto, 이전에 언급했던 Data discovery/catalog(ckan, Amundsen, DataHub 중 택일 제안), OLAP(Superset 혹은 Metabase 중 택일 제안)을 합하면, 현재 AiNSWER 아키텍처 개념 안에서 데이터 패브릭 기능'까지는' 구현이 됩니다. 다만, 이미 말씀 드렸다시피 사용자 단 계정/권한 관리 포탈은 신규 개발이 필요합니다. (관리자 단 설치/운영 화면은 제공)

 

상용 솔루션(IBM, NetApp, 효성히다치, HPE, Tibco 등)은 이런 면에서 SAP 수준의 완성도를 가지고 있을 것으로 예상합니다. ROI 타당성이 관건이겠습니다.


3월 15일 오후2시~3시에 SK C&C에서 AutoML 세미나를 합니다. AutoML은 정형 데이터로 예측 모델을 만듦에 있어 진입장벽을 낮추거나 성과를 크게 높이는 방안입니다.

 

This is Enterprise NFT Platform

This is Enterprise NFT Platform

www.skdna2022.com

Professional Assets - SAP Business content를 연상하게 함

SK '주식회사'는 위 그림과 같은 비즈니스 도메인 별 예측/최적화 모델(asset)을 가지고 있다고 발표했습니다.


Enterprise Data Warehouse 분야 권위자인 Bill Inmon이 설명하는 데이터 레이크 개념서입니다. 데이터 레이크 개념의 발전, 데이터 과학자와 최종사용자, 데이터 유형, 환경/인프라, 구축방법론, 시각화 등 데이터 레이크를 구성하는 요소를 빠짐없이 다룹니다.

 

Building the Data Lakehouse - Databricks

데이터 웨어하우스의 창시자, Bill Inmon과 함께 차세대 데이터 아키텍처를 살펴보세요.

databricks.com

진입장벽과 극복방안, 거버넌스 같이 중요한 조언도 있으니 훑어보거나 숙독하게 하시면 좋겠습니다. ^^


조직의 데이터 분석 역량을 극대화하거나, 뜬구름 잡지 않고 ROI라도 나오게 하려면, 조직이 보유한 데이터를 파악하여 있는 데이터를 잘 쓰고 없는 데이터는 확보해야 합니다. 보안도 신경 써야 하지요.


이 문제는 해결하기 위해 흔히 도입하려고 했던 방법론은 메타 데이터 관리, 나아가서는 데이터 거버넌스였습니다. 데이터 거버넌스부터 언급하자면 성과를 인정받기 힘든 분야라 구축, 운영 실무자만 고통스러웠던 탓에 대체로 실패했습니다. 메타 데이터 관리는 RDB를 적극적으로 통제하고 운영하는 조직은 어떻게든 유지해 왔으나 (개발자만 불편하면 됨), 빅데이터 세상이 오자 조직 전반의 데이터를 관리하지는 못하기에 위상이 낮아졌습니다. 더불어 비정형 데이터와 외부 데이터까지 관리해야 할 니즈에 대응하기 위한 방안을 모색하게 되었습니다.

 

데이터 카탈로그와 데이터 디스커버리 개념은 크게 차이가 나지는 않습니다만, 적당히 조직 내외부의 데이터를 파악하고 목록화하며 검색하고 탐색하겠다는 니즈를 충족합니다. 대부분 preview 기능도 제공하므로, 높은 수준으로 데이터를 통제하지는 못해도 돌아가는 상황은 파악할 수 있도록 지원합니다.

AiNSWER 아키텍처에서는 데이터 카탈로그/디스커버리 후보군만 선정한 단계이며, 빅데이터사업부문과 하나로 확정하고 싶습니다. 제 소견은 아래 항목 중 가장 나중에 나온 1) DataHub 2) ckan이긴 합니다. ^^


Vision, STT, TA 모두 딥러닝의 강력함을 근간으로 발전하는데, 정형 데이터를 활용하는 예측, 최적화는 여전히 전통적인 통계가 막강하군요. 그렇다 해도 통계학자들이 익힌 머신러닝, 딥러닝 역량이 임계점을 넘으면 세상이 또 달라질 거라는 생각도 듭니다.

 

통계는 강력해

지난 20대 대선은 특이하게도 지상파 3사 (KBS, MBC, SBS)와 JTBC가 출구조사를 따로 진행했습니다. 공교롭게도 두 조사의 예측결과는 달랐고 승패가 갈리고 말았습니다. 승자인 지상파 3사 출구조사

wizmusa.tistory.com


MS Power BI 사례입니다. 국내 사례가 많습니다.

 

Data & BI References

 

www.mavencloudservice.com


오픈소스 OLAP 솔루션 도입방안

아래 두 가지 방안을 검토하시길 권합니다.

  1. Apache Superset (https://superset.apache.org/)
    • 오픈소스 OLAP 관련 주류.
    • OLAP 기능을 구동하기 위한 DB는 이기종을 동시 활용 가능: 오픈소스/상용 DB 연결성 좋음. Presto, Elastic Search, SAP HANA 등 지원 원활. Yellowbrick은 PostgreSQL JDBC로 연결.
    • 네이버 클라우드에서도 활용: Data Analytics Service (https://guide.ncloud-docs.com/docs/das-das-1-1) - 관리자 화면은 Superset 화면을 그대로 사용.
    • 커스터마이징: 네이버 클라우드처럼 계정/권한 관리 외에 개발할 범위 도출 필요. 로고 등 브랜딩 사례/자료 있음.
  2. Metatron Discovery (https://sktelecom.github.io/project/metatron/)
    • SK텔레콤이 오픈소스를 엮어 만든 OLAP 플랫폼
    • 설명서: https://metatron-app.github.io/metatron-doc-discovery/
    • 대시보드(OLAP/차트 리포트), 워크북(대시보드 그룹), 데이터 전처리, 데이터 탐색, 워크플로, 이상탐지, 계정/권한 관리, 시스템 모니터링 기능 기본 제공 + 주피터 노트북 연결 기능 제공 (AiNSWER 아키텍처 연결 가능)
    • OLAP용 DB로 Druid 사용 (https://druid.apache.org/)
      • 기본적으로 OLAP 리포트를 만들려면 ETL을 통해 원천 데이터를 Druid DB에 가공/적재.
      • 데이터 워크벤치를 통해 MySQL, PostgreSQL(+Yellowbrick), Hive, Presto 직접 질의는 가능.
    • 데모: https://metatron.app/quick-demo/
    • 커스터마이징: 브랜딩 방안 미흡 (개발 소스 조사 필요)

어제는 오픈소스 OLAP 솔루션에 대해 말씀 드렸는데, 오늘은 MS Power BI 관련해서 보태려고 합니다.
세계 최고의 BI/OLAP 솔루션이라 해도 과언은 아니고 (https://powerbi.microsoft.com/en-us/blog/microsoft-named-a-leader-in-2021-gartner-magic-quadrant-for-analytics-and-bi-platforms/), 프로세스 마이닝 기업을 인수하여 MS BI에 통합하려고 하는데, 기능으로만 놓고 보았을 때에는 경쟁자가 없을 정도가 아닐까 합니다.

 

MS가 프로세스 마이닝 기업 '미닛'을 인수하는 이유

(사진=미닛)   마이크로소프트(MS)가 슬로바키아의 프로레스 마이닝 전문 기업인 ‘미닛(Minit)’을 인수하며 프로세스 자동화 시장 공략에 나

www.bloter.net

꼭 MS 생태계에 들어가지 않더라도 프로세스 마이닝은 기존에 써먹지 못하던 데이터를 조합하여 쓸 수 있게 하는 특장점을 가지고 있습니다. 빅데이터 관련해서도 먹거리가 되지 않을까 합니다.

 

Process Mining Workshop

 

static.puzzledata.com


추천 드리는 세미나입니다.

Databricks Korea Lakehouse Day

데이터브릭스 코리아 공식 런칭 버츄얼 이벤트

https://databricks.com/p/webinar/korea-day-webinar?utm_campaign=7013f000000Ll2yAAC

전세계에서 가장 많이 사용되는 오픈 소스 중의 하나인 Apache Spark, Delta Lake, MLflow 창시자들이 공동 설립한, 세계 최초 클라우드 기반 레이크하우스 서비스, 데이터브릭스가 한국에 진출하였습니다!

본격적인 한국에서의 비즈니스 시작을 위하여 데이터브릭스를 소개드리는 공식 런칭 이벤트를 4월 20일 수요일 오후 2시에 진행합니다.


AiNSWER 아키텍처의 웹 브로셔입니다.
https://rnd.ldcc.co.kr/webportal/product/21/page/83

 

롯데정보통신RND

AI 빅데이터 아키텍처, AiNSWER Architecture AI와 빅데이터 분석, 어디서부터 시작할지 막막하셨나요? ARAI 아키텍처로 효율적으로 시작해보세요. 프로젝트 목표 달성을 위한 맞춤형 아키텍처를 구성을

rnd.ldcc.co.kr

구축사례와 적용효과까지 한 번은 훑어봐 주시길 바랍니다. 😘


AWS Athena는 ACID 트랜잭션 기능까지 제공하기에 AWS에서는 하둡을 쓸 필요가 거의 없습니다.
https://docs.aws.amazon.com/ko_kr/athena/latest/ug/acid-transactions.html

 

Athena ACID 트랜잭션 사용 - Amazon Athena

Athena ACID 트랜잭션 사용 ACID 트랜잭션을 사용하면 여러 사용자가 Amazon S3 객체를 어토믹(atomic) 방식으로 동시에 안정적으로 추가하고 삭제할 수 있으며 데이터 레이크에 대한 쿼리를 일관되게 읽

docs.aws.amazon.com

Athena로도 update문이 가능하다는 얘기는, append 위주의 기존 하둡 분산 파일 시스템보다 훨씬 편리하며, small file 문제 같은 게 없는(https://data-flair.training/forums/topic/what-is-small-file-problem-in-hadoop/) 운영 리스크가 적다는 의미가 됩니다. AWS S3 서비스가 가히 혁명적이라 해도 과언이 아닙니다.

Athena가 좋아지기 전에는 Snowflake(https://aws.amazon.com/ko/financial-services/partner-solutions/snowflake/), Delta Lake같은 솔루션(https://databricks.com/kr/blog/2019/09/03/transform-your-aws-data-lake-using-databricks-delta-and-aws-glue-data-catalog-service.html)을 써야 했습니다.

Delta Lake

On-premise에서는 Delta Lake를 쓰거나 Yellowbrick 같은 MPP를 쓰는 게 여러모로 속편하고 효과적입니다.
https://medium.com/@achilleus/delta-lake-acid-transactions-for-apache-spark-2bf3d919cda

 

Delta lake , ACID transactions for Apache Spark

An open source storage layer by Databricks, creators of Spark to create easier and reliable Enterprise Data Lakes both On prem and Cloud.

medium.com

[데이터 원천]-[오브젝트 스토리지 & (Delta Lake or AWS Athena) - 데이터 웨어하우스]-[MPP 혹은 AWS RedShift류 - 데이터 마트]

같은 구조가 데이터 레이크의 흔한 아키텍처입니다.


아직까지 하둡에 전시효과는 있습니다만, 리눅스 명령어로 가능한 일이 많습니다.
물론 데이터 용량이 페타바이트 규모가 되면 Spark 정도 되는 특별한 방법을 꼭 써야 하지요.


노코딩 웹 크롤링 서비스입니다.
정기적이고 대용량인 크롤링은 파이썬으로 개발하거나 상용 솔루션을 쓰는 게 낫습니다만, 분석가 차원에서 파일럿 수준으로 크롤링하기에는 무료 버전으로도 쓰기 편한 도구입니다.
https://www.parsehub.com/


데이터 레이크를 논할 때에 결국은 중요한 요소는 데이터 카탈로그, 데이터 디스커버리입니다. 이전에 CKAN, DataHub를 말씀드린 적이 있지요. 관련하여 볼 만한 글이 있어 소개 드립니다.

데이터 사이언스 워크플로우의 중요 부분인 Data Discovery Platform 들에 대한 현황을 잘 정리한 자료가 있어서 간단 요약 번역

  • Data Discovery Platform(DDP)의 모든 것
  • Nemo, Amundsen, DataHub 등이 필요한 이유와 제공하는 기능들을 정리
    "왜 DDP가 필요한가요? 그게 무슨 일을 하죠?"
    ㅤ→ 조직 내에서 필요한 데이터가 어디 있는지 빠르게 검색하고, 어떤 건지 이해하고, 사용 방법을 배우게 도와 주는 플랫폼

 

[ 데이터를 찾을 때 주로 묻는 질문들 ]
ㅤ→ "_____" 데이터는 어디서 찾을수 있나요? : 어떤 단어로 검색해야할지도 모를 때도 있음. click, page view 등의 단어로 테이블/컬럼명을 검색
ㅤ→ 이 데이터는 뭔가요? : 이 테이블은 어떤 컬럼을 가지고 있나요, 어떤 데이터형이고, 이 값들이 뭘 의미하나요 ?
ㅤ→ 누구한테 접근 권한을 요청해야 하죠 ? : 데이터의 오너십과 권한 정보 역시 메타데이터의 일부가 되어야 함
ㅤ→ 이 데이터는 어떻게 생성 되었나요? 신뢰할수 있는 건가요? : 누가 만들고, 어떤 경로로 생성되었나요? 분석가가 월간으로 수작업한건가요? 회사내에서 얼마나 쓰이죠? 이 데이터의 계보는 ?
ㅤ→ 이 데이터를 어떻게 사용해야 하죠? : 어떤 컬럼들이 관련이 있나요? 어떤 테이블이랑 조인해야 하죠? 데이터를 정리하려면 어떤 필터를 써야하죠? 이 테이블을 주로 사용 하는 사람은 누군가요? (그 사람에게 물어 보면 되니까) 어떤 컬럼을 주로 사용하죠 ?
ㅤ→ 이 데이터가 얼마나다 리프레시 되나요? : 종종 지연된다면 얼마나 자주 일어나나요? 데이터의 기간은 얼마나 되나요? 몇주밖에 되지 않았으면 머신러닝에 적합하지 않을거 같아요.

 

[ 데이터를 찾고, 이해하고, 사용하기 위한 기능들 ]

  • 데이터를 검색 또는 더 똑똑한 방법들로 찾기
    ㅤ→ 원하는 데이터를 찾기위한 기본 방법은 컬럼명,테이블과 컬럼 설명, 사용자가 입력한 설명이나 코멘트 등의 메타데이터를 ElasticSearch 에서 검색
    ㅤ→ 많은 검색결과가 있다면 이에 대한 우선순위를 매기는게 필요함. Lyft와 Spotify의 경우는 테이블이 얼마나 많이 사용되는가로 순위를 결정. 즉, 쿼리로그를 파싱하여 테이블 사용량을 ElasticSearch의 랭킹정보로 넣음.
    ㅤ→ Facebook 의 Nemo는 이걸 더 확장. 검색어를 spaCy로 자연어 파싱, 소셜그래프 검색에 사용하는 Unicorn 으로 kNN기반 스코어링등을 통해서 랭킹을 결정
    ㅤ→ 또 다른 방법은 추천을 통한 것. 조직과 팀내에서 가장 많이 접근하고 사용하는 데이터를 추천
  • 데이터를 스키마, 미리보기, 통계, 계보(Lineage)로 이해하기
    ㅤ→ 테이블을 이해하는 기본 정보는 데이터 스키마 : 컬럼명, 데이터 타입, 설명(Description)
    ㅤ→ 사용자가 읽기 권한이 있다면 데이터의 미리보기(100줄 정도)를 제공 가능
    ㅤ→ 미리 계산된 컬럼 단위의 통계도 제공 : 컬럼별 Row수, Null인 Row수, 최대/최소/평균/중간값/표준편차, 고유한 Row수, 날짜 컬럼이라면 데이터의 전체 기간 범위
    ㅤ→ 데이터 계보를 제공해서 앞뒤 의존성 관계도 확인 : ETL 작업(Airflow 로 스케줄링 되는)의 경우 스케줄/지연 여부등을 확인할수 있음.
  • 다른 사용자의 이용형태를 통해서 데이터 사용법을 배우기
    ㅤ→ 테이블을 찾고 나면, 어떻게 테이블을 이용하도록 도와줄수 있을까 ? 간단한 방법은 그 테이블과 관련된 사람들을 보여주는 것
    ㅤ→ 데이터 소유자는 권한을 부여해 줄수도 있고, 자주 사용하는 사람들은 데이터에 대한 소개나 특이점을 알려줄 수 있음 : Amundsen 과 DataHub는 테이블에 사람을 엔티티로 연결하는게 가능
    ㅤ→ 하지만 이렇게 그 데이터를 잘 아는 전문가만을 활용하는건 병목현상이 생길수 있으니, 추가적인 메타데이터를 연결해주는게 더 Scalable 한 방식
    ㅤ→ 사용자가 가장 관련성이 높은 컬럼을 찾을수 있도록, 각 열의 사용통계를 제공하는게 가능.
    ㅤ→ 또한 해당 테이블과 조인할 테이블이 어떤건지 알기 위해, 주로 조인되는 테이블 목록과 조인하는 열들을 제공하면 편리. 이런 데이터들은 쿼리 로그 파싱을 필요로 함
    ㅤ→ 데이터 사용에 대한 더 자세한 정보를 제공하기 위해서는 해당 테이블에 대한 최근 쿼리를 제공하는게 가능하고, 이를 통해서 실제로 어떤 데이터를 필터링 하는지를 알 수 있음.

ㅤ→ 데이터 계보(Lineage)도 유용. 현재 테이블을 사용하는 다운스트림 테이블에 대해 알수 있고, 그걸 생성하는 쿼리도 보여줌. 이를 통해서 테이블이 다른 유스케이스에 어떻게 이용되는지를 확인 가능
ㅤ→ 이렇게 알게된 다운스트림 테이블이 내 목적과 일치할 경우 그걸 이용하면 계산/저장 비용을 줄일 수 있게됨.
ㅤ→ Twitter 의 Data Access Layer , Uber의 Databook, Netflix 의 Metacat 등이 Lineage를 지원

ㅤ→ 데이터를 실제로 사용하기 전에, 얼마나 자주 업데이트 되는지도 알고 싶어함. 데이터가 어떤 시간단위로(일/시 등) 파티션 되어있는지 명시하는 것이 도움이 됨.
ㅤ→ DDP는 Airflow 같은 플랫폼과 연계해서, 스케줄링된 ETL 작업들을 조사하고, 얼마나 걸리는지 등을 볼 수 있음.

 

[ 각 DDP 들의 상위 비교 ]
ㅤ→ 모두 ElasticSearch 또는 Solr 기반의 free-text 검색 지원. Amundsen 과 Lexikon 은 홈페이지에서 추천 기능을 제공
ㅤ→ 모두 기본 테이블 정보(스키마,설명)는 표시. Amundsen 과 Databook 은 데이터 미리보기와 컬럼통계를 제공
ㅤ→ 대부분의 플랫폼이 데이터 Lineage 기능은 내장. Amundsend이 현재는 지원안하는데 2020 로드맵에 있음
ㅤ→ 5개의 플랫폼이 오픈소스로 공개

 

[ 오픈소스 DDP들 비교 ]

  • DataHub (LinkedIn) : https://github.com/linkedin/datahub
    ㅤ→ 2020년 2월에 공개
    ㅤ→ 검색, 테이블스키마, 오너십, 계보 기능 지원
    ㅤ→ Dataset, User, Group 세개의 엔티티 지원. Schemas/Jobs/Metrics/Dashboards 등의 엔티티 추가 예정
    ㅤ→ Hive, Kafka, RDB 메타데이터 지원 ( 내부에선 더 많이 지원하며, 더 공개될 수도 있음 )
    ㅤ→ Expedia, TypeForm 등이 채택했으며 MS,Morgan Stanley, Orange Telecom, ThoughtWorks 등도 POC 중
  • Amundsen (Lyft) : https://github.com/amundsen-io/amundsen
    ㅤ→ 2019년 10월에 공개
    ㅤ→ 검색, 추천, 미리보기/컬럼통계/소유자/주사용자 들이 잘 표현된 테이블 상세 페이지 지원. 계보기능은 없지만 추가예정
    ㅤ→ Data Quality System 과의 연동도 제공 예정 (아마도 Great Expectations - https://greatexpectations.io/)
    ㅤ→ 훌륭한 커뮤니티가 있음 : BigQuery/Redshift/Apache Atlas 등의 연동등을 개발해서 기여함
    ㅤ→ 15종 이상의 데이터 소스( Redshift, Cassandra, Hive, Snowflake 및 각종 RDB), Tableau,Redash, Mode Analytics 대시보드, Airflow 등과 연동을 지원
    ㅤ→ 문서화도 잘 되어있고, Docker 로 로컬에서 테스트 가능
    ㅤ→ Asana, Instacart, iRobot, Square 를 포함 30개 이상의 조직이 도입.
    ㅤ→ 2020 7월에 Linux AI 재단의 새 인큐베이션 프로젝트로 조인.
  • Metacat (Netflix) : https://github.com/Netflix/metacat
    ㅤ→ 2018년 6월에 공개
    ㅤ→ 검색, 스키마 보기, 비용과 공간을 분석하는 메트릭 포함.
    ㅤ→ 테이블/파티션 변경에 대한 노티 알림 기능이 있음. 비용등의 문제로 지워질때 알림을 받는게 가능.
    ㅤ→ Hive, Teradata, Redshift, S3, Cassandra, RDS 연동 지원
    ㅤ→ 스키마/메타데이타의 버저닝/검증 기능 작업중이라고 밝힌바 있음.
    ㅤ→ 오픈소스 이긴 하지만, 문서가 하나도 없어서 도입한 회사는 없음.
  • Marquez (WeWork) : https://github.com/MarquezProject/marquez
    ㅤ→ 2018년 10월에 공개
    ㅤ→ 데이터 품질과 계보에 집중
    ㅤ→ 데이터 거버넌스, Great Expectations 를 통한 데이터 품질, 데이터셋과 잡에 대한 카탈로그 지원
    ㅤ→ WebUI 및 Airflow 컴포넌트 및 Java/Python 클라이언트 제공
    ㅤ→ Docker로 로컬에서 테스트 가능하지만 문서는 많지 않음
  • Apache Atlas (Hortonworks) : https://atlas.apache.org/
    ㅤ→ 2015년 7월에 Data Governance Initiative의 일부로 시작
    ㅤ→ 2018년 6월에 1.0이 공개되고 현재 2.1
    ㅤ→ 주 목표는 데이터 거버넌스로 조직이 보안/컴플라이언스 요구사항을 준수하도록 도와주는 것.
    ㅤ→ 자원에 대한 태깅, 다운스트림 데이터셋에 대한 태그 전파, 메타 데이터 접근에 대한 보안등 풍부한 기능을 가지고 있음
    ㅤ→ 메타데이터 변경 알림 기능도 가능
    ㅤ→ free-text 검색, 스키마 상세 보기, 데이터 계보 지원
    ㅤ→ 고급 검색 기능으로 SQL 과 비슷한 구문으로 검색하는 것도 지원
    ㅤ→ HBase, Hive, Kaflka 등의 메타데이터 소스와 연동 지원
    ㅤ→ 메타데이터를 REST API로 생성/수정도 가능
    ㅤ→ 문서화도 잘 되어있음
  • ING가 Atlas 와 Amundsen 을 같이 도입한 사례는 흥미로움 https://medium.com/wbaa/facilitating-data-discovery-with-apache-atlas-and-amundsen-631baa287c8b
  • 완전한 DDP는 아니지만 오픈소스 Whale 은 데이터웨어하우스의 내용을 마크다운으로 인덱싱 하는 초간단 DDP 도구로 검색,수정,버저닝등을 지원
    ㅤ→ 개발자용 DDP 도구로 살펴볼만함. https://github.com/dataframehq/whale
  • 머신러닝처럼 섹시하진 않지만, 데이터 디스커버리는 데이터 사이언스 워크플로우의 중요한 첫 단계

당장은 딥러닝을 할 일은 없더라도, Python으로 Scikit-Learn을 기반으로 한 통계, 머신러닝 모델을 개발하거나, R은 확실히 쓰겠지요.
예측, 최적화 모델을 개발할 때에 개발 소스 형상관리와는 달리 매개변수는 이력을 관리하기가 힘들기에 이런 저런 솔루션이 나와 있습니다.
그중에 아파치 스파크에 주로 공헌하는 데이터브릭스의 MLflow를 소개합니다.
https://lsjsj92.tistory.com/623

 

MLflow란? 머신러닝 라이프 사이클을 관리하는 mlflow 사용법 및 예제

포스팅 개요 본 포스팅은 머신러닝(machine learning)의 라이프 사이클을 관리해주는 mlflow에 대해서 정리하는 포스팅입니다. mlflow란 무엇이고 어떻게 사용하는지 예제(example)와 함께 정리하고자 합

lsjsj92.tistory.com

MLflow 웹 화면

이 화면과 같이 매개변수 이력과 성능을 웹 화면을 통해 조회하고 관리할 수 있습니다.
AiNSWER 아키텍처에도 MLOps의 일환으로 MLflow를 도입하여 구성요소로서 관리하는 중입니다.

 

https://www.mlflow.org/docs/latest/R-api.html
R에서도 설치하여 쓸 수 있으니, 꼭 활용해 보시길 바랍니다.

library(mlflow)
install_mlflow()


데이터레이크를 지속 가능하게 하는 건 결국 사람.

퇴사를 앞두고 드릴 말씀은 다 드렸다 싶습니다.
부문과 팀을 넘나드는 팀플레이를 기원합니다. 무엇보다 건강하시길 바랍니다.

반응형