달리는 인증 서비스의 NoSQL을 바꾸자. - 전략편
안녕하세요. Seller & SD Engineering 팀 박명훈입니다. 최근 개발자로서 직접 기안한 프로젝트를 완료했습니다. 팀에서는 Couchbase를 통해 인증 서비스의 데이터를 제공하고 있었는데, 낮은 사용성 이슈와 비즈니스 정책, 서비스 관리의 여러 이유로 인해 불편함이 많았고, 이로 인해 기획자들이 업무를 진행할 때 성능 이슈로 인해 거의 사용이 불가능할 정도로 문제가 많았습니다. 대표적인 예시로 검색을 하면 5분씩 걸렸습니다. Couchbase는 MongoDB와 같이 Key-Document 구조를 가진 NoSQL 입니다. 이번 기회에 개선을 진행하며 기존의 문제를 해결하고, 성능적으로나 서비스적으로 아쉬웠던 부분을 개선했습니다. 그 과정과 결과에 대해서는 내용이 많아 크게 전략편과 실전 편으..
BackendDatabaseDevOps
이벤트 로그 체계 구축 여정
안녕하세요. 스포카의 데이터 분석가 양현승(todd)입니다. 😄 키친보드 서비스(Android, iOS) 이벤트 로그를 새로 설계하게 된 과정을 공유하려고 합니다. 로그 설계의 필요성은 많이 느꼈지만, 경험이 없었기 때문에 어떻게 시작해야할지 막막하고 걱정이 앞섰습니다. 또한 이미 조직에 로그 체계가 있었기 때문에, 기존 로그 체계의 데이터를 새로운 체계로 이전하는 과정에서 데이터 무결성 및 기타 이슈들을 고려해야했습니다. 돌이켜보면, 동료들
AndroidData AnalysisDatabaseMobileiOS
Testcontainers로 통합테스트 만들기
안녕하세요. Shopping Service Backend팀 안재열입니다.저희 팀에서는 여러 팀에서 세심하게 생성하고 관리한 상품과 관련된 데이터를 고객에게 적절하게 가공하여 상품 목록 정보를 제공하는 API를 개발하는 업무를 담당하고 있습니다. 이 과정에서 다양한 모듈을 결합하여 데이터를 가공하는 작업들을 수행하게 됩니다. 그러한 작업 중 통합 테스트를 진행하게 되는데요, 이번 글에서는 TestContainers를 활용한 통합 테스트 작성 방법에 대해 알아보겠습니다.통합테스트는 무엇인가요?통합 테스트(Integration Test)란, 서로 다른 부분들이 원활하게 작동하는지 확인하기 위해 여러 모듈을 같이 테스트하는 과정입니다. 여기서 모듈은 웹서버, WAS, DBMS, 메시지 브로커, 파일서버 등이 포..
BackendDatabaseTesting
초보 개발자를 위한 Redis Cluster Migration 가이드라인
들어가기 전에안녕하세요, Shopping Service API팀 강희정입니다.작년 여름쯤 입사하여 낯선 환경과 도메인에 적응하고, 새롭게 접한 기술들을 익혀 가느라 정신없는 나날을 보냈습니다. 업무가 어느 정도 적응되었나 싶을 겨울쯤, 저에게 굉장히 낯선 업무가 주어졌습니다.Master/Slave 구조의 Redis에서 Cluster 구조의 Redis로 migration 되니, 관련 코드 작업을 진행해 주세요.업무를 받자마자 저는, 이런 생각을 했던 것 같습니다.큰일 났다. 하나도 모르겠는데 어떡하지?전통적인 SQL 방식의 RDBMS만 사용해 본 제게 Redis는 굉장히 낯선 존재였습니다. Redis도 모르겠는데 Cluster 구조로 migration하라는 코드를 작성하라니, 어디서부터 어떻게 시작해야 할..
BackendDatabaseTools
매드업의 DMP - 프리즘(prism)을 소개합니다
안녕하세요. Adtech(Advertising technology) 스타트업 매드업 에서 데이터 엔지니어로 일하고 있는 칼리 입니다. 이번 글은 매드업의 Data Management Platform(DMP) - Prism을 소개하는 글입니다. 프리즘을 구축, 운영하며 어떤 고민을 했는지 그리고 앞으로의 방향을 확인해봅니다. 목차는 다음과 같습니다. 프리즘(Prism) 소개 프리즘으로 광고 데이터 수집, 적재 데이터 소비 프리즘 V1의 성장 한계
Data EngineeringDatabasePerformance
Redis Lua Script를 이용해서 API Rate Limiter개발
안녕하세요. Item Engineering 팀 박상윤입니다. 이번 글에서는 상품 엑셀 등록 서비스 개발하고 컨슈머에서 사용할 API Rate Limiter 개발하면서 발생한 이슈를 정리한 글입니다. 이 글은 아래와 같이 구성되어 있습니다. API Rate Limiter 도입 필요성 API Rate Limiter 적용 API Rate Limiter 동시성 문제 Lua script 실행시켜서 atomic 연산을 보장하도록 개선 정리 1. API Rate Limiter 도입 필요성 상품 엑셀 등록 서비스는 상품 정보를 엑셀에 입력하여 최대 500개의 상품을 동시에 등록할 수 있는 서비스입니다. 상품 엑셀 등록 서비스는 엑셀을 파싱 해서 상품등록 모델로 생성시켜 주는 프로듀서와 등록 모델을 수신해서 상품 등록 ..
BackendDatabaseDevOps
사내 데이터 스터디 3번 피벗한 이야기
AI/MLData EngineeringDatabase
휴먼스케이프
2023-03-02 · 3년 이상 전
처음부터 시작하는 Django 데이터 적재(5) — END
Data EngineeringDatabaseDjango
청구/수납 서비스 개발기
안녕하세요. 키친보드 제품팀의 백엔드 프로그래머 남경호입니다. 엊그제 2023년을 축하했던 것 같은데 벌써 2월이 지나가고 있네요. 다들 느끼시겠지만, 시간이 참 빠른 것 같습니다. 작년 키친보드는 많은 것을 이루었고 바꾸었습니다. 정비기간을 통해 서버 언어를 전환하였고요. 기존에 제공하던 정리 서비스가 아닌 주문 서비스를 새롭게 런칭하였습니다. 그리고 도도 카트에서 키친보드로 서비스명을 변경하면서 저희 서비스가 전달하는 가치를 사용자가 좀 더
BackendDatabaseMobilePerformance
컬리의 BigQuery 도입기 - 2부
컬리 데이터 파이프라인의 BigQuery 도입 결과 및 효과
BackendDatabaseTools
컬리의 BigQuery 도입기 - 1부
컬리 데이터 파이프라인의 BigQuery 도입 배경과 그 주안점
DatabaseInfra
카카오페이
2023-01-30 · 3년 이상 전
카카오페이의 고객분석 플랫폼 CXM 소개
카카오페이의 고객 세그먼트와 분석 대시보드에 대한 것을 소개합니다!
AI/MLDatabaseTools
데브시스터즈
2023-01-17 · 3년 이상 전
CTO가 커리어를 걸고 비트 레벨까지 내려가서 DB를 해킹했던 이야기
DB를 만든 회사에서 복구는 불가능하다고 얘기하는 극한의 상황 속에서 CTO가 커리어를 걸고 비트 레벨까지 내려가서 DB를 해킹했던 이야기를 소개합니다.
CareerDatabaseSecurity
ES 검색엔진을 활용한 상품 검색 — basic
BackendDatabasePerformance
Sharded MySQL Cluster 도입 배경과 개발기 (부제: 우당탕탕 좌충우돌 개발기)
Sharded MySQL Cluster 도입 배경과 개발기 (부제: 우당탕탕 좌충우돌 개발기)안녕하세요, 지마켓 Item Engineering 팀입니다. 저희는 지마켓 & 옥션의 상품 등록/관리와 관련된 플랫폼을 담당하고 있습니다!저희 팀은 대량의 상품 데이터와 대규모 트래픽을 처리해야 하며 로직이 (꽤) 복잡한 부분이 있는 상품 데이터들을 운영하고 있습니다. MSSQL을 주로 사용하지만 이번에 샤딩 기법을 사용한 MySQL 클러스터를 도입하게 되었습니다!이름하야 '루미큐브' 프로젝트!하지만 해당 프로젝트를 진행하며 많은 시행착오가 있었는데요..왜 MySQL을 도입하게 되었는지, 샤딩 기법을 사용하고 있는데 샤딩이란 무엇인지, 샤딩을 쉽게 처리하기 위해 사용한 '샤딩스피어'란 무엇인지,그리고 저희의 시행..
AI/MLBackendDatabaseInfra
MySQL timestamp 와 Y2K38 Problem
DatabaseMySQLPerformance
Gmarket Hadoop Platform Baikal 소개
안녕하세요 Data Platform Engineer 조광진입니다.저희 Platform Technology 팀은 지난 수년간 On-premise Hadoop 기반의 빅데이터 플랫폼인 'Baikal' 이란 서비스를 사내에 제공하여 전사에서 활용되는 데이터의 수집, 적재, 분석에 대해 편의성을 제공하고 있습니다.빅데이터 플랫폼 Baikal은 On-premise 에서 Cloud Lakehouse Platform으로 전환을 앞두고 있습니다.Cloud Lakehouse Platform으로 전환하기 앞서 On-premise Hadoop 기반인 Baikal에 대해 소개하고자 합니다.Gmarket BaikalBaikal 이란 이름은 잘 아시다시피 러시아 시베리아 남쪽의 있는 세계에서 가장 오래되고 깊은 담수호 이름입니다..
AI/MLBackendDatabaseInfra
데브시스터즈
2022-12-22 · 3년 이상 전
쿠키런: 킹덤 데이터베이스 스토리지 레이어 복원기
쿠키런: 킹덤 런칭 후 4일 만에 기술적인 문제로 인해 발생했던 약 36시간의 장애에 대해 전해드리고자 합니다.
BackendDatabaseInfra