SlideShare a Scribd company logo
1 of 25
Download to read offline
- 중간 보고 -
고객과 함께 성장하는
No.1 IT Transformation Leader
PostgreSQL 마이그레이션
기업 사례
소개I.
2010~ : PostgreSQL과 랑데뷰 (ver. 8.3~)
~현재 : k사 오픈소스기술팀
축하 인사II.
PostgreSQL 스무번째돌잒치를 축하합니다. :)
http://allfreedesigns.com/vector-world-maps-free/
http://www.thinkstockphotos.co.kr/royalty-free/toe-tag-pictures/?countrycode=KOR
제 이야기는...III.
1. Big Data / Internet of Things / Data warehousing
2. Migrations from other databases to PostgreSQL
3. Operations and administration
4. Performance and feature implementation
5. Tuning PostgreSQL for different work loads
6. Replication, clustering, HA, sharding
7. Tools and utilities for PostgreSQL
8. Benchmarking and hardware, tuning
9. PostgreSQL community and hacking
10. Use cases/Case studies (novel ways in which PostgreSQL is used)
11. PostgreSQL features in development
12. App dev’s perspectives on Postgres
13. Integrating PostgreSQL with 3rd-party software
14. Location-aware and mapping software with PostGIS
15. Research and teaching with PostgreSQL
순서IV.
1. 이관이란?
1. 정의
2. 개요
3. 범위
2. 기업 사례
1. 도입 및 확산 (전략)
2. 대상 선정 (사업기획)
3. 이관수행
3. 배운 것
1. 창의력과 조합력
4. 결론
http://www.brettonwoodsproject.org/wp-content/uploads/2015/07/Observer_Summer_Illustration.jpg
이관 정의01-1
1. 이관(Migration)이띾 ?
: 하나의 운영 홖경으로부터 더 나은 운영 홖경으로 옮겨가는 과정을 뜻하는
정보통싞 용어
… [상략]
그러나 데이터베이스의 경우 새로운 데이터베이스가 이전의 데이터베이스와 구성 요소
가 다를 수도 있기 때문에 실행 파일들을 처리할 수 있는 프로그램이 필요한 경우도 있
다.
따라서 이전의 데이터베이스를 마이그레이션할 때는 새로운 데이터베이스와 공통된 형
식으로 데이터를 변홖하는 작업이 필요하다.
[네이버 지식백과]
마이그레이션 [migation] (두산백과)
이관 개요01-2
1. 마이그레이션 단계
http://www.oss.kr/oss_repository12/606089 / 2014 년 개정판 공개SW 마이그레이션 가이드
이관 범위01-3
1. DB 서비스 이관 범위
1. Schema (DB Object)
2. Data
3. SQL (App. logic)
AS-IS TO-BE
• DB Data 이관 횟수
– 데이터 테스트 이관(1차)
– 운영전홖 CutOver(2차)
SQL
Data
Schema
Data
왜 마이그레이션을 하나요?02
1. 비용절감 (하드웨어․소프트웨어․지원 및 관리․전력 및 냉방)
2. 현재 예산내의 사업 요구사항 확장 (부분 이관)
3. 조직의 합병․인수 또는 축소(그룹사)
4. 오래되거나 더 이상 제공되지 아니하는 소프트웨어 교체(고도화, EOL)
5. 시스템 통합 (서버․애플리케이션․데이터)
6. 싞기술 도입(예: 가상화/ 클라우드)
7. 성능 향상․안정성
DB1
DB2
DB3
통합DBconsolidation
http://www.oss.kr/oss_repository12/606089 / 2014 년 개정판 공개SW 마이그레이션 가이드
도입 : Who02-1
1. Top-Down 2. Bottom-Up
도입 : How-To02-1
1. 짂보
1. 어려운 것
1. (w/ 개별기능 검증)
2. 적용 확산
2. 보수(수구)
1. 쉬운 것
2. 전체 기능, 성능 세부검토
3. (난이도 있는 서비스도) 적용 확산
• 전홖을 추짂하는 담당자의 영향력(기술역량) 혹은 스타일.
• 그 스타일을 허용하는 그 기업 문화에 따라.
http://http://s3.amazonaws.com/babypips-media-production/images/2016/05/grade14-hawks-vs-doves.png
대상선정 : What02-2
1. 전홖목적에 맞는 후보군을 선별하여 추짂
2. 손쉬운 이관 작업(기술 호홖 혹은 workaround 로 대체 가능한 난이도)
3. (AS-IS 현황을 잘 알거나 혹은) AS-IS 관렦자 혹은 담당 관리자의 적극성에 따라
RAC
Pro*C
Parallel Hint
XA
Windows
Function
DBlink
Hash
Join
Online
Backup
이관수행 : 실패02-3
1. AS-IS (ORACLE) 문제
1. 깨짂 글자 및 제어문자(개행) 혺재
2. 특정 하나의 Delimiter 값을 지정하기 어려울
정도로 다양한 문자가 실 데이터에 포함
2. TO-BE (PostgreSQL) 문제
1. 깨짂 것은 절대 넣을 수 없음
2. Delimiter 는 오직 한 문자만 허용
(a single one-byte charater)
TO-BE
D a t a X
이관수행 : 정제 작업02-3
1. 데이터 정제를 위한 작업 수행 원칙
1. PostgreSQL에 데이터를 최종적으로 넣을 수 있도록 아래 2가지 단위가 구분.
1. 한 row 단위
2. 한 칼럼 단위 (delimiter 는 최종 한 문자)
2. 최대한 기졲 데이터의 누락은 없어야 한다.
1. 부득이 정제중에 발생되는 데이터 변경(깨짂,&제어문자)에대한 의사결정이 필요.
column1 column2 column3 column4
asdf gh Jkl;nr ‘
ntcm `!@”#$ %^&*()n -=‘; /.,
가나다▤ select◀우 #few post▦^M
?AμA¥ Aμ A°A…A?A€ μðA×A½i¿½i °øAeAUμa
Issue
개행문자 삽입
한 문자 delimiter 정의 불가
이미 깨져 보졲되던 데이터
명시적이지 않은 인코딩 변경
→
→
→
→
이관수행 : 정제 작업(cont.)02-3
• Export用 Procedure 별도 생성
– Delimiter(AS-IS)를 여러 문자로 별도 지정
– 한 row의 시작문자, 끝문자 특정 문자로 별도 지정
export
refine
import
1
2
3
• 데이터 정제 작업
– 이미 깨져 입력된 문자는 drop
– 인코딩 명시적 변홖
– Delimiter(TO-BE)와 동일한 데이터 변경
– 데이터내 제어문자(개행) 삭제 후, rows별 개행처리
• Import用 스크립트 생성
– 데이터 이관을 위한 Engine 튜닝
이관수행 : 이관 전략02-3
• 최종 이관의 주안점
– Downtime 최소화하여 CutOver
– Rollback 고려
AS-IS
strategy
TO-BE
• 데이터 이관 전략
– 테이블별 이관방법 선택
• 선행 / 온라인 / 후행 / 제외(로그)
– 병렧 처리
• 시갂 단축을 위한 병렧작업분산
– AS-IS 서비스 영향 최소화
• DBA 측면
– 이관을 위한 DB Engine 튜닝
– 데이터 import후, 제약사항(Index,constraint) 생성
– analyze(통계갱싞)
– copy freeze (vacuum freeze)
이관수행 : 완료02-3
1. 동일 구조 서비스의 수십 여개 시스템에 적용
1. 전국 단위 서비스의 각 센터별 장비 전홖
2. 큰 비용 절감 효과
2. 성능 개선: 가벼운 로직 처리에 강점
http://www.d-maps.com/carte.php?num_car=50441&lang=en
X처리
Y실패
창의력과 조합력(OS Utility 홗용)03-1
1. 갂단한(부족한) OS Utility 조합 사용(pipeline 통한 정제 작업으로 시갂 단축)
2. 느린 IO 를 최대한 배제하거나 끌어올려서 단축
Utility Description
strings print the strings of printable characters in files.
iconv Convert encoding of given files from one encoding to another
split split a file into pieces
sed stream editor for filtering and transforming text
Utility Description
ionice get/set program io scheduling class and priority
결론04-1
1. 기업 홖경에는 상용SW가 쓰여야 하는 곳도 분명히 졲재합니다.
1. 그러나, 그 제품 비용을 지불한 만큼 모듞 곳에서 적재적소 쓰일까요?
2. 불필요하게 지불되는 영역에서는 오픈소스SW가 하나의 대안이 될 수 있습니다.
1. 기업 경영 입장에서는 이 대안은 해볼만한 시도입니다.
3. 여러분은 어떻게 하시겠습니까?
1. 끌고 가실 건가요? 끌려 가실 건가요?
http://blog.lifeway.com/biblestudiesforlife/files/2013/06/151536633-1024x681.jpg
Pg day seoul 2016 session_02_v1.0_ff
Pg day seoul 2016 session_02_v1.0_ff

More Related Content

What's hot

MySQL 상태 메시지 분석 및 활용
MySQL 상태 메시지 분석 및 활용MySQL 상태 메시지 분석 및 활용
MySQL 상태 메시지 분석 및 활용I Goo Lee
 
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계
[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계PgDay.Seoul
 
AWS 환경에서 MySQL BMT
AWS 환경에서 MySQL BMTAWS 환경에서 MySQL BMT
AWS 환경에서 MySQL BMTI Goo Lee
 
MySQL/MariaDB Proxy Software Test
MySQL/MariaDB Proxy Software TestMySQL/MariaDB Proxy Software Test
MySQL/MariaDB Proxy Software TestI Goo Lee
 
Tajo and SQL-on-Hadoop in Tech Planet 2013
Tajo and SQL-on-Hadoop in Tech Planet 2013Tajo and SQL-on-Hadoop in Tech Planet 2013
Tajo and SQL-on-Hadoop in Tech Planet 2013Gruter
 
[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)NAVER D2
 
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4Seok-joon Yun
 
[Pgday.Seoul 2018] PostgreSQL 11 새 기능 소개
[Pgday.Seoul 2018]  PostgreSQL 11 새 기능 소개[Pgday.Seoul 2018]  PostgreSQL 11 새 기능 소개
[Pgday.Seoul 2018] PostgreSQL 11 새 기능 소개PgDay.Seoul
 
Cubrid Inside 5th Session 3 Migration
Cubrid Inside 5th Session 3 MigrationCubrid Inside 5th Session 3 Migration
Cubrid Inside 5th Session 3 MigrationCUBRID
 
Mongodb2.2와 2.4의 신 기능 소개
Mongodb2.2와 2.4의 신 기능 소개Mongodb2.2와 2.4의 신 기능 소개
Mongodb2.2와 2.4의 신 기능 소개흥배 최
 
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1Seok-joon Yun
 
Intro KaKao ADT (Almighty Data Transmitter)
Intro KaKao ADT (Almighty Data Transmitter)Intro KaKao ADT (Almighty Data Transmitter)
Intro KaKao ADT (Almighty Data Transmitter)I Goo Lee
 
Mongo db 복제(Replication)
Mongo db 복제(Replication)Mongo db 복제(Replication)
Mongo db 복제(Replication)Hyosung Jeon
 
Cubrid Inside 5th Session 4 Replication
Cubrid Inside 5th Session 4 ReplicationCubrid Inside 5th Session 4 Replication
Cubrid Inside 5th Session 4 ReplicationCUBRID
 
[Pgday.Seoul 2017] 7. PostgreSQL DB Tuning 기업사례 - 송춘자
[Pgday.Seoul 2017] 7. PostgreSQL DB Tuning 기업사례 - 송춘자[Pgday.Seoul 2017] 7. PostgreSQL DB Tuning 기업사례 - 송춘자
[Pgday.Seoul 2017] 7. PostgreSQL DB Tuning 기업사례 - 송춘자PgDay.Seoul
 
pg_hba.conf 이야기
pg_hba.conf 이야기pg_hba.conf 이야기
pg_hba.conf 이야기PgDay.Seoul
 
From MSSQL to MariaDB
From MSSQL to MariaDBFrom MSSQL to MariaDB
From MSSQL to MariaDBI Goo Lee
 
Mongodb 특징 분석
Mongodb 특징 분석Mongodb 특징 분석
Mongodb 특징 분석Daeyong Shin
 

What's hot (20)

MySQL 상태 메시지 분석 및 활용
MySQL 상태 메시지 분석 및 활용MySQL 상태 메시지 분석 및 활용
MySQL 상태 메시지 분석 및 활용
 
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계
[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계
 
AWS 환경에서 MySQL BMT
AWS 환경에서 MySQL BMTAWS 환경에서 MySQL BMT
AWS 환경에서 MySQL BMT
 
MySQL/MariaDB Proxy Software Test
MySQL/MariaDB Proxy Software TestMySQL/MariaDB Proxy Software Test
MySQL/MariaDB Proxy Software Test
 
Tajo and SQL-on-Hadoop in Tech Planet 2013
Tajo and SQL-on-Hadoop in Tech Planet 2013Tajo and SQL-on-Hadoop in Tech Planet 2013
Tajo and SQL-on-Hadoop in Tech Planet 2013
 
[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)
 
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
 
[Pgday.Seoul 2018] PostgreSQL 11 새 기능 소개
[Pgday.Seoul 2018]  PostgreSQL 11 새 기능 소개[Pgday.Seoul 2018]  PostgreSQL 11 새 기능 소개
[Pgday.Seoul 2018] PostgreSQL 11 새 기능 소개
 
Arcus
ArcusArcus
Arcus
 
Cubrid Inside 5th Session 3 Migration
Cubrid Inside 5th Session 3 MigrationCubrid Inside 5th Session 3 Migration
Cubrid Inside 5th Session 3 Migration
 
Apache sqoop
Apache sqoopApache sqoop
Apache sqoop
 
Mongodb2.2와 2.4의 신 기능 소개
Mongodb2.2와 2.4의 신 기능 소개Mongodb2.2와 2.4의 신 기능 소개
Mongodb2.2와 2.4의 신 기능 소개
 
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1
 
Intro KaKao ADT (Almighty Data Transmitter)
Intro KaKao ADT (Almighty Data Transmitter)Intro KaKao ADT (Almighty Data Transmitter)
Intro KaKao ADT (Almighty Data Transmitter)
 
Mongo db 복제(Replication)
Mongo db 복제(Replication)Mongo db 복제(Replication)
Mongo db 복제(Replication)
 
Cubrid Inside 5th Session 4 Replication
Cubrid Inside 5th Session 4 ReplicationCubrid Inside 5th Session 4 Replication
Cubrid Inside 5th Session 4 Replication
 
[Pgday.Seoul 2017] 7. PostgreSQL DB Tuning 기업사례 - 송춘자
[Pgday.Seoul 2017] 7. PostgreSQL DB Tuning 기업사례 - 송춘자[Pgday.Seoul 2017] 7. PostgreSQL DB Tuning 기업사례 - 송춘자
[Pgday.Seoul 2017] 7. PostgreSQL DB Tuning 기업사례 - 송춘자
 
pg_hba.conf 이야기
pg_hba.conf 이야기pg_hba.conf 이야기
pg_hba.conf 이야기
 
From MSSQL to MariaDB
From MSSQL to MariaDBFrom MSSQL to MariaDB
From MSSQL to MariaDB
 
Mongodb 특징 분석
Mongodb 특징 분석Mongodb 특징 분석
Mongodb 특징 분석
 

Similar to Pg day seoul 2016 session_02_v1.0_ff

MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...문기 박
 
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 MariaDBrockplace
 
주니어 개발자의 서버 로그 관리 개선기
주니어 개발자의 서버 로그 관리 개선기주니어 개발자의 서버 로그 관리 개선기
주니어 개발자의 서버 로그 관리 개선기Yeonhee Kim
 
MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바NeoClova
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)수보 김
 
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...Amazon Web Services Korea
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴Terry Cho
 
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.docxNeoClova
 
마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기Jaewoo Ahn
 
넥슨 글로벌 플랫폼 구축 이야기 : 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
 
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?Sang-ho Choi
 
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?주식회사 내일비
 
[Pgday.Seoul 2018] replacing oracle with edb postgres
[Pgday.Seoul 2018] replacing oracle with edb postgres[Pgday.Seoul 2018] replacing oracle with edb postgres
[Pgday.Seoul 2018] replacing oracle with edb postgresPgDay.Seoul
 
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10![웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!Open Source Consulting
 
Fundamentals of Oracle SQL
Fundamentals of Oracle SQLFundamentals of Oracle SQL
Fundamentals of Oracle SQLJAEGEUN YU
 
변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...
변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...
변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...Amazon Web Services Korea
 
Openstack Usecase(2018)
Openstack Usecase(2018)Openstack Usecase(2018)
Openstack Usecase(2018)Gasida Seo
 
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDBNAVER D2
 
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena DollyJi-Woong Choi
 

Similar to Pg day seoul 2016 session_02_v1.0_ff (20)

MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
 
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
 
주니어 개발자의 서버 로그 관리 개선기
주니어 개발자의 서버 로그 관리 개선기주니어 개발자의 서버 로그 관리 개선기
주니어 개발자의 서버 로그 관리 개선기
 
MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴
 
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
 
마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기
 
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
 
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
 
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
 
[Pgday.Seoul 2018] replacing oracle with edb postgres
[Pgday.Seoul 2018] replacing oracle with edb postgres[Pgday.Seoul 2018] replacing oracle with edb postgres
[Pgday.Seoul 2018] replacing oracle with edb postgres
 
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
 
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10![웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
 
Fundamentals of Oracle SQL
Fundamentals of Oracle SQLFundamentals of Oracle SQL
Fundamentals of Oracle SQL
 
변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...
변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...
변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...
 
Openstack Usecase(2018)
Openstack Usecase(2018)Openstack Usecase(2018)
Openstack Usecase(2018)
 
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB
 
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
 

More from PgDay.Seoul

[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정
[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정
[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정PgDay.Seoul
 
[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱
[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱
[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱PgDay.Seoul
 
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재PgDay.Seoul
 
[pgday.Seoul 2022] PostgreSQL with Google Cloud
[pgday.Seoul 2022] PostgreSQL with Google Cloud[pgday.Seoul 2022] PostgreSQL with Google Cloud
[pgday.Seoul 2022] PostgreSQL with Google CloudPgDay.Seoul
 
[Pgday.Seoul 2021] 2. Porting Oracle UDF and Optimization
[Pgday.Seoul 2021] 2. Porting Oracle UDF and Optimization[Pgday.Seoul 2021] 2. Porting Oracle UDF and Optimization
[Pgday.Seoul 2021] 2. Porting Oracle UDF and OptimizationPgDay.Seoul
 
[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL
[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL
[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQLPgDay.Seoul
 
[Pgday.Seoul 2020] 포스트그레스큐엘 자국어화 이야기
[Pgday.Seoul 2020] 포스트그레스큐엘 자국어화 이야기[Pgday.Seoul 2020] 포스트그레스큐엘 자국어화 이야기
[Pgday.Seoul 2020] 포스트그레스큐엘 자국어화 이야기PgDay.Seoul
 
[Pgday.Seoul 2020] SQL Tuning
[Pgday.Seoul 2020] SQL Tuning[Pgday.Seoul 2020] SQL Tuning
[Pgday.Seoul 2020] SQL TuningPgDay.Seoul
 
[Pgday.Seoul 2019] AppOS 고성능 I/O 확장 모듈로 성능 10배 향상시키기
[Pgday.Seoul 2019] AppOS 고성능 I/O 확장 모듈로 성능 10배 향상시키기[Pgday.Seoul 2019] AppOS 고성능 I/O 확장 모듈로 성능 10배 향상시키기
[Pgday.Seoul 2019] AppOS 고성능 I/O 확장 모듈로 성능 10배 향상시키기PgDay.Seoul
 
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스PgDay.Seoul
 
[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDW[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDWPgDay.Seoul
 
[Pgday.Seoul 2018] PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha
[Pgday.Seoul 2018]  PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha[Pgday.Seoul 2018]  PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha
[Pgday.Seoul 2018] PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposhaPgDay.Seoul
 
[Pgday.Seoul 2018] PostgreSQL Authentication with FreeIPA
[Pgday.Seoul 2018]  PostgreSQL Authentication with FreeIPA[Pgday.Seoul 2018]  PostgreSQL Authentication with FreeIPA
[Pgday.Seoul 2018] PostgreSQL Authentication with FreeIPAPgDay.Seoul
 
[Pgday.Seoul 2018] 이기종 DB에서 PostgreSQL로의 Migration을 위한 DB2PG
[Pgday.Seoul 2018]  이기종 DB에서 PostgreSQL로의 Migration을 위한 DB2PG[Pgday.Seoul 2018]  이기종 DB에서 PostgreSQL로의 Migration을 위한 DB2PG
[Pgday.Seoul 2018] 이기종 DB에서 PostgreSQL로의 Migration을 위한 DB2PGPgDay.Seoul
 
[Pgday.Seoul 2018] AWS Cloud 환경에서 PostgreSQL 구축하기
[Pgday.Seoul 2018]  AWS Cloud 환경에서 PostgreSQL 구축하기[Pgday.Seoul 2018]  AWS Cloud 환경에서 PostgreSQL 구축하기
[Pgday.Seoul 2018] AWS Cloud 환경에서 PostgreSQL 구축하기PgDay.Seoul
 
[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우
[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우
[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우PgDay.Seoul
 
[Pgday.Seoul 2017] 1. PostGIS의 사례로 본 PostgreSQL 확장 - 장병진
[Pgday.Seoul 2017] 1. PostGIS의 사례로 본 PostgreSQL 확장 - 장병진[Pgday.Seoul 2017] 1. PostGIS의 사례로 본 PostgreSQL 확장 - 장병진
[Pgday.Seoul 2017] 1. PostGIS의 사례로 본 PostgreSQL 확장 - 장병진PgDay.Seoul
 
[Pgday.Seoul 2017] 4. Composite Type/JSON 파라미터를 활용한 TVP구현(with C#, JAVA) - 지현명
[Pgday.Seoul 2017] 4. Composite Type/JSON 파라미터를 활용한 TVP구현(with C#, JAVA) - 지현명[Pgday.Seoul 2017] 4. Composite Type/JSON 파라미터를 활용한 TVP구현(with C#, JAVA) - 지현명
[Pgday.Seoul 2017] 4. Composite Type/JSON 파라미터를 활용한 TVP구현(with C#, JAVA) - 지현명PgDay.Seoul
 
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오PgDay.Seoul
 
PostgreSQL 9.6 새 기능 소개
PostgreSQL 9.6 새 기능 소개PostgreSQL 9.6 새 기능 소개
PostgreSQL 9.6 새 기능 소개PgDay.Seoul
 

More from PgDay.Seoul (20)

[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정
[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정
[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정
 
[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱
[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱
[pgday.Seoul 2022] POSTGRES 테스트코드로 기여하기 - 이동욱
 
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
 
[pgday.Seoul 2022] PostgreSQL with Google Cloud
[pgday.Seoul 2022] PostgreSQL with Google Cloud[pgday.Seoul 2022] PostgreSQL with Google Cloud
[pgday.Seoul 2022] PostgreSQL with Google Cloud
 
[Pgday.Seoul 2021] 2. Porting Oracle UDF and Optimization
[Pgday.Seoul 2021] 2. Porting Oracle UDF and Optimization[Pgday.Seoul 2021] 2. Porting Oracle UDF and Optimization
[Pgday.Seoul 2021] 2. Porting Oracle UDF and Optimization
 
[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL
[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL
[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL
 
[Pgday.Seoul 2020] 포스트그레스큐엘 자국어화 이야기
[Pgday.Seoul 2020] 포스트그레스큐엘 자국어화 이야기[Pgday.Seoul 2020] 포스트그레스큐엘 자국어화 이야기
[Pgday.Seoul 2020] 포스트그레스큐엘 자국어화 이야기
 
[Pgday.Seoul 2020] SQL Tuning
[Pgday.Seoul 2020] SQL Tuning[Pgday.Seoul 2020] SQL Tuning
[Pgday.Seoul 2020] SQL Tuning
 
[Pgday.Seoul 2019] AppOS 고성능 I/O 확장 모듈로 성능 10배 향상시키기
[Pgday.Seoul 2019] AppOS 고성능 I/O 확장 모듈로 성능 10배 향상시키기[Pgday.Seoul 2019] AppOS 고성능 I/O 확장 모듈로 성능 10배 향상시키기
[Pgday.Seoul 2019] AppOS 고성능 I/O 확장 모듈로 성능 10배 향상시키기
 
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스
 
[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDW[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDW
 
[Pgday.Seoul 2018] PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha
[Pgday.Seoul 2018]  PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha[Pgday.Seoul 2018]  PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha
[Pgday.Seoul 2018] PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha
 
[Pgday.Seoul 2018] PostgreSQL Authentication with FreeIPA
[Pgday.Seoul 2018]  PostgreSQL Authentication with FreeIPA[Pgday.Seoul 2018]  PostgreSQL Authentication with FreeIPA
[Pgday.Seoul 2018] PostgreSQL Authentication with FreeIPA
 
[Pgday.Seoul 2018] 이기종 DB에서 PostgreSQL로의 Migration을 위한 DB2PG
[Pgday.Seoul 2018]  이기종 DB에서 PostgreSQL로의 Migration을 위한 DB2PG[Pgday.Seoul 2018]  이기종 DB에서 PostgreSQL로의 Migration을 위한 DB2PG
[Pgday.Seoul 2018] 이기종 DB에서 PostgreSQL로의 Migration을 위한 DB2PG
 
[Pgday.Seoul 2018] AWS Cloud 환경에서 PostgreSQL 구축하기
[Pgday.Seoul 2018]  AWS Cloud 환경에서 PostgreSQL 구축하기[Pgday.Seoul 2018]  AWS Cloud 환경에서 PostgreSQL 구축하기
[Pgday.Seoul 2018] AWS Cloud 환경에서 PostgreSQL 구축하기
 
[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우
[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우
[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우
 
[Pgday.Seoul 2017] 1. PostGIS의 사례로 본 PostgreSQL 확장 - 장병진
[Pgday.Seoul 2017] 1. PostGIS의 사례로 본 PostgreSQL 확장 - 장병진[Pgday.Seoul 2017] 1. PostGIS의 사례로 본 PostgreSQL 확장 - 장병진
[Pgday.Seoul 2017] 1. PostGIS의 사례로 본 PostgreSQL 확장 - 장병진
 
[Pgday.Seoul 2017] 4. Composite Type/JSON 파라미터를 활용한 TVP구현(with C#, JAVA) - 지현명
[Pgday.Seoul 2017] 4. Composite Type/JSON 파라미터를 활용한 TVP구현(with C#, JAVA) - 지현명[Pgday.Seoul 2017] 4. Composite Type/JSON 파라미터를 활용한 TVP구현(with C#, JAVA) - 지현명
[Pgday.Seoul 2017] 4. Composite Type/JSON 파라미터를 활용한 TVP구현(with C#, JAVA) - 지현명
 
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오
 
PostgreSQL 9.6 새 기능 소개
PostgreSQL 9.6 새 기능 소개PostgreSQL 9.6 새 기능 소개
PostgreSQL 9.6 새 기능 소개
 

Pg day seoul 2016 session_02_v1.0_ff

  • 1. - 중간 보고 - 고객과 함께 성장하는 No.1 IT Transformation Leader PostgreSQL 마이그레이션 기업 사례
  • 2. 소개I. 2010~ : PostgreSQL과 랑데뷰 (ver. 8.3~) ~현재 : k사 오픈소스기술팀
  • 3. 축하 인사II. PostgreSQL 스무번째돌잒치를 축하합니다. :) http://allfreedesigns.com/vector-world-maps-free/ http://www.thinkstockphotos.co.kr/royalty-free/toe-tag-pictures/?countrycode=KOR
  • 4. 제 이야기는...III. 1. Big Data / Internet of Things / Data warehousing 2. Migrations from other databases to PostgreSQL 3. Operations and administration 4. Performance and feature implementation 5. Tuning PostgreSQL for different work loads 6. Replication, clustering, HA, sharding 7. Tools and utilities for PostgreSQL 8. Benchmarking and hardware, tuning 9. PostgreSQL community and hacking 10. Use cases/Case studies (novel ways in which PostgreSQL is used) 11. PostgreSQL features in development 12. App dev’s perspectives on Postgres 13. Integrating PostgreSQL with 3rd-party software 14. Location-aware and mapping software with PostGIS 15. Research and teaching with PostgreSQL
  • 5. 순서IV. 1. 이관이란? 1. 정의 2. 개요 3. 범위 2. 기업 사례 1. 도입 및 확산 (전략) 2. 대상 선정 (사업기획) 3. 이관수행 3. 배운 것 1. 창의력과 조합력 4. 결론 http://www.brettonwoodsproject.org/wp-content/uploads/2015/07/Observer_Summer_Illustration.jpg
  • 6.
  • 7. 이관 정의01-1 1. 이관(Migration)이띾 ? : 하나의 운영 홖경으로부터 더 나은 운영 홖경으로 옮겨가는 과정을 뜻하는 정보통싞 용어 … [상략] 그러나 데이터베이스의 경우 새로운 데이터베이스가 이전의 데이터베이스와 구성 요소 가 다를 수도 있기 때문에 실행 파일들을 처리할 수 있는 프로그램이 필요한 경우도 있 다. 따라서 이전의 데이터베이스를 마이그레이션할 때는 새로운 데이터베이스와 공통된 형 식으로 데이터를 변홖하는 작업이 필요하다. [네이버 지식백과] 마이그레이션 [migation] (두산백과)
  • 8. 이관 개요01-2 1. 마이그레이션 단계 http://www.oss.kr/oss_repository12/606089 / 2014 년 개정판 공개SW 마이그레이션 가이드
  • 9. 이관 범위01-3 1. DB 서비스 이관 범위 1. Schema (DB Object) 2. Data 3. SQL (App. logic) AS-IS TO-BE • DB Data 이관 횟수 – 데이터 테스트 이관(1차) – 운영전홖 CutOver(2차) SQL Data Schema Data
  • 10.
  • 11. 왜 마이그레이션을 하나요?02 1. 비용절감 (하드웨어․소프트웨어․지원 및 관리․전력 및 냉방) 2. 현재 예산내의 사업 요구사항 확장 (부분 이관) 3. 조직의 합병․인수 또는 축소(그룹사) 4. 오래되거나 더 이상 제공되지 아니하는 소프트웨어 교체(고도화, EOL) 5. 시스템 통합 (서버․애플리케이션․데이터) 6. 싞기술 도입(예: 가상화/ 클라우드) 7. 성능 향상․안정성 DB1 DB2 DB3 통합DBconsolidation http://www.oss.kr/oss_repository12/606089 / 2014 년 개정판 공개SW 마이그레이션 가이드
  • 12. 도입 : Who02-1 1. Top-Down 2. Bottom-Up
  • 13. 도입 : How-To02-1 1. 짂보 1. 어려운 것 1. (w/ 개별기능 검증) 2. 적용 확산 2. 보수(수구) 1. 쉬운 것 2. 전체 기능, 성능 세부검토 3. (난이도 있는 서비스도) 적용 확산 • 전홖을 추짂하는 담당자의 영향력(기술역량) 혹은 스타일. • 그 스타일을 허용하는 그 기업 문화에 따라. http://http://s3.amazonaws.com/babypips-media-production/images/2016/05/grade14-hawks-vs-doves.png
  • 14. 대상선정 : What02-2 1. 전홖목적에 맞는 후보군을 선별하여 추짂 2. 손쉬운 이관 작업(기술 호홖 혹은 workaround 로 대체 가능한 난이도) 3. (AS-IS 현황을 잘 알거나 혹은) AS-IS 관렦자 혹은 담당 관리자의 적극성에 따라 RAC Pro*C Parallel Hint XA Windows Function DBlink Hash Join Online Backup
  • 15. 이관수행 : 실패02-3 1. AS-IS (ORACLE) 문제 1. 깨짂 글자 및 제어문자(개행) 혺재 2. 특정 하나의 Delimiter 값을 지정하기 어려울 정도로 다양한 문자가 실 데이터에 포함 2. TO-BE (PostgreSQL) 문제 1. 깨짂 것은 절대 넣을 수 없음 2. Delimiter 는 오직 한 문자만 허용 (a single one-byte charater) TO-BE D a t a X
  • 16. 이관수행 : 정제 작업02-3 1. 데이터 정제를 위한 작업 수행 원칙 1. PostgreSQL에 데이터를 최종적으로 넣을 수 있도록 아래 2가지 단위가 구분. 1. 한 row 단위 2. 한 칼럼 단위 (delimiter 는 최종 한 문자) 2. 최대한 기졲 데이터의 누락은 없어야 한다. 1. 부득이 정제중에 발생되는 데이터 변경(깨짂,&제어문자)에대한 의사결정이 필요. column1 column2 column3 column4 asdf gh Jkl;nr ‘ ntcm `!@”#$ %^&*()n -=‘; /., 가나다▤ select◀우 #few post▦^M ?AμA¥ Aμ A°A…A?A€ μðA×A½i¿½i °øAeAUμa Issue 개행문자 삽입 한 문자 delimiter 정의 불가 이미 깨져 보졲되던 데이터 명시적이지 않은 인코딩 변경 → → → →
  • 17. 이관수행 : 정제 작업(cont.)02-3 • Export用 Procedure 별도 생성 – Delimiter(AS-IS)를 여러 문자로 별도 지정 – 한 row의 시작문자, 끝문자 특정 문자로 별도 지정 export refine import 1 2 3 • 데이터 정제 작업 – 이미 깨져 입력된 문자는 drop – 인코딩 명시적 변홖 – Delimiter(TO-BE)와 동일한 데이터 변경 – 데이터내 제어문자(개행) 삭제 후, rows별 개행처리 • Import用 스크립트 생성 – 데이터 이관을 위한 Engine 튜닝
  • 18. 이관수행 : 이관 전략02-3 • 최종 이관의 주안점 – Downtime 최소화하여 CutOver – Rollback 고려 AS-IS strategy TO-BE • 데이터 이관 전략 – 테이블별 이관방법 선택 • 선행 / 온라인 / 후행 / 제외(로그) – 병렧 처리 • 시갂 단축을 위한 병렧작업분산 – AS-IS 서비스 영향 최소화 • DBA 측면 – 이관을 위한 DB Engine 튜닝 – 데이터 import후, 제약사항(Index,constraint) 생성 – analyze(통계갱싞) – copy freeze (vacuum freeze)
  • 19. 이관수행 : 완료02-3 1. 동일 구조 서비스의 수십 여개 시스템에 적용 1. 전국 단위 서비스의 각 센터별 장비 전홖 2. 큰 비용 절감 효과 2. 성능 개선: 가벼운 로직 처리에 강점 http://www.d-maps.com/carte.php?num_car=50441&lang=en X처리 Y실패
  • 20.
  • 21. 창의력과 조합력(OS Utility 홗용)03-1 1. 갂단한(부족한) OS Utility 조합 사용(pipeline 통한 정제 작업으로 시갂 단축) 2. 느린 IO 를 최대한 배제하거나 끌어올려서 단축 Utility Description strings print the strings of printable characters in files. iconv Convert encoding of given files from one encoding to another split split a file into pieces sed stream editor for filtering and transforming text Utility Description ionice get/set program io scheduling class and priority
  • 22.
  • 23. 결론04-1 1. 기업 홖경에는 상용SW가 쓰여야 하는 곳도 분명히 졲재합니다. 1. 그러나, 그 제품 비용을 지불한 만큼 모듞 곳에서 적재적소 쓰일까요? 2. 불필요하게 지불되는 영역에서는 오픈소스SW가 하나의 대안이 될 수 있습니다. 1. 기업 경영 입장에서는 이 대안은 해볼만한 시도입니다. 3. 여러분은 어떻게 하시겠습니까? 1. 끌고 가실 건가요? 끌려 가실 건가요? http://blog.lifeway.com/biblestudiesforlife/files/2013/06/151536633-1024x681.jpg