Sharded MySQL Cluster 도입 배경과 개발기 (부제: 우당탕탕 좌충우돌 개발기) 안녕하세요, 지마켓 Item Engineering 팀입니다. 저희는 지마켓 & 옥션의 상품 등록/관리와 관련된 플랫폼을 담당하고 있습니다! 저희 팀은 대량의 상품 데이터와 대규모 트래픽을 처리해야 하며 로직이 (꽤) 복잡한 부분이 있는 상품 데이터들을 운영하고 있습니다. MSSQL을 주로 사용하지만 이번에 샤딩 기법을 사용한 MySQL 클러스터를 도입하게 되었습니다! 이름하야 '루미큐브' 프로젝트! 하지만 해당 프로젝트를 진행하며 많은 시행착오가 있었는데요.. 왜 MySQL을 도입하게 되었는지, 샤딩 기법을 사용하고 있는데 샤딩이란 무엇인지, 샤딩을 쉽게 처리하기 위해 사용한 '샤딩스피어'란 무엇인지, 그리고 ..
안녕하세요 Data Platform Engineer 조광진입니다. 저희 Platform Technology 팀은 지난 수년간 On-premise Hadoop 기반의 빅데이터 플랫폼인 'Baikal' 이란 서비스를 사내에 제공하여 전사에서 활용되는 데이터의 수집, 적재, 분석에 대해 편의성을 제공하고 있습니다. 빅데이터 플랫폼 Baikal은 On-premise 에서 Cloud Lakehouse Platform으로 전환을 앞두고 있습니다. Cloud Lakehouse Platform으로 전환하기 앞서 On-premise Hadoop 기반인 Baikal에 대해 소개하고자 합니다. Gmarket Baikal Baikal 이란 이름은 잘 아시다시피 러시아 시베리아 남쪽의 있는 세계에서 가장 오래되고 깊은 담수호 ..
안녕하세요. Carbon 팀 안세희입니다. 이 글은 Kafka 이벤트 모니터링을 진행하며 주니어 개발자로서 겪었던 트러블슈팅에 대한 이야기입니다. 여름에 입사하여 또 다른 계절인 겨울이 다가오는 시점에서 지난 미션을 떠올리며 공유드리고자 합니다. 같은 고민을 하시는 개발자분이 계신다면 부족한 내용일지라도 도움이 되었으면 좋겠습니다. 어떤 걸 모니터링해야 했을까? 해당 미션은 결제가 실패한 경우 발행되는 이벤트를 스트리밍 하여 10분 동안 3번 이상 주문에 실패한 구매자를 찾는 것이었습니다. 당시에 실제 운영하는 환경에서 Kafka를 사용해본 경험이 없어 Kafka에 집계와 모니터링을 얹은 보이지 않은 산을 마주한 기분이었습니다. 하지만 모르는 만큼 다양한 방법을 도입할 수 있다는 개발자의 패기로 아래와 ..
소개 안녕하세요:) 지마켓에서 데이터로 여러 가지 흥미로운 개발을 하고 있는 한한주입니다. 이번에 소개해 드릴 내용은 탐색적 데이터 분석 흔히 EDA(Exploratory Data Analysis)라고 불리는 분석기법에 대한 내용입니다. 처음 정제되지 않은 대용량 데이터를 마주하면 정신이 혼미해 지기 쉽습니다^^; 이럴 때 데이터 형태를 정의하고 탐색적 분석을 통해 시각화하면 좀 더 친근하게 데이터 분석을 시작할 수 있습니다. 그럼 Start! EDA란? 위키백과에 따르면 EDA는 미국의 저명한 통계학자가 창안한 자료 분석 방법론입니다. 기존의 통계학이 정보의 추출에서 가설 검정 등에 치우쳐 자료가 가지고 있는 본연의 의미를 찾는데 어려움이 있어, 이를 보완하고자 주어진 자료만 가지고도 충분한 정보를 찾..
지마켓 대기열 시스템 파헤치기 안녕하세요 VIP & Vertical 팀 김윤제입니다. VIP 파트에서 상품 상세 페이지 및 리뷰 업무를 맡고 있습니다. 이번 블로깅에서는 Auction, Gmarket에서 사용하고 있는 대기열 시스템인 Redcarpet에 대해 소개하려 합니다. Redcarpet Redcarpet은 Auction, Gmarket의 대기열 시스템으로 일시적으로 많은 트래픽이 발생하는 서비스에 과도한 트래픽의 유입을 방지해 주고 시스템을 보호합니다. 대기열 시스템 Redcarpet의 이름은 대형 홀 등의 줄을 서서 기다리는 곳에 깔린 레드카펫에서 유래되었습니다. Redcarpet의 도입이유 Big Smile Day, Big Sale 등의 이벤트 또는 인기 있는 상품에 대해 트래픽이 몰리는 순간..
적은 리소스 적당한 효과 개발자는 종종 레거시 시스템이나 코드를 마주할 때가 있습니다. "레거시" 는 양면적이어서 잘 돌아가고 있는 시스템이면서도 앞으로의 요구사항 변경에 수용력이 부족해 보이는 시스템이기도 합니다. 이러한 레거시와의 공존은 필연적이면서도 효과적인 공존을 위한 부단한 아이디어들을 필요로 하기도 합니다. 보통 레거시 시스템을 대할 때면 이런 문장을 머리에 두고 생각합니다. "적은 리소스만 들여서 적당한 효과를 얻을 방법이 없을까?" 항상 이런 접근만이 답이 되진 않지만 레거시 시스템은 우리에게 친절하지만은 않습니다. 조금 까탈스러운 제약이나 조건들을 가지고 있죠. 조금 지난 미션이지만 재미있게 해결했던 사례를 한번 소개하고자 합니다. 레거시 시스템 소개 우리 팀의 주요 역할은 주문 시스템의..
안녕하세요 Data Platform Engineer 조광진입니다. 2019년에 지마켓 Data Platform 팀에 합류하여 데이터 플랫폼에 관련된 다양한 업무를 진행하고 있습니다. 저희 팀에서 하는 업무에 대해 간단하게 설명드리면 글 전반적인 내용에 도움이 될 것 같아 먼저 소개하도록 하겠습니다. Hadoop 기반의 빅데이터 플랫폼인 Data Lake 활용을 통해 전사에서 활용되는 데이터의 수집, 적재, 분석에 대해 직 간접적으로 도움을 드리고 있으며, 비정형 데이터를 다양하게 활용하기 위한 Redis, Elastic Search, MongoDB 데이터 플랫폼도 운영하고 있습니다. Data Platform 팀이 사용하는 기술 스택은 아래와 같습니다. 팀 목표는 사용자들에게 안정적이고 편리한 데이터 플랫..
안녕하세요. 지마켓에서 개발자분 업무의 편의를 도모하기 위한 클라우드 플랫폼 업무를 담당하고 있는 김지형입니다. 저희 지마켓 개발 플랫폼으로서 몇 가지가 존재하는데 Fusion이라는 Openshift, Kubernetes 기반의 컨테이너 플랫폼을 개발자 분들께서 주로 이용하시지만, API 통합 관리 도구로서 API Gateway 플랫폼도 존재합니다. Nginx 프로그램을 붙여서 로드밸런싱이나 페이지 요청을 처리하는 팀이 많겠지만, Nginx Controller까지 붙여서 API 관리까지 하기에는 다소 벅찰 수 있다고 생각합니다. 본 API Gateway 이용도 API 관리의 한 가지 선택지로서 이용해볼 수 있다는 것을 알리기 위해, 또한 타사에서도 API Gateway를 적용하고자 하는 팀을 대상으로 글..