MySQL에서 SAP HANA로 마이그레이션
Ispirer MnMTK 2015는 데이터베이스 스키마 (DDL), 데이터 및 서버측 비즈니스 로직를 MySQL에서 SAP HANA로 마이그레이션할 수 있습니다. 우리는 고객이 자동화된 데이터베이스 및 애플리케이션 마이그레이션 솔루션의 가치를 이해하도록 돕습니다!
MySQL에서 SAP HANA로의 마이그레이션 특징
이 도구는 SAP HANA로의 데이터베이스 오브젝트와 속성을 마이그레이션 합니다:
- 스토어드 프로시저, 함수, 트리거 변환
- 스키머 (DDL) 변환
- 인덱스, 뷰 변환
- 데이터 전송
DDL 변환:
- 열 정의 변환 - 자료 타입, 디폴트 값, NOT NULL 제약조건
- 기본키와 외래키 변환
MySQL:
CREATE TABLE product_description (
`ID` int(11) NOT NULL,
`CATEID` int(11) default NULL,
`LINEID` int(11) default NULL,
`NAME` varchar(50) default NULL,
`DESCRIPTION` varchar(50) default NULL,
`CATENAME` varchar(50) default NULL,
`CATEDESCRIPTION` varchar(50) default NULL,
`LINENAME` varchar(50) default NULL,
`LINEDESCRIPTION` varchar(50) default NULL,
`PRODDATE` datetime default NULL,
PRIMARY KEY (`ID`)
);
SAP HANA:
CREATE TABLE product_description
(
ID INTEGER NOT NULL,
CATEID INTEGER default NULL,
LINEID INTEGER default NULL,
NAME VARCHAR(50) default NULL,
DESCRIPTION VARCHAR(50) default NULL,
CATENAME VARCHAR(50) default NULL,
CATEDESCRIPTION VARCHAR(50) default NULL,
LINENAME VARCHAR(50) default NULL,
LINEDESCRIPTION VARCHAR(50) default NULL,
PRODDATE TIMESTAMP default NULL,
PRIMARY KEY(ID)
);
스토어드 프로시저 변환:
MySQL:
CREATE PROCEDURE CursorProc (INOUT prod_list varchar(4000))
BEGIN
DECLARE v_finished INTEGER DEFAULT 0;
DECLARE v_prod varchar(100) DEFAULT "";
DECLARE prod_cursor CURSOR FOR
SELECT name FROM product_description;
DECLARE CONTINUE HANDLER
FOR NOT FOUND SET v_finished = 1;
OPEN prod_cursor;
get_prod: LOOP
FETCH prod_cursor INTO v_prod;
IF v_finished = 1 THEN
LEAVE get_prod;
END IF;
SET prod_list = CONCAT(v_prod,";",prod_list);
END LOOP get_prod;
CLOSE prod_cursor;
END;
SAP HANA:
CREATE PROCEDURE CursorProc(INOUT prod_list VARCHAR(4000))
LANGUAGE SQLSCRIPT
AS
v_finished INTEGER DEFAULT 0;
v_prod VARCHAR(100) DEFAULT '';
CURSOR prod_cursor FOR
SELECT name FROM product_description;
BEGIN
DECLARE EXIT HANDLER
FOR NOT FOUND v_finished := 1;
OPEN prod_cursor;
LOOP
FETCH prod_cursor INTO v_prod;
IF :v_finished = 1 THEN
BREAK;
END IF;
prod_list := :v_prod || ';';
END LOOP;
CLOSE prod_cursor;
END;
MySQL:
CREATE PROCEDURE `DropCreateTabProc`()
BEGIN
DROP TABLE IF EXISTS HANATEST.ProductLevel;
CREATE TABLE ProductLevel(
ID int ,
PRODUCT int ,
PRLEVEL int ,
MINLEVEL int ,
MAXLEVEL int
);
END;
SAP HANA:
CREATE PROCEDURE DropCreateTabProc LANGUAGE SQLSCRIPT
AS
v_if_exists INTEGER;
BEGIN
v_if_exists := 0;
SELECT COUNT(*) INTO v_if_exists FROM "PUBLIC"."M_TABLES"
WHERE schema_name = 'HANATEST' and table_name = 'PRODUCTLEVEL';
IF :v_if_exists > 0 THEN
DROP TABLE ProductLevel;
END IF;
CREATE TABLE ProductLevel
(
ID INTEGER,
PRODUCT INTEGER,
PRLEVEL INTEGER,
MINLEVEL INTEGER,
MAXLEVEL INTEGER
);
END;
스토어드 함수 변환:
MySQL:
CREATE FUNCTION CurVarFunc(var INT)
RETURNS int(11)
BEGIN
DECLARE var1 INT;
DECLARE v_i CURSOR FOR select employeeNumber from employees;
DECLARE v_i1 CURSOR FOR select employeeNumber from employees_audit;
if var = 1 then
open v_i;
fetch v_i into var1;
close v_i;
end if;
if var <> 1 then
open v_i1;
fetch v_i1 into var1;
close v_i1;
end if;
return var1;
END;
SAP HANA:
CREATE PROCEDURE CurVarFunc(OUT RETURNVAL INTEGER,var INTEGER)
LANGUAGE SQLSCRIPT
AS
var1 INTEGER;
CURSOR v_i FOR select employeeNumber from employees;
CURSOR v_i1 FOR select employeeNumber from employees_audit;
BEGIN
if :var = 1 then
open v_i;
fetch v_i into var1;
close v_i;
end if;
if :var != 1 then
open v_i1;
fetch v_i1 into var1;
close v_i1;
end if;
RETURNVAL := :var1;
END;
트리거 변환:
MySQL:
CREATE TRIGGER before_employee_update
BEFORE UPDATE ON employees FOR EACH ROW
BEGIN
INSERT INTO employees_audit(id, actionc, employeeNumber, lastname,
changedon)
VALUES (OLD.id, 'update', OLD.employeeNumber, OLD.lastname, NOW());
END;
SAP HANA:
CREATE TRIGGER before_employee_update
BEFORE UPDATE
ON employees
REFERENCING OLD ROW OLD
FOR EACH ROW
BEGIN
INSERT INTO employees_audit
(id, actionc, employeeNumber, lastname, changedon)
VALUES(:OLD.id, 'update', :OLD.employeeNumber, :OLD.lastname,
CURRENT_TIMESTAMP);
END;
더 많은 가능성:
- Ispirer MnMTK는 서버측 비즈니스 로직 외에도 프런트 엔드 응용 프로그램 및 스크립트에로 SQL 쿼리를 변환 할 수 있습니다.
- 또한 Ispirer MnMTK는 MySQL 코드를 Java 및 .NET으로 변환 할 수 있습니다.
- 마이그레이션 프로세스 자동화를 위한 Command Line Support
- Migration Validation - 이 툴 테이블 수와 로우 수를 비교할 수 있으며, 모든, 혹은 특정한 컬럼(기본키나 지정된 오더 절을 기반)에 대한 데이터 유효성 검사를 수행할 수 있습니다.
온라인 프리젠테이션은 MySQL에서 SAP HANA로의 데이터베이스 마이그레이션에 대한 예제를 보여줍니다:
MySQL에서 SAP HANA로의 마이그레이션에 왜 Ispirer MnMTK를 사용해야 합니까?
Ispirer MnMTK프로그램과 우리 회사는 저렴한 비용으로 거의 100 %의 자동화된 MySQL에서 SAP HANA로의 마이그레이션을 보장합니다.
Ispirer 주요 이점:
- ~모든 3단계의 ~100%의 자동화 - 일관되고 통합된
- 1 단계 - 데이터베이스 스키머/DDL, 서버측 비즈니스 로직(프로시저, 트리거 등)
- 2 단계 - 데이터 전송과 확인
- 3 단계 - 프론트 엔드 응용 프로그램 코드와 SQL 쿼리/스크립트
- 빠른 고객화 - 업무일 기준 1-2 이내에 무료 수정
- 평가 기간 동안 무료 서비스 - 결정을 내리기 위해 제품을 평가하시는 동안 전체 변환을 제공.
- 낮은 비용 - 유연한 가격을 제공
- 최적화 된 변환 - 지능적인 유지 보수 코드, 변환 후 Ispirer사의 미들웨어를 사용하지 않음
왜 Ispirer서비스?
마이그레이션 프로세스가 너무 복잡하고 복잡해 보인다면 서비스를 사용해보십시오! 우리가 진행하는 전체 마이그레이션 프로젝트를 관리해 드리겠습니다. 게다가, 마이그레이션을 평가, 설계, 구현 및 테스트 할 수 있도록 도와 드리겠습니다.
Ispirer 서비스의 주요 이점:
- 신속한 솔루션 제공;
- 우수한 마이그레이션 전문가;
- 운영 비용 절감.
가장 복잡한 요구 사항을 위해 완벽한 솔루션을 제공할 수 있었습니다!
Ispirer 마이그레이션 솔루션
MySQL에서 SAP HANA로 요청하기
Ispirer 마이그레이션 솔루션
MySQL에서 SAP HANA로 서비스
툴킷
추가 질문이 있으면 언제든지 연락주시기 바랍니다.
|