ݺߣ

ݺߣShare a Scribd company logo
Data Sync
2017.01.14 DB Tech팀 전동희
AGENDA
01
1. Mysql to PDA ( ETL)
2. Mysql to Hadoop ( CDC )
3. Mysql to Kafka ( Maxwell, Canal)
4. Mysql to AWS-Redshift (DMS)
1. Mysql to PDA (ETL)
02
• PDA
1. Mysql to PDA (ETL)
03
• Data sync
1. Mysql to PDA (ETL)
03
• ETL job
1. Mysql to PDA (ETL)
04
data sync time
ETL Disadvantages.
• 동기화 해야할 테이블에 Update컬럼 필요.
• delete된 데이터를 찾기 어려움.
• 데이터 변경시 꼭 update 변경
1. Mysql to PDA (ETL)
05
Future Direction
DQ 구축
• 프로그램에서 소프트 delete 로 진행.
• PDA 와 Mysql 데이터 정합성 체크.
• 주기적으로 삭제된 데이터 클린징작업.
2. Mysql to Hadoop ( CDC )
06
Tungsten Replicator
• Data source로 부터 변경된 Data를 Capture하여 Target system에 전송 및 적용
하는 기능을 CDC(Change Data Capture) 라고 하며, 'Tungsten replicator'는 CDC
솔루션 중에 하나.
2. Mysql to Hadoop ( CDC)
07
Tungsten Replicator Status
tungsten@tungst-mdb-prod02-mp tungsten-replicator]$ trepctl -service beta status
Processing status command...
NAME VALUE
---- -----
appliedLastEventId : mysql-bin.000018:0000000243151388;-1 /적용된 bin-log filename & position 정보
appliedLastSeqno : 1397760 /적용된 THL log의 시퀀스 번호
appliedLatency : 1.004 /지연시간
autoRecoveryEnabled : false
autoRecoveryTotal : 0
channels : 1
clusterName : beta /클러스터이름
currentEventId : NONE
currentTimeMillis : 1406271486322
dataServerHost : 10.10.10.80
extensions :
host : 10.10.10.80
latestEpochNumber : 490494 /master와 slave간의 동기화가 잘 되고 있다면 같은 번호를 가지고 있지만,
번호가 틀려지게 되는 data누락으로 인식하고 offline으로 상태값이 변경된다.
masterConnectUri : thl://10.10.52.181:2112/
masterListenUri : thl://10.10.10.80:2113/
maximumStoredSeqNo : 1397760 /적용된 THL log의 시퀀스 번호
resourcePrecedence : 99
rmiPort : 10000
role : slave
seqnoType : java.lang.Long
serviceName : beta
serviceType : local
simpleServiceName : beta
siteName : default
sourceId : 10.10.10.80
state : ONLINE /tungsten replicator의 status값
timeInStateSeconds : 20162.482
transitioningTo :
Finished status command...
2. Mysql to Hadoop ( CDC)
08
Mysql to HDFS 구성도
2. Mysql to Hadoop ( CDC) 09
tungsten csv file list
tungsten csv file contents
2. Mysql to Hadoop ( CDC)
10
Hbase
3.Mysql to Kafka ( Maxwell)
11
Maxwell(http://maxwells-daemon.io/)
• zendesk의 오픈소스
• kafka에 json형식의 데이터 적제.
• 메타정보 동기화 필요 없음. DDL문제점 해결.
• 동기화 대상 DB 로그 포맷을 row-base로 설정.
• ACL에 replication client, replication slave 권한 부여.
• mysqlbinlog-connector-java 를 사용함.
The REPLICATION CLIENT privilege enables the use of SHOW MASTER STATUS and
SHOW SLAVE STATUS. In MySQL 5.6.6 and later, it also enables the use of the
SHOW BINARY LOGS statement.
The REPLICATION SLAVE privilege should be granted to accounts that are used by slave
servers to connect to the current server as their master. Without this privilege,
the slave cannot request updates that have been made to databases on the master server.
3.Mysql to Kafka ( Maxwell)
11
mysql> insert into test.e set m = 4.2341, c = now(3)
, comment = 'I am a creature of light.';
{
"database":"test",
"table":"e",
"type":"insert",
"ts":1477053217,
"xid":23396,
"commit":true,
"position":"master.000006:800911",
"server_id":23042,
"thread_id":108,
"data":{
"id":1,
"m":4.2341,
"c":"2016-10-21 05:33:37.523000",
"comment":"I am a creature of light."
}
}
mysql> update test.e set m = 5.444, c = now(3)
where id = 1;
{
"database":"test",
"table":"e",
"type":"update",
"ts":1477053234,
...
"data":{
"id":1,
"m":5.444,
"c":"2016-10-21 05:33:54.631000",
"comment":"I am a creature of light."
},
"old":{
"m":4.2341,
"c":"2016-10-21 05:33:37.523000"
}
}
4. Mysql to AWS-Redshift (DMS)
11
What is Redshift?
• AWS 의 대용량 분석시스템.
• Compute Node.
• 데이터 보유
• 데이터 처리
• shared nothing.
• Leader Node.
• 커넥션 처리
• SQL 해석
• 실행계획 수립
• 코드 컴파일 등.
4. Mysql to AWS-Redshift (DMS)
11
Redshift 데이터 로드 .
• Loading data from AWS S3 into Redshift
COPY [redshift_table_nm]
FROM '[s3 sam file name]'
CREDENTIALS 'aws_access_key_id=[YOUR-ACCESS-KEY];aws_secret_access_key=[YOUR-SECRET-KEY]'
/*
-- OPTIONS
*/
4. Mysql to AWS-Redshift (DMS)
11
What is DMS .
• AWS 의 Migrationservice.
• ETL , CDC .
Q&A
11
Q & A
11
감사합니다

More Related Content

What's hot (20)

AWS 환경에서 MySQL BMT
AWS 환경에서 MySQL BMTAWS 환경에서 MySQL BMT
AWS 환경에서 MySQL BMT
I Goo Lee
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
MS 빅데이터 서비스 및 게임사 PoC 사례 소개MS 빅데이터 서비스 및 게임사 PoC 사례 소개
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
I Goo Lee
MySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxMySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docx
NeoClova
Maxscale 소개 1.1.1
Maxscale 소개 1.1.1Maxscale 소개 1.1.1
Maxscale 소개 1.1.1
NeoClova
From MSSQL to MariaDB
From MSSQL to MariaDBFrom MSSQL to MariaDB
From MSSQL to MariaDB
I Goo Lee
redis 소개자료 - 네오클로바
redis 소개자료 - 네오클로바redis 소개자료 - 네오클로바
redis 소개자료 - 네오클로바
NeoClova
Pgday bdr 천정대
Pgday bdr 천정대Pgday bdr 천정대
Pgday bdr 천정대
PgDay.Seoul
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
Ji-Woong Choi
AWS 환경에서 MySQL Infra 설계하기-2부.본론
AWS 환경에서 MySQL Infra 설계하기-2부.본론AWS 환경에서 MySQL Infra 설계하기-2부.본론
AWS 환경에서 MySQL Infra 설계하기-2부.본론
I Goo Lee
[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기
NHN FORWARD
텔레그램을 이용한 양방향 모니터링 시스템 구축
텔레그램을 이용한 양방향 모니터링 시스템 구축텔레그램을 이용한 양방향 모니터링 시스템 구축
텔레그램을 이용한 양방향 모니터링 시스템 구축
I Goo Lee
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
Ji-Woong Choi
MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바
NeoClova
[오픈소스컨설팅]초간단 Cubrid HA구성
[오픈소스컨설팅]초간단 Cubrid HA구성[오픈소스컨설팅]초간단 Cubrid HA구성
[오픈소스컨설팅]초간단 Cubrid HA구성
Ji-Woong Choi
MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바
NeoClova
Pg day seoul 2016 session_02_v1.0_ff
Pg day seoul 2016 session_02_v1.0_ffPg day seoul 2016 session_02_v1.0_ff
Pg day seoul 2016 session_02_v1.0_ff
PgDay.Seoul
Percona server for MySQL 제품 소개
Percona server for MySQL 제품 소개Percona server for MySQL 제품 소개
Percona server for MySQL 제품 소개
NeoClova
Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기
NeoClova
PostgreSQL Deep Internal
PostgreSQL Deep InternalPostgreSQL Deep Internal
PostgreSQL Deep Internal
EXEM
AWS 환경에서 MySQL BMT
AWS 환경에서 MySQL BMTAWS 환경에서 MySQL BMT
AWS 환경에서 MySQL BMT
I Goo Lee
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
MS 빅데이터 서비스 및 게임사 PoC 사례 소개MS 빅데이터 서비스 및 게임사 PoC 사례 소개
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
I Goo Lee
MySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxMySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docx
NeoClova
Maxscale 소개 1.1.1
Maxscale 소개 1.1.1Maxscale 소개 1.1.1
Maxscale 소개 1.1.1
NeoClova
From MSSQL to MariaDB
From MSSQL to MariaDBFrom MSSQL to MariaDB
From MSSQL to MariaDB
I Goo Lee
redis 소개자료 - 네오클로바
redis 소개자료 - 네오클로바redis 소개자료 - 네오클로바
redis 소개자료 - 네오클로바
NeoClova
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
Ji-Woong Choi
AWS 환경에서 MySQL Infra 설계하기-2부.본론
AWS 환경에서 MySQL Infra 설계하기-2부.본론AWS 환경에서 MySQL Infra 설계하기-2부.본론
AWS 환경에서 MySQL Infra 설계하기-2부.본론
I Goo Lee
[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기
NHN FORWARD
텔레그램을 이용한 양방향 모니터링 시스템 구축
텔레그램을 이용한 양방향 모니터링 시스템 구축텔레그램을 이용한 양방향 모니터링 시스템 구축
텔레그램을 이용한 양방향 모니터링 시스템 구축
I Goo Lee
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
Ji-Woong Choi
MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바
NeoClova
[오픈소스컨설팅]초간단 Cubrid HA구성
[오픈소스컨설팅]초간단 Cubrid HA구성[오픈소스컨설팅]초간단 Cubrid HA구성
[오픈소스컨설팅]초간단 Cubrid HA구성
Ji-Woong Choi
MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바
NeoClova
Pg day seoul 2016 session_02_v1.0_ff
Pg day seoul 2016 session_02_v1.0_ffPg day seoul 2016 session_02_v1.0_ff
Pg day seoul 2016 session_02_v1.0_ff
PgDay.Seoul
Percona server for MySQL 제품 소개
Percona server for MySQL 제품 소개Percona server for MySQL 제품 소개
Percona server for MySQL 제품 소개
NeoClova
Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기
NeoClova
PostgreSQL Deep Internal
PostgreSQL Deep InternalPostgreSQL Deep Internal
PostgreSQL Deep Internal
EXEM

Similar to Tungsten 을활용한 MySQL / Hadoop 동기화 (20)

Redis Overview
Redis OverviewRedis Overview
Redis Overview
kalzas
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
Amazon Web Services Korea
NoSQL
NoSQLNoSQL
NoSQL
Gruter
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
Seok-joon Yun
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
Donghan Kim
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
Donghan Kim
MySQL operator for_kubernetes
MySQL operator for_kubernetesMySQL operator for_kubernetes
MySQL operator for_kubernetes
rockplace
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
Amazon Web Services Korea
Ѳ⳧ϳѲٵ-성능갵ӄ-202201.ٳ
Ѳ⳧ϳѲٵ-성능갵ӄ-202201.ٳѲ⳧ϳѲٵ-성능갵ӄ-202201.ٳ
Ѳ⳧ϳѲٵ-성능갵ӄ-202201.ٳ
NeoClova
DB innovation conference 2020
DB innovation conference 2020DB innovation conference 2020
DB innovation conference 2020
NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
Sql Server 2005 개요
Sql Server 2005 개요Sql Server 2005 개요
Sql Server 2005 개요
beamofhope
AWS CLOUD 2018- Amazon Aurora 신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Aurora 신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)AWS CLOUD 2018- Amazon Aurora 신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Aurora 신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
Amazon Web Services Korea
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
Amazon Web Services Korea
Cubrid Inside 5th Session 4 Replication
Cubrid Inside 5th Session 4 ReplicationCubrid Inside 5th Session 4 Replication
Cubrid Inside 5th Session 4 Replication
CUBRID
Azure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDBAzure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDB
rockplace
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
Amazon Web Services Korea
실시간 복제 데이터를 이관시키는 방법.pdf
실시간 복제 데이터를 이관시키는 방법.pdf실시간 복제 데이터를 이관시키는 방법.pdf
실시간 복제 데이터를 이관시키는 방법.pdf
ssuser8638d51
AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기
AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기
AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기
Amazon Web Services Korea
SQL Server 2019 on RHEL Overview & Case Study
SQL Server 2019 on RHEL Overview & Case StudySQL Server 2019 on RHEL Overview & Case Study
SQL Server 2019 on RHEL Overview & Case Study
rockplace
파이썬 데이터베이스 연결 1탄
파이썬 데이터베이스 연결 1탄파이썬 데이터베이스 연결 1탄
파이썬 데이터베이스 연결 1탄
SeongHyun Ahn
Redis Overview
Redis OverviewRedis Overview
Redis Overview
kalzas
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
Amazon Web Services Korea
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
Seok-joon Yun
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
Donghan Kim
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
Donghan Kim
MySQL operator for_kubernetes
MySQL operator for_kubernetesMySQL operator for_kubernetes
MySQL operator for_kubernetes
rockplace
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
Amazon Web Services Korea
Ѳ⳧ϳѲٵ-성능갵ӄ-202201.ٳ
Ѳ⳧ϳѲٵ-성능갵ӄ-202201.ٳѲ⳧ϳѲٵ-성능갵ӄ-202201.ٳ
Ѳ⳧ϳѲٵ-성능갵ӄ-202201.ٳ
NeoClova
Sql Server 2005 개요
Sql Server 2005 개요Sql Server 2005 개요
Sql Server 2005 개요
beamofhope
AWS CLOUD 2018- Amazon Aurora 신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Aurora 신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)AWS CLOUD 2018- Amazon Aurora 신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Aurora 신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
Amazon Web Services Korea
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
Amazon Web Services Korea
Cubrid Inside 5th Session 4 Replication
Cubrid Inside 5th Session 4 ReplicationCubrid Inside 5th Session 4 Replication
Cubrid Inside 5th Session 4 Replication
CUBRID
Azure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDBAzure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDB
rockplace
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
Amazon Web Services Korea
실시간 복제 데이터를 이관시키는 방법.pdf
실시간 복제 데이터를 이관시키는 방법.pdf실시간 복제 데이터를 이관시키는 방법.pdf
실시간 복제 데이터를 이관시키는 방법.pdf
ssuser8638d51
AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기
AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기
AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기
Amazon Web Services Korea
SQL Server 2019 on RHEL Overview & Case Study
SQL Server 2019 on RHEL Overview & Case StudySQL Server 2019 on RHEL Overview & Case Study
SQL Server 2019 on RHEL Overview & Case Study
rockplace
파이썬 데이터베이스 연결 1탄
파이썬 데이터베이스 연결 1탄파이썬 데이터베이스 연결 1탄
파이썬 데이터베이스 연결 1탄
SeongHyun Ahn

More from I Goo Lee (20)

AWS Aurora 100% 활용하기
AWS Aurora 100% 활용하기AWS Aurora 100% 활용하기
AWS Aurora 100% 활용하기
I Goo Lee
Backup automation in KAKAO
Backup automation in KAKAO Backup automation in KAKAO
Backup automation in KAKAO
I Goo Lee
MySQL 5.7 NF – Optimizer Improvement
 MySQL 5.7 NF – Optimizer Improvement MySQL 5.7 NF – Optimizer Improvement
MySQL 5.7 NF – Optimizer Improvement
I Goo Lee
MySQL 5.7 NF – JSON Datatype 활용
MySQL 5.7 NF – JSON Datatype 활용MySQL 5.7 NF – JSON Datatype 활용
MySQL 5.7 NF – JSON Datatype 활용
I Goo Lee
Intro KaKao MRTE (MySQL Realtime Traffic Emulator)
Intro KaKao MRTE (MySQL Realtime Traffic Emulator)Intro KaKao MRTE (MySQL Realtime Traffic Emulator)
Intro KaKao MRTE (MySQL Realtime Traffic Emulator)
I Goo Lee
AWS 환경에서 MySQL Infra 설계하기-2본론
AWS 환경에서 MySQL Infra 설계하기-2본론AWS 환경에서 MySQL Infra 설계하기-2본론
AWS 환경에서 MySQL Infra 설계하기-2본론
I Goo Lee
AWS 환경에서 MySQL Infra 설계하기-1도입부분
AWS 환경에서 MySQL Infra 설계하기-1도입부분AWS 환경에서 MySQL Infra 설계하기-1도입부분
AWS 환경에서 MySQL Infra 설계하기-1도입부분
I Goo Lee
MySQL Slow Query log Monitoring using Beats & ELK
MySQL Slow Query log Monitoring using Beats & ELKMySQL Slow Query log Monitoring using Beats & ELK
MySQL Slow Query log Monitoring using Beats & ELK
I Goo Lee
MySQL Audit using Percona audit plugin and ELK
MySQL Audit using Percona audit plugin and ELKMySQL Audit using Percona audit plugin and ELK
MySQL Audit using Percona audit plugin and ELK
I Goo Lee
PostgreSQL 이야기
PostgreSQL 이야기PostgreSQL 이야기
PostgreSQL 이야기
I Goo Lee
Binlog Servers 구축사례
Binlog Servers 구축사례Binlog Servers 구축사례
Binlog Servers 구축사례
I Goo Lee
Intro ProxySQL
Intro ProxySQLIntro ProxySQL
Intro ProxySQL
I Goo Lee
1.mysql disk io 모니터링 및 분석사례
1.mysql disk io 모니터링 및 분석사례1.mysql disk io 모니터링 및 분석사례
1.mysql disk io 모니터링 및 분석사례
I Goo Lee
.NET Webservice for MySQL
.NET Webservice for MySQL.NET Webservice for MySQL
.NET Webservice for MySQL
I Goo Lee
Fluentd with MySQL
Fluentd with MySQLFluentd with MySQL
Fluentd with MySQL
I Goo Lee
백업인프라 개선 (w/님블스토리지) - 1TB 를 10분 내에
백업인프라 개선 (w/님블스토리지) - 1TB 를 10분 내에백업인프라 개선 (w/님블스토리지) - 1TB 를 10분 내에
백업인프라 개선 (w/님블스토리지) - 1TB 를 10분 내에
I Goo Lee
JSON 데이터를 DB에 넣고 사용하고 싶다
JSON 데이터를 DB에 넣고 사용하고 싶다JSON 데이터를 DB에 넣고 사용하고 싶다
JSON 데이터를 DB에 넣고 사용하고 싶다
I Goo Lee
rpm package 를 이용한 MySQL 설치자동화
rpm package 를 이용한 MySQL 설치자동화rpm package 를 이용한 MySQL 설치자동화
rpm package 를 이용한 MySQL 설치자동화
I Goo Lee
오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)
오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)
오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)
I Goo Lee
Introduction to MariaDB MaxScale
Introduction to MariaDB MaxScaleIntroduction to MariaDB MaxScale
Introduction to MariaDB MaxScale
I Goo Lee
AWS Aurora 100% 활용하기
AWS Aurora 100% 활용하기AWS Aurora 100% 활용하기
AWS Aurora 100% 활용하기
I Goo Lee
Backup automation in KAKAO
Backup automation in KAKAO Backup automation in KAKAO
Backup automation in KAKAO
I Goo Lee
MySQL 5.7 NF – Optimizer Improvement
 MySQL 5.7 NF – Optimizer Improvement MySQL 5.7 NF – Optimizer Improvement
MySQL 5.7 NF – Optimizer Improvement
I Goo Lee
MySQL 5.7 NF – JSON Datatype 활용
MySQL 5.7 NF – JSON Datatype 활용MySQL 5.7 NF – JSON Datatype 활용
MySQL 5.7 NF – JSON Datatype 활용
I Goo Lee
Intro KaKao MRTE (MySQL Realtime Traffic Emulator)
Intro KaKao MRTE (MySQL Realtime Traffic Emulator)Intro KaKao MRTE (MySQL Realtime Traffic Emulator)
Intro KaKao MRTE (MySQL Realtime Traffic Emulator)
I Goo Lee
AWS 환경에서 MySQL Infra 설계하기-2본론
AWS 환경에서 MySQL Infra 설계하기-2본론AWS 환경에서 MySQL Infra 설계하기-2본론
AWS 환경에서 MySQL Infra 설계하기-2본론
I Goo Lee
AWS 환경에서 MySQL Infra 설계하기-1도입부분
AWS 환경에서 MySQL Infra 설계하기-1도입부분AWS 환경에서 MySQL Infra 설계하기-1도입부분
AWS 환경에서 MySQL Infra 설계하기-1도입부분
I Goo Lee
MySQL Slow Query log Monitoring using Beats & ELK
MySQL Slow Query log Monitoring using Beats & ELKMySQL Slow Query log Monitoring using Beats & ELK
MySQL Slow Query log Monitoring using Beats & ELK
I Goo Lee
MySQL Audit using Percona audit plugin and ELK
MySQL Audit using Percona audit plugin and ELKMySQL Audit using Percona audit plugin and ELK
MySQL Audit using Percona audit plugin and ELK
I Goo Lee
PostgreSQL 이야기
PostgreSQL 이야기PostgreSQL 이야기
PostgreSQL 이야기
I Goo Lee
Binlog Servers 구축사례
Binlog Servers 구축사례Binlog Servers 구축사례
Binlog Servers 구축사례
I Goo Lee
1.mysql disk io 모니터링 및 분석사례
1.mysql disk io 모니터링 및 분석사례1.mysql disk io 모니터링 및 분석사례
1.mysql disk io 모니터링 및 분석사례
I Goo Lee
.NET Webservice for MySQL
.NET Webservice for MySQL.NET Webservice for MySQL
.NET Webservice for MySQL
I Goo Lee
Fluentd with MySQL
Fluentd with MySQLFluentd with MySQL
Fluentd with MySQL
I Goo Lee
백업인프라 개선 (w/님블스토리지) - 1TB 를 10분 내에
백업인프라 개선 (w/님블스토리지) - 1TB 를 10분 내에백업인프라 개선 (w/님블스토리지) - 1TB 를 10분 내에
백업인프라 개선 (w/님블스토리지) - 1TB 를 10분 내에
I Goo Lee
JSON 데이터를 DB에 넣고 사용하고 싶다
JSON 데이터를 DB에 넣고 사용하고 싶다JSON 데이터를 DB에 넣고 사용하고 싶다
JSON 데이터를 DB에 넣고 사용하고 싶다
I Goo Lee
rpm package 를 이용한 MySQL 설치자동화
rpm package 를 이용한 MySQL 설치자동화rpm package 를 이용한 MySQL 설치자동화
rpm package 를 이용한 MySQL 설치자동화
I Goo Lee
오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)
오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)
오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)
I Goo Lee
Introduction to MariaDB MaxScale
Introduction to MariaDB MaxScaleIntroduction to MariaDB MaxScale
Introduction to MariaDB MaxScale
I Goo Lee

Tungsten 을활용한 MySQL / Hadoop 동기화

  • 1. Data Sync 2017.01.14 DB Tech팀 전동희
  • 2. AGENDA 01 1. Mysql to PDA ( ETL) 2. Mysql to Hadoop ( CDC ) 3. Mysql to Kafka ( Maxwell, Canal) 4. Mysql to AWS-Redshift (DMS)
  • 3. 1. Mysql to PDA (ETL) 02 • PDA
  • 4. 1. Mysql to PDA (ETL) 03 • Data sync
  • 5. 1. Mysql to PDA (ETL) 03 • ETL job
  • 6. 1. Mysql to PDA (ETL) 04 data sync time ETL Disadvantages. • 동기화 해야할 테이블에 Update컬럼 필요. • delete된 데이터를 찾기 어려움. • 데이터 변경시 꼭 update 변경
  • 7. 1. Mysql to PDA (ETL) 05 Future Direction DQ 구축 • 프로그램에서 소프트 delete 로 진행. • PDA 와 Mysql 데이터 정합성 체크. • 주기적으로 삭제된 데이터 클린징작업.
  • 8. 2. Mysql to Hadoop ( CDC ) 06 Tungsten Replicator • Data source로 부터 변경된 Data를 Capture하여 Target system에 전송 및 적용 하는 기능을 CDC(Change Data Capture) 라고 하며, 'Tungsten replicator'는 CDC 솔루션 중에 하나.
  • 9. 2. Mysql to Hadoop ( CDC) 07 Tungsten Replicator Status tungsten@tungst-mdb-prod02-mp tungsten-replicator]$ trepctl -service beta status Processing status command... NAME VALUE ---- ----- appliedLastEventId : mysql-bin.000018:0000000243151388;-1 /적용된 bin-log filename & position 정보 appliedLastSeqno : 1397760 /적용된 THL log의 시퀀스 번호 appliedLatency : 1.004 /지연시간 autoRecoveryEnabled : false autoRecoveryTotal : 0 channels : 1 clusterName : beta /클러스터이름 currentEventId : NONE currentTimeMillis : 1406271486322 dataServerHost : 10.10.10.80 extensions : host : 10.10.10.80 latestEpochNumber : 490494 /master와 slave간의 동기화가 잘 되고 있다면 같은 번호를 가지고 있지만, 번호가 틀려지게 되는 data누락으로 인식하고 offline으로 상태값이 변경된다. masterConnectUri : thl://10.10.52.181:2112/ masterListenUri : thl://10.10.10.80:2113/ maximumStoredSeqNo : 1397760 /적용된 THL log의 시퀀스 번호 resourcePrecedence : 99 rmiPort : 10000 role : slave seqnoType : java.lang.Long serviceName : beta serviceType : local simpleServiceName : beta siteName : default sourceId : 10.10.10.80 state : ONLINE /tungsten replicator의 status값 timeInStateSeconds : 20162.482 transitioningTo : Finished status command...
  • 10. 2. Mysql to Hadoop ( CDC) 08 Mysql to HDFS 구성도
  • 11. 2. Mysql to Hadoop ( CDC) 09 tungsten csv file list tungsten csv file contents
  • 12. 2. Mysql to Hadoop ( CDC) 10 Hbase
  • 13. 3.Mysql to Kafka ( Maxwell) 11 Maxwell(http://maxwells-daemon.io/) • zendesk의 오픈소스 • kafka에 json형식의 데이터 적제. • 메타정보 동기화 필요 없음. DDL문제점 해결. • 동기화 대상 DB 로그 포맷을 row-base로 설정. • ACL에 replication client, replication slave 권한 부여. • mysqlbinlog-connector-java 를 사용함. The REPLICATION CLIENT privilege enables the use of SHOW MASTER STATUS and SHOW SLAVE STATUS. In MySQL 5.6.6 and later, it also enables the use of the SHOW BINARY LOGS statement. The REPLICATION SLAVE privilege should be granted to accounts that are used by slave servers to connect to the current server as their master. Without this privilege, the slave cannot request updates that have been made to databases on the master server.
  • 14. 3.Mysql to Kafka ( Maxwell) 11 mysql> insert into test.e set m = 4.2341, c = now(3) , comment = 'I am a creature of light.'; { "database":"test", "table":"e", "type":"insert", "ts":1477053217, "xid":23396, "commit":true, "position":"master.000006:800911", "server_id":23042, "thread_id":108, "data":{ "id":1, "m":4.2341, "c":"2016-10-21 05:33:37.523000", "comment":"I am a creature of light." } } mysql> update test.e set m = 5.444, c = now(3) where id = 1; { "database":"test", "table":"e", "type":"update", "ts":1477053234, ... "data":{ "id":1, "m":5.444, "c":"2016-10-21 05:33:54.631000", "comment":"I am a creature of light." }, "old":{ "m":4.2341, "c":"2016-10-21 05:33:37.523000" } }
  • 15. 4. Mysql to AWS-Redshift (DMS) 11 What is Redshift? • AWS 의 대용량 분석시스템. • Compute Node. • 데이터 보유 • 데이터 처리 • shared nothing. • Leader Node. • 커넥션 처리 • SQL 해석 • 실행계획 수립 • 코드 컴파일 등.
  • 16. 4. Mysql to AWS-Redshift (DMS) 11 Redshift 데이터 로드 . • Loading data from AWS S3 into Redshift COPY [redshift_table_nm] FROM '[s3 sam file name]' CREDENTIALS 'aws_access_key_id=[YOUR-ACCESS-KEY];aws_secret_access_key=[YOUR-SECRET-KEY]' /* -- OPTIONS */
  • 17. 4. Mysql to AWS-Redshift (DMS) 11 What is DMS . • AWS 의 Migrationservice. • ETL , CDC .