V
VCNC
May 7, 20141회
비트윈의 HBase 스키마 해부
간단 소개
비트윈은 HBase를 메인 DB로 활용, Thrift, Haeinsa, Datastore 라이브러리, Secondary Index 등을 통해 효율적인 데이터 관리 및 접근을 구현했습니다.
AI Summary
- 비트윈의 HBase 활용
- 비트윈은 HBase를 메인 데이터베이스로 사용하며, 사용자, 커플 정보, 메시지, 사진, 메모 등 다양한 데이터를 저장합니다.
- Thrift를 사용하여 데이터 구조를 정의하고 직렬화/역직렬화합니다.
- Haeinsa를 통해 Multi-Row ACID 트랜잭션을 지원하여 데이터 무결성을 유지합니다.
- 데이터 구조 및 접근 방식
- 데이터를 종류별로 테이블에 나누어 저장하고, 관련된 데이터를 하나의 Row에 모아 저장합니다.
- Column Qualifier를 트리 형태로 구성하여 데이터의 논리적 구조를 반영합니다.
- Datastore 라이브러리를 통해 HBase 데이터에 쉽게 접근하고, Secondary Index를 구현하여 특정 값으로 데이터 정렬 및 접근을 가능하게 합니다.
- Secondary Index 구현 및 고려 사항
- HBase는 Secondary Index를 기본적으로 제공하지 않지만, 비트윈은 자체적으로 간단한 형태의 Secondary Index를 구현하여 사용합니다.
- Index 업데이트는 Trigger 기능을 통해 데이터 변경과 함께 원자적으로 수행되어 데이터 무결성을 보장합니다.
- Row Key를 랜덤하게 생성하여 데이터가 여러 Region 서버에 분산되도록 합니다.
Next Feeds
블로그 운영 방법에서 엿보는 VCNC의 개발문화
VCNC 개발팀은 독특한 방식으로 블로그를 운영하며, 이를 통해 개발 문화와 효율적인 협업 방식을 엿볼 수 있다.
VCNCJekyllJIRAStash개발문화
2014. 1. 20.
VCNC
HBase Meetup - 비트윈에서 HBase를 사용하는 방법
비트윈은 HBase를 주요 데이터베이스로 활용, 채팅 기능 및 로그 분석에 사용하며, HBase 트랜잭션 라이브러리 Haeinsa를 개발하여 적용했다.
HBase비트윈로그 분석Haeinsa트랜잭션
2013. 11. 21.
VCNC
HBase상 트랜잭션 라이브러리 Haeinsa를 소개합니다
HBase 트랜잭션 라이브러리 Haeinsa는 ACID 속성을 만족하며, 비트윈 서비스에서 하루 3억 건 이상의 트랜잭션을 처리합니다.
HBaseHaeinsaTransactionACIDPercolator
2013. 10. 10.
VCNC
안드로이드 클라이언트 Reflection 극복기
안드로이드 Reflection 성능 이슈를 극복하기 위해 Bytecode 생성(Dexmaker)을 시도했으나, APT 기반 코드 자동 생성으로 최종 해결하고 Binding 라이브러리를 구축한 과정.
ReflectionDexmakerAPTAnnotation ProcessorBinding
2013. 7. 31.
VCNC
비트윈의 스티커 시스템 구현 이야기
비트윈 스티커 시스템의 아키텍처, 구현 과정의 문제 해결, 그리고 보안 적용에 대한 기술적 고민과 해결책을 제시합니다.
스티커아키텍처WebPGAE보안
2013. 6. 24.
VCNC
비트윈이 사용자를 분석하는 방법
비트윈 팀의 사용자 데이터 분석 방법, 기술 스택, 개인정보 보호 노력, 그리고 분석 결과를 활용한 서비스 개선 과정을 소개합니다.
사용자 분석빅데이터 분석로그 분석개인정보 보호데이터 시각화
2013. 5. 14.
VCNC