SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
From MSSQL to MariaDB
2015. 3. 7.
(주)이카운트
허상국
• 경력
- 현) ㈜이카운트
- 전) ㈜온디멘드
- 전) 넥슨JAPAN 러시모(구.QUADDIMENSIONS)
- 전) 예스이십사
발표자 소개
• 이름
- 허 상국
• 커뮤니티
- MySQL Power Group
- SQLTAG.ORG
목차
1 계획 단계
3 향후 계획
2 진행 단계
Migration 수행 개요
 대상 업무
- 어떤 업무를 MSSQL 기반에서 MariaDB로 이관할 업무
 Migration 대상 범위
 Migration 수행 일정
계획단계
구분 대상업무 전환 현황 전환 대상 비고
Object 수 00 개
+Table Type 수 00 개
•MSSQL 기반 Table 대상
•MSSQL Data
+SP, Function Type 수 00 개 •MSSQL 기반 DB 내 Object
APPLICATION 수 00 본 •APPLICATION내 SQL 문 전환 및 적용, 테스트
개발언어 닷넷 •APPLICATION내 SQL 문 전환
업무구분 진행단계 주요 Activity
작업 기간(2014/00/00 ~ 00/00) R&R 비고
W W+1 W+2 W+3 W+4 W+5 W+6 W+7 W+8 개발자 DBA
마이그레이션
대상 업무
분석
환경 분석 O O
환경구축 O O
전환
DB Object 전환 X O
Application 전환 △ O
Data 이관(TEST 이관 포함) X O
TEST
Application TEST 진행 O O
결과 보고서 작성 O O
1
Migration 수행 개요 - Database Schema Migration 세부 계획
계획단계
대상 파악 및 객체분석,데이터
분석, 위험요소 파악
Table, Index,
Function, Procedure
…
Table 건수 파악
오류데이터 검증
[1단계] [2단계] [3단계]
변환객체 검증
보완
시스템 분석 객체변환 데이터 이관
변환 객체 검증
후 보완
MariaDBMSSQL
1
마이그레이션 관련 진단 자동화 툴
 이슈
- SQL Server 에 이관대상 DB OBJECT가 너무 많아서 작업량 산정에 감이 잡히지 않는다 이 문제를 어떻게 해결할 것인가?
- MariaDB로 이관작업을 완료하였다. 제대로 적용했는지 한방에 알 수 있는 방법은 없을까?
계획단계
2
 해결방안
- MySQL Workbench: Database Migration
MySQL Workbench 툴에서 제공해 주는 DATABASE WIZARD 툴을 사용하여 MSSQL의 DB OBJECT 구문을 MariaDB용 DDL문과
MSSQL DB 오브젝트 관련 스크립트를 추출할 수 있다.
- SQL Server Migration Assistant for MySQL (MySQLToSQL)
SQL Server Migration Assistant 툴을 사용하여 구현된 MariaDB 소스에 대한 검토 및 스크립트를 추출할 수 있다.
마이그레이션 관련 진단 자동화 툴 - SQL Server Migration Assistant (SSMA)
계획단계
2
마이그레이션 관련 진단 자동화 툴 - MySQL Workbench Data Migration Wizard
계획단계
2
DEMO
(스크린샷)
목차
2 진행 단계
3 향후 계획
1 계획 단계
데이터 모델링
 이슈
- SQL Server 와 MariaDB는 각각의 고유한 DATA TYPE과 특징을 가지고 있다. 어떻게 작업을 해야 이관대상 DATA들이
MariaDB에 정확하게 저장될 수 있을 것인가?
진행단계
1
 해결방안
- DATA TYPE의 특징에 따라 매핑 Rule을 정의하고 해당 RULE 맞추어 데이터를 이관할 수 있도록 한다.
MSSQL to MariaDB DATA TYPE MAPPING2
SQL Server MariaDB
tinyint TINYINT (UNSIGNED)
smallint SMALLINT
int
MEDIUMINT
INT
bigint BIGINT
 정수
SQL Server MariaDB
Decimal(p,s) DECIMAL(M,D)
 고정 소수점
진행단계
MSSQL to MariaDB DATA TYPE MAPPING - 계속2
SQL Server MariaDB
float(n) FLOAT(N)
float(24) FLOAT(M,D)
float(53)
DOUBLE(M,D)
REAL(M,D)
 부동 소수점
SQL Server MariaDB
bit
BIT
bool / boolean
 BIT
진행단계
MSSQL to MariaDB DATA TYPE MAPPING - 계속2
SQL Server MariaDB
datetime2/datetime DATETIME
date DATE
time TIME
smalldatetime TIMESTAMP
smallint YEAR
 날짜 및 시간
진행단계
MSSQL to MariaDB DATA TYPE MAPPING - 계속2
SQL Server MariaDB
nchar(n) / char(n) CHAR
nvarchar(n|max)/varchar(n|max)
VARCHAR
TINYTEXT
TEXT(M)
MEDIUMTEXT
LONGTEXT
nvarbinary(n|max)/varbinary(n|max)
TINYBLOB
BLOB
MEDIUMBLOB
LONGBLOB
 문자
진행단계
MSSQL to MariaDB DATA TYPE MAPPING - 계속2
SQL Server MariaDB
hierarchyid ?
uniqueidentifier ?
sql_variant ?
table ?
 MSSQL 고유 데이터 타입
진행단계
큰 값 데이터 타입
 이슈
- 이관 대상인 SQL Server 에서는 대량의 데이터를 저장하기 위해 사용되는 varchar(max), nvarchar(max)를 많이 발견되었다.
이런 데이터 타입을 가진 테이블을 MariaDB로 이관할 때 어떤 데이터 타입을 사용해야 할까?
MariaDB는 TEXT or BLOB 의 칼럼들 이외의 레코드의 전체 크기가 64KB를 넘으면 다음과 같은 에러가 발생한다.
진행단계
3
 해결방안
- varchar(max), nvarchar(max) 가 설정된 칼럼들의 데이터 타입이 적절하게 선언되었는지 Application 및 저장된 값들의
최대 크기를 확인 후 데이터 타입을 최적화 시킨다.
- 레코드의 전체 크기가 64KB를 초과하지 않으면 VARCHAR 나 VARBINARY 타입을 사용하자.
파티션테이블
 이슈
- 주기적으로 삭제해야 하는 로그성 테이블에 대한 이관
- Primary Key를 기준으로 균일하게 분포되어 있는 테이블에 대한 이관.
진행단계
4
 해결방안
- MariaDB에서 제공해 주는 파티션의 종류는 크게 6가지가 있다.
- 레인지 파티션, 리스트 파티션, 해시 파티션, 키 파티션, 리니어 해시 파티션/ 리니어 키 파티션, 서브파티션
- 각각의 특징을 파악한 후 가장 적절한 것을 적용하면 된다.
문자집합 & 콜레이션
 이슈
- 다국어 서비스를 하고 있는데 MariaDB에서는 어떤 문자집합과 콜레이션을 사용해야 하는가?
진행단계
5
 문자집합 & 콜레이션 확인
- SELECT * FROM information_schema.columns
WHERE table_schema = ‘mariadb_database’ and table_name = ‘mariadb_table’;
- SHOW CREATE TABLE mariadb_table;
 해결방안
- MariaDB에서 다국어를 지원하기 위해서 지원되는 utf8 를 칼럼의 문자집합으로 사용하면 된다.
- 콜레이션(collation)은 명시적으로 지정하지 않으면 묵시적으로 문자집합의 기본 콜레이션을 사용하게 되는데
utf8의 기본 콜레이션은 utf8_general_ci 콜레이션이다.
자동증가 (AUTO_INCREMENT) 옵션
진행단계
6
 이슈
- innodb 스토리지 엔진에서 AUTO_INCREMENT 칼럼을 가진 테이블을 생성할 때 1075 에러 발생
 해결방안
- innodb 스토리지 엔진에서는 AUTO_INCREMENT 칼럼이 프라이머리 키나 유니크 키 중 적어도 하나의 인덱스에서 제일 앞에
위치하고 있어야 정상적으로 생성된다.
- MyISAM 스토리지 엔진에서는 AUTO_INCREMENT 칼럼이 프라이머리 키나 유니크 키에 위치와 관계 없이 포함되어 있으면
정상적으로 생성된다.
정수 타입 뒤의 길이 지정 값의 의미 및 주의사항
진행단계
7
SQL Server Management Studio
입력된 데이터가 정상적으로 조회됨
데이터이관
 이슈
- SQL Server 에 저장된 DATA를 MariaDB로 어떻게 이관할 것인가?
진행단계
8
 해결방안
- SQL Server 의 SSIS Package를 사용하여 이관작업을 수행한다.
- SQL Server 테이블의 데이터를 텍스트 파일로 데이터를 내보내기 한 후 MariaDB의 LOAD DATA INFILE 명령을 사용하여 이관한다.
- SQL Server 에 Linked Server 로 MariaDB를 등록한 후 OpenQuery 명령을 사용하여 이관한다.
시스템 함수 차이점
진행단계
9
구분 SQL Server MariaDB
구 문 datepart weekday
사용 예 SELECT datepart(dw, ‘2015-03-02’); SELECT weekday(‘2015-03-02’);
결 과
주의사항 * 일요일이 1 ~ 토요일 7 로 RETURN됨 * 월요일이 0 ~ 일요일 6 로 RETURN 됨
테스트 및 검증
진행단계
10
 소스 파일 내에 존재하는 SQL문에 대해서 MariaDB 기반 쿼리로 변환
 변환된 쿼리 구문에 대해 클라이언트 툴 에서 기능 확인
 동적 쿼리 또는 파라미터 변형 등에 대해서는 개발자 검증 작업 시 보정작업 수행
 데이터베이스 처리 방식의 차이로 인한 정렬 및 실수 연산들과 같은 차이점 또한 추가 보정
DBA/개발자 DBA/개발자 업무 담당자
Syntax 검증
기능 검증
중요업무 연계 테스트
테스트 자료 검증
중요업무 검증
기본성능 검증
중요업무 검증
목차
3 향후 계획
2 진행 단계
1 계획 단계
MariaDB vs MSSQL 구문 차이
향후 계획
1
구 분 SQL Server MariaDB
컬럼 추가
ALTER TABLE table_name
ADD column_name column_property
ALTER TABLE table_name
ADD column_name column_property;
컬럼 수정
ALTER TABLE table_name
ALTER COLUMN column_name
new_column_property
ALTER TABLE table_name
MODIFY COLUMN column_name
new_column_property;
컬럼 변경
EXEC sp_rename
Table_name.Old_column_name New_column_name
ALTER TABLE table_name
CHANGE COLUMN Old_column_name New_column_name
new_column_property;
컬럼 삭제
ALTER TABLE table_name
DROP column_name
ALTER TABLE table_name
DROP COLUMN column_name;
컬럼 주석
EXEC sp_addextendedproperty
@name=N’property_name’,
@value=’description’ …
ALTER TABLE table_name
MODIFY COLUMN column_name
column_property COMMENT ‘description’;
구 분 SQL Server MariaDB
테이블
생성
CREATE TABLE [schema].table_name
( column_name data_type column_constraints,
…
table_constraints )
)
[ON filegroup / partition_scheme]
CREATE [OR REPLACE] TABLE [IF NOT EXISTS] tbl_name
(create_definition,...) [table_options ]
... [partition_options]
임시테이블
생성
로컬 임시 테이블:
CREATE TABLE #table_name
전역 임시 테이블:
CREATE TABLE ##table_name
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
(create_definition,...) [table_options ]
... [partition_options]
References
• 3rd Party Tools
– SQL Server Migration Assistant for MySQL (MySQLToSQL)
https://msdn.microsoft.com/en-us/library/hh313109(v=sql.110).aspx
– MySQL Workbench: Database Migration
http://www.mysql.com/products/workbench/migrate/
• 도서
– 이성욱, 개발자와 DBA를 위한 Real MySQL, 위키북스, 2012
– 이성욱, MariaDB 10.0과 MySQL 5.6을 한번에 배우는 Real MariaDB, 위키북스, 2014
– 성동찬, MariaDB 실전 활용 노하우, 한빚미디어, 2014
감사합니다!

Más contenido relacionado

La actualidad más candente

Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編なべ
 
SQLアンチパターン - ジェイウォーク
SQLアンチパターン - ジェイウォークSQLアンチパターン - ジェイウォーク
SQLアンチパターン - ジェイウォークke-m kamekoopa
 
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)MinGeun Park
 
DI(依存性注入)について
DI(依存性注入)についてDI(依存性注入)について
DI(依存性注入)についてYui Ito
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionGanuka Yashantha
 
de:code 2019 SE01 Azure Active Directory のログの"みかた“ - 長期保存・外部 SIEM 連携・分析手法 -
de:code 2019 SE01 Azure Active Directory のログの"みかた“- 長期保存・外部 SIEM 連携・分析手法 -de:code 2019 SE01 Azure Active Directory のログの"みかた“- 長期保存・外部 SIEM 連携・分析手法 -
de:code 2019 SE01 Azure Active Directory のログの"みかた“ - 長期保存・外部 SIEM 連携・分析手法 -Dai Matsui
 
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~Recruit Lifestyle Co., Ltd.
 
半日でわかる コンテナー技術 (応用編)
半日でわかる コンテナー技術 (応用編)半日でわかる コンテナー技術 (応用編)
半日でわかる コンテナー技術 (応用編)Toru Makabe
 
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.jsAmazon Web Services Japan
 
실시간 스트리밍 분석 Kinesis Data Analytics Deep Dive
실시간 스트리밍 분석  Kinesis Data Analytics Deep Dive실시간 스트리밍 분석  Kinesis Data Analytics Deep Dive
실시간 스트리밍 분석 Kinesis Data Analytics Deep DiveAmazon Web Services Korea
 
Form認証で学ぶSpring Security入門
Form認証で学ぶSpring Security入門Form認証で学ぶSpring Security入門
Form認証で学ぶSpring Security入門Ryosuke Uchitate
 
Web Test Automation with Selenium
Web Test Automation with SeleniumWeb Test Automation with Selenium
Web Test Automation with Seleniumvivek_prahlad
 
Node.js API 서버 성능 개선기
Node.js API 서버 성능 개선기Node.js API 서버 성능 개선기
Node.js API 서버 성능 개선기JeongHun Byeon
 
AWS App Runner를 활용한 컨테이너 서버리스 활용기
AWS App Runner를 활용한 컨테이너 서버리스 활용기AWS App Runner를 활용한 컨테이너 서버리스 활용기
AWS App Runner를 활용한 컨테이너 서버리스 활용기JinyoungKim52579
 
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교Amazon Web Services Korea
 
AWS 클라우드 비용 최적화를 위한 TIP - 임성은 AWS 매니저
AWS 클라우드 비용 최적화를 위한 TIP - 임성은 AWS 매니저AWS 클라우드 비용 최적화를 위한 TIP - 임성은 AWS 매니저
AWS 클라우드 비용 최적화를 위한 TIP - 임성은 AWS 매니저Amazon Web Services Korea
 
SSMSでSQL Serverの実行計画を見てSQLチューニング
SSMSでSQL Serverの実行計画を見てSQLチューニングSSMSでSQL Serverの実行計画を見てSQLチューニング
SSMSでSQL Serverの実行計画を見てSQLチューニング釣りキチ翔平
 
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기SeungYong Oh
 

La actualidad más candente (20)

Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編
 
SQLアンチパターン - ジェイウォーク
SQLアンチパターン - ジェイウォークSQLアンチパターン - ジェイウォーク
SQLアンチパターン - ジェイウォーク
 
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
 
DI(依存性注入)について
DI(依存性注入)についてDI(依存性注入)について
DI(依存性注入)について
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introduction
 
Spring と TDD
Spring と TDDSpring と TDD
Spring と TDD
 
de:code 2019 SE01 Azure Active Directory のログの"みかた“ - 長期保存・外部 SIEM 連携・分析手法 -
de:code 2019 SE01 Azure Active Directory のログの"みかた“- 長期保存・外部 SIEM 連携・分析手法 -de:code 2019 SE01 Azure Active Directory のログの"みかた“- 長期保存・外部 SIEM 連携・分析手法 -
de:code 2019 SE01 Azure Active Directory のログの"みかた“ - 長期保存・外部 SIEM 連携・分析手法 -
 
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
 
半日でわかる コンテナー技術 (応用編)
半日でわかる コンテナー技術 (応用編)半日でわかる コンテナー技術 (応用編)
半日でわかる コンテナー技術 (応用編)
 
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js
 
실시간 스트리밍 분석 Kinesis Data Analytics Deep Dive
실시간 스트리밍 분석  Kinesis Data Analytics Deep Dive실시간 스트리밍 분석  Kinesis Data Analytics Deep Dive
실시간 스트리밍 분석 Kinesis Data Analytics Deep Dive
 
Form認証で学ぶSpring Security入門
Form認証で学ぶSpring Security入門Form認証で学ぶSpring Security入門
Form認証で学ぶSpring Security入門
 
AWS CLIでAssumeRole
AWS CLIでAssumeRoleAWS CLIでAssumeRole
AWS CLIでAssumeRole
 
Web Test Automation with Selenium
Web Test Automation with SeleniumWeb Test Automation with Selenium
Web Test Automation with Selenium
 
Node.js API 서버 성능 개선기
Node.js API 서버 성능 개선기Node.js API 서버 성능 개선기
Node.js API 서버 성능 개선기
 
AWS App Runner를 활용한 컨테이너 서버리스 활용기
AWS App Runner를 활용한 컨테이너 서버리스 활용기AWS App Runner를 활용한 컨테이너 서버리스 활용기
AWS App Runner를 활용한 컨테이너 서버리스 활용기
 
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
 
AWS 클라우드 비용 최적화를 위한 TIP - 임성은 AWS 매니저
AWS 클라우드 비용 최적화를 위한 TIP - 임성은 AWS 매니저AWS 클라우드 비용 최적화를 위한 TIP - 임성은 AWS 매니저
AWS 클라우드 비용 최적화를 위한 TIP - 임성은 AWS 매니저
 
SSMSでSQL Serverの実行計画を見てSQLチューニング
SSMSでSQL Serverの実行計画を見てSQLチューニングSSMSでSQL Serverの実行計画を見てSQLチューニング
SSMSでSQL Serverの実行計画を見てSQLチューニング
 
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
 

Similar a From MSSQL to MariaDB

MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바NeoClova
 
MariaDB 제품 소개
MariaDB 제품 소개MariaDB 제품 소개
MariaDB 제품 소개NeoClova
 
MySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptxMySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptxNeoClova
 
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
 
개발자도 알아야 하는 DBMS튜닝
개발자도 알아야 하는 DBMS튜닝개발자도 알아야 하는 DBMS튜닝
개발자도 알아야 하는 DBMS튜닝정해 이
 
Maria db
Maria dbMaria db
Maria dbymtech
 
MariaDB
MariaDBMariaDB
MariaDBymtech
 
Ddd start 부록 지앤선&ksug
Ddd start 부록 지앤선&ksugDdd start 부록 지앤선&ksug
Ddd start 부록 지앤선&ksugbeom kyun choi
 
MariaDB Administrator 교육
MariaDB Administrator 교육 MariaDB Administrator 교육
MariaDB Administrator 교육 Sangmo Kim
 
No sql survey report
No sql survey reportNo sql survey report
No sql survey reportGichan Lee
 
제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-30Donghan 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-30Donghan Kim
 
SQL Server to Azure SQL Database Migration
SQL Server to Azure SQL Database MigrationSQL Server to Azure SQL Database Migration
SQL Server to Azure SQL Database Migrationrockplace
 
07.실행환경 교육교재(표준프레임워크 세부 적용기준)
07.실행환경 교육교재(표준프레임워크 세부 적용기준)07.실행환경 교육교재(표준프레임워크 세부 적용기준)
07.실행환경 교육교재(표준프레임워크 세부 적용기준)Hankyo
 
From MSSQL to MySQL
From MSSQL to MySQLFrom MSSQL to MySQL
From MSSQL to MySQLI Goo Lee
 
실전 DataSnap!
실전 DataSnap!실전 DataSnap!
실전 DataSnap!Devgear
 
[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDW[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDWPgDay.Seoul
 
보다 빠른 SQL튜닝과 분석을 위한 새로운 툴
보다 빠른 SQL튜닝과 분석을 위한 새로운 툴보다 빠른 SQL튜닝과 분석을 위한 새로운 툴
보다 빠른 SQL튜닝과 분석을 위한 새로운 툴Devgear
 
CDNetowks MariaDB 5.5 Upgrade Case Study
CDNetowks MariaDB 5.5 Upgrade Case StudyCDNetowks MariaDB 5.5 Upgrade Case Study
CDNetowks MariaDB 5.5 Upgrade Case StudySoo Hyun Park
 

Similar a From MSSQL to MariaDB (20)

MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바
 
MariaDB 제품 소개
MariaDB 제품 소개MariaDB 제품 소개
MariaDB 제품 소개
 
MySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptxMySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptx
 
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
 
개발자도 알아야 하는 DBMS튜닝
개발자도 알아야 하는 DBMS튜닝개발자도 알아야 하는 DBMS튜닝
개발자도 알아야 하는 DBMS튜닝
 
Maria db
Maria dbMaria db
Maria db
 
MariaDB
MariaDBMariaDB
MariaDB
 
Ddd start 부록 지앤선&ksug
Ddd start 부록 지앤선&ksugDdd start 부록 지앤선&ksug
Ddd start 부록 지앤선&ksug
 
MariaDB Administrator 교육
MariaDB Administrator 교육 MariaDB Administrator 교육
MariaDB Administrator 교육
 
No sql survey report
No sql survey reportNo sql survey report
No sql survey report
 
DB innovation conference 2020
DB innovation conference 2020DB innovation conference 2020
DB innovation conference 2020
 
제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
 
제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
 
SQL Server to Azure SQL Database Migration
SQL Server to Azure SQL Database MigrationSQL Server to Azure SQL Database Migration
SQL Server to Azure SQL Database Migration
 
07.실행환경 교육교재(표준프레임워크 세부 적용기준)
07.실행환경 교육교재(표준프레임워크 세부 적용기준)07.실행환경 교육교재(표준프레임워크 세부 적용기준)
07.실행환경 교육교재(표준프레임워크 세부 적용기준)
 
From MSSQL to MySQL
From MSSQL to MySQLFrom MSSQL to MySQL
From MSSQL to MySQL
 
실전 DataSnap!
실전 DataSnap!실전 DataSnap!
실전 DataSnap!
 
[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDW[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDW
 
보다 빠른 SQL튜닝과 분석을 위한 새로운 툴
보다 빠른 SQL튜닝과 분석을 위한 새로운 툴보다 빠른 SQL튜닝과 분석을 위한 새로운 툴
보다 빠른 SQL튜닝과 분석을 위한 새로운 툴
 
CDNetowks MariaDB 5.5 Upgrade Case Study
CDNetowks MariaDB 5.5 Upgrade Case StudyCDNetowks MariaDB 5.5 Upgrade Case Study
CDNetowks MariaDB 5.5 Upgrade Case Study
 

Más de I Goo Lee

MySQL_Fabric_운영시유의사항
MySQL_Fabric_운영시유의사항MySQL_Fabric_운영시유의사항
MySQL_Fabric_운영시유의사항I Goo Lee
 
MySQL Deep dive with FusionIO
MySQL Deep dive with FusionIOMySQL Deep dive with FusionIO
MySQL Deep dive with FusionIOI 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
 
텔레그램을 이용한 양방향 모니터링 시스템 구축
텔레그램을 이용한 양방향 모니터링 시스템 구축텔레그램을 이용한 양방향 모니터링 시스템 구축
텔레그램을 이용한 양방향 모니터링 시스템 구축I Goo Lee
 
Federated Engine 실무적용사례
Federated Engine 실무적용사례Federated Engine 실무적용사례
Federated Engine 실무적용사례I Goo Lee
 
MySQL 상태 메시지 분석 및 활용
MySQL 상태 메시지 분석 및 활용MySQL 상태 메시지 분석 및 활용
MySQL 상태 메시지 분석 및 활용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 ImprovementI 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
 
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
MS 빅데이터 서비스 및 게임사 PoC 사례 소개MS 빅데이터 서비스 및 게임사 PoC 사례 소개
MS 빅데이터 서비스 및 게임사 PoC 사례 소개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
 
AWS 환경에서 MySQL BMT
AWS 환경에서 MySQL BMTAWS 환경에서 MySQL BMT
AWS 환경에서 MySQL BMTI 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 & ELKI 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 ELKI Goo Lee
 
PostgreSQL 이야기
PostgreSQL 이야기PostgreSQL 이야기
PostgreSQL 이야기I Goo Lee
 
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
 
Binlog Servers 구축사례
Binlog Servers 구축사례Binlog Servers 구축사례
Binlog Servers 구축사례I Goo Lee
 
Intro ProxySQL
Intro ProxySQLIntro ProxySQL
Intro ProxySQLI Goo Lee
 

Más de I Goo Lee (20)

MySQL_Fabric_운영시유의사항
MySQL_Fabric_운영시유의사항MySQL_Fabric_운영시유의사항
MySQL_Fabric_운영시유의사항
 
MySQL Deep dive with FusionIO
MySQL Deep dive with FusionIOMySQL Deep dive with FusionIO
MySQL Deep dive with FusionIO
 
AWS Aurora 100% 활용하기
AWS Aurora 100% 활용하기AWS Aurora 100% 활용하기
AWS Aurora 100% 활용하기
 
Backup automation in KAKAO
Backup automation in KAKAO Backup automation in KAKAO
Backup automation in KAKAO
 
텔레그램을 이용한 양방향 모니터링 시스템 구축
텔레그램을 이용한 양방향 모니터링 시스템 구축텔레그램을 이용한 양방향 모니터링 시스템 구축
텔레그램을 이용한 양방향 모니터링 시스템 구축
 
Federated Engine 실무적용사례
Federated Engine 실무적용사례Federated Engine 실무적용사례
Federated Engine 실무적용사례
 
MySQL 상태 메시지 분석 및 활용
MySQL 상태 메시지 분석 및 활용MySQL 상태 메시지 분석 및 활용
MySQL 상태 메시지 분석 및 활용
 
MySQL 5.7 NF – Optimizer Improvement
 MySQL 5.7 NF – Optimizer Improvement MySQL 5.7 NF – Optimizer Improvement
MySQL 5.7 NF – Optimizer Improvement
 
MySQL 5.7 NF – JSON Datatype 활용
MySQL 5.7 NF – JSON Datatype 활용MySQL 5.7 NF – JSON Datatype 활용
MySQL 5.7 NF – JSON Datatype 활용
 
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)
 
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
MS 빅데이터 서비스 및 게임사 PoC 사례 소개MS 빅데이터 서비스 및 게임사 PoC 사례 소개
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
 
AWS 환경에서 MySQL Infra 설계하기-2본론
AWS 환경에서 MySQL Infra 설계하기-2본론AWS 환경에서 MySQL Infra 설계하기-2본론
AWS 환경에서 MySQL Infra 설계하기-2본론
 
AWS 환경에서 MySQL Infra 설계하기-1도입부분
AWS 환경에서 MySQL Infra 설계하기-1도입부분AWS 환경에서 MySQL Infra 설계하기-1도입부분
AWS 환경에서 MySQL Infra 설계하기-1도입부분
 
AWS 환경에서 MySQL BMT
AWS 환경에서 MySQL BMTAWS 환경에서 MySQL BMT
AWS 환경에서 MySQL BMT
 
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
 
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
 
PostgreSQL 이야기
PostgreSQL 이야기PostgreSQL 이야기
PostgreSQL 이야기
 
Intro KaKao ADT (Almighty Data Transmitter)
Intro KaKao ADT (Almighty Data Transmitter)Intro KaKao ADT (Almighty Data Transmitter)
Intro KaKao ADT (Almighty Data Transmitter)
 
Binlog Servers 구축사례
Binlog Servers 구축사례Binlog Servers 구축사례
Binlog Servers 구축사례
 
Intro ProxySQL
Intro ProxySQLIntro ProxySQL
Intro ProxySQL
 

From MSSQL to MariaDB

  • 1. From MSSQL to MariaDB 2015. 3. 7. (주)이카운트 허상국
  • 2. • 경력 - 현) ㈜이카운트 - 전) ㈜온디멘드 - 전) 넥슨JAPAN 러시모(구.QUADDIMENSIONS) - 전) 예스이십사 발표자 소개 • 이름 - 허 상국 • 커뮤니티 - MySQL Power Group - SQLTAG.ORG
  • 3. 목차 1 계획 단계 3 향후 계획 2 진행 단계
  • 4. Migration 수행 개요  대상 업무 - 어떤 업무를 MSSQL 기반에서 MariaDB로 이관할 업무  Migration 대상 범위  Migration 수행 일정 계획단계 구분 대상업무 전환 현황 전환 대상 비고 Object 수 00 개 +Table Type 수 00 개 •MSSQL 기반 Table 대상 •MSSQL Data +SP, Function Type 수 00 개 •MSSQL 기반 DB 내 Object APPLICATION 수 00 본 •APPLICATION내 SQL 문 전환 및 적용, 테스트 개발언어 닷넷 •APPLICATION내 SQL 문 전환 업무구분 진행단계 주요 Activity 작업 기간(2014/00/00 ~ 00/00) R&R 비고 W W+1 W+2 W+3 W+4 W+5 W+6 W+7 W+8 개발자 DBA 마이그레이션 대상 업무 분석 환경 분석 O O 환경구축 O O 전환 DB Object 전환 X O Application 전환 △ O Data 이관(TEST 이관 포함) X O TEST Application TEST 진행 O O 결과 보고서 작성 O O 1
  • 5. Migration 수행 개요 - Database Schema Migration 세부 계획 계획단계 대상 파악 및 객체분석,데이터 분석, 위험요소 파악 Table, Index, Function, Procedure … Table 건수 파악 오류데이터 검증 [1단계] [2단계] [3단계] 변환객체 검증 보완 시스템 분석 객체변환 데이터 이관 변환 객체 검증 후 보완 MariaDBMSSQL 1
  • 6. 마이그레이션 관련 진단 자동화 툴  이슈 - SQL Server 에 이관대상 DB OBJECT가 너무 많아서 작업량 산정에 감이 잡히지 않는다 이 문제를 어떻게 해결할 것인가? - MariaDB로 이관작업을 완료하였다. 제대로 적용했는지 한방에 알 수 있는 방법은 없을까? 계획단계 2  해결방안 - MySQL Workbench: Database Migration MySQL Workbench 툴에서 제공해 주는 DATABASE WIZARD 툴을 사용하여 MSSQL의 DB OBJECT 구문을 MariaDB용 DDL문과 MSSQL DB 오브젝트 관련 스크립트를 추출할 수 있다. - SQL Server Migration Assistant for MySQL (MySQLToSQL) SQL Server Migration Assistant 툴을 사용하여 구현된 MariaDB 소스에 대한 검토 및 스크립트를 추출할 수 있다.
  • 7. 마이그레이션 관련 진단 자동화 툴 - SQL Server Migration Assistant (SSMA) 계획단계 2
  • 8. 마이그레이션 관련 진단 자동화 툴 - MySQL Workbench Data Migration Wizard 계획단계 2
  • 10. 목차 2 진행 단계 3 향후 계획 1 계획 단계
  • 11. 데이터 모델링  이슈 - SQL Server 와 MariaDB는 각각의 고유한 DATA TYPE과 특징을 가지고 있다. 어떻게 작업을 해야 이관대상 DATA들이 MariaDB에 정확하게 저장될 수 있을 것인가? 진행단계 1  해결방안 - DATA TYPE의 특징에 따라 매핑 Rule을 정의하고 해당 RULE 맞추어 데이터를 이관할 수 있도록 한다.
  • 12. MSSQL to MariaDB DATA TYPE MAPPING2 SQL Server MariaDB tinyint TINYINT (UNSIGNED) smallint SMALLINT int MEDIUMINT INT bigint BIGINT  정수 SQL Server MariaDB Decimal(p,s) DECIMAL(M,D)  고정 소수점 진행단계
  • 13. MSSQL to MariaDB DATA TYPE MAPPING - 계속2 SQL Server MariaDB float(n) FLOAT(N) float(24) FLOAT(M,D) float(53) DOUBLE(M,D) REAL(M,D)  부동 소수점 SQL Server MariaDB bit BIT bool / boolean  BIT 진행단계
  • 14. MSSQL to MariaDB DATA TYPE MAPPING - 계속2 SQL Server MariaDB datetime2/datetime DATETIME date DATE time TIME smalldatetime TIMESTAMP smallint YEAR  날짜 및 시간 진행단계
  • 15. MSSQL to MariaDB DATA TYPE MAPPING - 계속2 SQL Server MariaDB nchar(n) / char(n) CHAR nvarchar(n|max)/varchar(n|max) VARCHAR TINYTEXT TEXT(M) MEDIUMTEXT LONGTEXT nvarbinary(n|max)/varbinary(n|max) TINYBLOB BLOB MEDIUMBLOB LONGBLOB  문자 진행단계
  • 16. MSSQL to MariaDB DATA TYPE MAPPING - 계속2 SQL Server MariaDB hierarchyid ? uniqueidentifier ? sql_variant ? table ?  MSSQL 고유 데이터 타입 진행단계
  • 17. 큰 값 데이터 타입  이슈 - 이관 대상인 SQL Server 에서는 대량의 데이터를 저장하기 위해 사용되는 varchar(max), nvarchar(max)를 많이 발견되었다. 이런 데이터 타입을 가진 테이블을 MariaDB로 이관할 때 어떤 데이터 타입을 사용해야 할까? MariaDB는 TEXT or BLOB 의 칼럼들 이외의 레코드의 전체 크기가 64KB를 넘으면 다음과 같은 에러가 발생한다. 진행단계 3  해결방안 - varchar(max), nvarchar(max) 가 설정된 칼럼들의 데이터 타입이 적절하게 선언되었는지 Application 및 저장된 값들의 최대 크기를 확인 후 데이터 타입을 최적화 시킨다. - 레코드의 전체 크기가 64KB를 초과하지 않으면 VARCHAR 나 VARBINARY 타입을 사용하자.
  • 18. 파티션테이블  이슈 - 주기적으로 삭제해야 하는 로그성 테이블에 대한 이관 - Primary Key를 기준으로 균일하게 분포되어 있는 테이블에 대한 이관. 진행단계 4  해결방안 - MariaDB에서 제공해 주는 파티션의 종류는 크게 6가지가 있다. - 레인지 파티션, 리스트 파티션, 해시 파티션, 키 파티션, 리니어 해시 파티션/ 리니어 키 파티션, 서브파티션 - 각각의 특징을 파악한 후 가장 적절한 것을 적용하면 된다.
  • 19. 문자집합 & 콜레이션  이슈 - 다국어 서비스를 하고 있는데 MariaDB에서는 어떤 문자집합과 콜레이션을 사용해야 하는가? 진행단계 5  문자집합 & 콜레이션 확인 - SELECT * FROM information_schema.columns WHERE table_schema = ‘mariadb_database’ and table_name = ‘mariadb_table’; - SHOW CREATE TABLE mariadb_table;  해결방안 - MariaDB에서 다국어를 지원하기 위해서 지원되는 utf8 를 칼럼의 문자집합으로 사용하면 된다. - 콜레이션(collation)은 명시적으로 지정하지 않으면 묵시적으로 문자집합의 기본 콜레이션을 사용하게 되는데 utf8의 기본 콜레이션은 utf8_general_ci 콜레이션이다.
  • 20. 자동증가 (AUTO_INCREMENT) 옵션 진행단계 6  이슈 - innodb 스토리지 엔진에서 AUTO_INCREMENT 칼럼을 가진 테이블을 생성할 때 1075 에러 발생  해결방안 - innodb 스토리지 엔진에서는 AUTO_INCREMENT 칼럼이 프라이머리 키나 유니크 키 중 적어도 하나의 인덱스에서 제일 앞에 위치하고 있어야 정상적으로 생성된다. - MyISAM 스토리지 엔진에서는 AUTO_INCREMENT 칼럼이 프라이머리 키나 유니크 키에 위치와 관계 없이 포함되어 있으면 정상적으로 생성된다.
  • 21. 정수 타입 뒤의 길이 지정 값의 의미 및 주의사항 진행단계 7 SQL Server Management Studio 입력된 데이터가 정상적으로 조회됨
  • 22. 데이터이관  이슈 - SQL Server 에 저장된 DATA를 MariaDB로 어떻게 이관할 것인가? 진행단계 8  해결방안 - SQL Server 의 SSIS Package를 사용하여 이관작업을 수행한다. - SQL Server 테이블의 데이터를 텍스트 파일로 데이터를 내보내기 한 후 MariaDB의 LOAD DATA INFILE 명령을 사용하여 이관한다. - SQL Server 에 Linked Server 로 MariaDB를 등록한 후 OpenQuery 명령을 사용하여 이관한다.
  • 23. 시스템 함수 차이점 진행단계 9 구분 SQL Server MariaDB 구 문 datepart weekday 사용 예 SELECT datepart(dw, ‘2015-03-02’); SELECT weekday(‘2015-03-02’); 결 과 주의사항 * 일요일이 1 ~ 토요일 7 로 RETURN됨 * 월요일이 0 ~ 일요일 6 로 RETURN 됨
  • 24. 테스트 및 검증 진행단계 10  소스 파일 내에 존재하는 SQL문에 대해서 MariaDB 기반 쿼리로 변환  변환된 쿼리 구문에 대해 클라이언트 툴 에서 기능 확인  동적 쿼리 또는 파라미터 변형 등에 대해서는 개발자 검증 작업 시 보정작업 수행  데이터베이스 처리 방식의 차이로 인한 정렬 및 실수 연산들과 같은 차이점 또한 추가 보정 DBA/개발자 DBA/개발자 업무 담당자 Syntax 검증 기능 검증 중요업무 연계 테스트 테스트 자료 검증 중요업무 검증 기본성능 검증 중요업무 검증
  • 25. 목차 3 향후 계획 2 진행 단계 1 계획 단계
  • 26. MariaDB vs MSSQL 구문 차이 향후 계획 1 구 분 SQL Server MariaDB 컬럼 추가 ALTER TABLE table_name ADD column_name column_property ALTER TABLE table_name ADD column_name column_property; 컬럼 수정 ALTER TABLE table_name ALTER COLUMN column_name new_column_property ALTER TABLE table_name MODIFY COLUMN column_name new_column_property; 컬럼 변경 EXEC sp_rename Table_name.Old_column_name New_column_name ALTER TABLE table_name CHANGE COLUMN Old_column_name New_column_name new_column_property; 컬럼 삭제 ALTER TABLE table_name DROP column_name ALTER TABLE table_name DROP COLUMN column_name; 컬럼 주석 EXEC sp_addextendedproperty @name=N’property_name’, @value=’description’ … ALTER TABLE table_name MODIFY COLUMN column_name column_property COMMENT ‘description’; 구 분 SQL Server MariaDB 테이블 생성 CREATE TABLE [schema].table_name ( column_name data_type column_constraints, … table_constraints ) ) [ON filegroup / partition_scheme] CREATE [OR REPLACE] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [table_options ] ... [partition_options] 임시테이블 생성 로컬 임시 테이블: CREATE TABLE #table_name 전역 임시 테이블: CREATE TABLE ##table_name CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [table_options ] ... [partition_options]
  • 27. References • 3rd Party Tools – SQL Server Migration Assistant for MySQL (MySQLToSQL) https://msdn.microsoft.com/en-us/library/hh313109(v=sql.110).aspx – MySQL Workbench: Database Migration http://www.mysql.com/products/workbench/migrate/ • 도서 – 이성욱, 개발자와 DBA를 위한 Real MySQL, 위키북스, 2012 – 이성욱, MariaDB 10.0과 MySQL 5.6을 한번에 배우는 Real MariaDB, 위키북스, 2014 – 성동찬, MariaDB 실전 활용 노하우, 한빚미디어, 2014