MySQL/PostgreSQL 데이터베이스 마이그레이션 도구

MySQL 및 PostgreSQL 데이터베이스를 변환합니다

  • MySQL, PostgreSQL 및 주요 SQL 데이터베이스를 모두 지원합니다
  • SQL 데이터베이스를 NoSQL 데이터베이스로 변환합니다
  • 코딩 없이, 그래픽 인터페이스를 통해 데이터 매핑을 수행합니다
  • 지도 데이터베이스의 데이터를 다른 데이터 형식으로 변환하거나, 그 반대로 변환합니다
  • 데이터베이스 키 설정 지정
  • 빠른 변환 속도와 합리적인 가격의 자동화 옵션을 제공합니다
  • 출력 로깅 및 오류 처리
  • 데이터베이스 테이블 작업 정의
  • 데이터베이스를 직접 쿼리합니다
  • 데이터베이스 입력 구성 요소들을 정렬합니다

MySQL을 PostgreSQL로 변환합니다

MapForce는 주로 MySQL과 PostgreSQL 데이터베이스 간의 데이터 마이그레이션에 활용됩니다. MapForce는 그래픽 기반의 직관적인 데이터 매핑 도구를 제공하며, 드래그 앤 드롭 방식으로 쉽게 사용할 수 있습니다. 또한, 다양한 필터와 데이터 처리 기능을 포함한 풍부한 라이브러리를 통해 원본 데이터를 원하는 형태로 변환할 수 있습니다.

MapForce의 데이터베이스 연결 마법사를 사용하면 쉽게 데이터베이스에 연결할 수 있습니다. SQLite 연결은 SQLite 데이터베이스 파일에 대한 기본 연결 방식으로 지원됩니다. 별도의 드라이버가 필요하지 않습니다. PostgreSQL 연결은 기본 연결 방식과 함께 ODBC 또는 JDBC와 같은 인터페이스(드라이버)를 통한 드라이버 기반 연결 방식도 지원됩니다. 기본 연결 방식은 별도의 드라이버를 필요로 하지 않습니다.

MySQL 및 PostgreSQL 데이터베이스 구조를 매핑 창에 불러오면, MapForce는 데이터베이스 스키마를 자동으로 해석하고, 사용 가능한 데이터베이스 테이블 및 뷰를 선택할 수 있도록 하며, 테이블 간의 관계를 인식합니다.

MapForce에서 MySQL을 PostgreSQL로 변환하는 방법

데이터베이스 매핑에 필요한 모든 콘텐츠 모델을 로드한 후에는, 소스(원본)와 대상 구조 간에 연결선을 간단히 드래그하여 연결하면 매핑이 완료됩니다.

코딩 없이 사용할 수 있는 MapForce 기능을 활용하면, 일반적인 데이터 변환 요구 사항을 쉽게 충족할 수 있습니다. 예를 들어:

  • PostgreSQL을 MySQL로 변환합니다
  • PostgreSQL에서 MySQL로 데이터베이스를 이전합니다
  • PostgreSQL 데이터를 MySQL로 내보내기
  • MySQL을 PostgreSQL로 변환합니다

데이터 필터링 및 처리

많은 데이터베이스 매핑 작업은 소스 데이터와 대상 데이터를 연결하는 과정에서, 부울 조건이나 SQL, SQL/XML 문을 기반으로 데이터를 변환해야 합니다. 이 과정에서 논리적인 비교, 수학적 계산, 문자열 처리 등의 작업을 수행하거나, 특정 값의 데이터베이스 데이터를 확인하고, 데이터에 대한 다른 수정 작업을 수행해야 할 수도 있습니다. 위 스크린샷에서 데이터 처리 기능은 소스 데이터 모델과 대상 데이터 모델을 연결하는 선들 사이에 나타나는 박스 형태로 표시됩니다.

데이터 처리 기능은 다양한 실제 데이터 변환 요구 사항에 맞춰, 실시간으로 고급 데이터베이스 매핑 작업을 수행할 수 있도록 지원합니다.

실시간 데이터베이스 변환

매핑 작업이 완료되면, 내장된 MapForce 엔진을 통해 단 한 번의 클릭으로 결과를 확인하고 저장할 수 있습니다.

MySQL 데이터를 PostgreSQL 데이터로 변환하는 과정은 SQL 스크립트(예: SELECT, INSERT, UPDATE, DELETE 문)를 생성하며, 이 스크립트들이 MapForce 내에서 직접 대상 데이터베이스에 실행됩니다.

결과물을 미리 확인한 후, MapForce 서버를 통해 데이터 변환 과정을 자동화할 수 있는 옵션을 선택할 수 있습니다.

데이터베이스 출력 로깅 (추적)

데이터베이스 출력 추적 기능을 사용하면 매핑 작업이 PostgreSQL 또는 MySQL 데이터베이스에 적용되는 모든 변경 사항을 매핑 실행 중에 쉽게 기록할 수 있습니다.

추적 기능이 활성화되면, 데이터베이스에 데이터를 삽입하거나 수정하는 작업, 또는 오류와 같은 이벤트들이 XML 파일에 기록됩니다. 이 파일을 나중에 분석하거나, 자동화된 방식으로 추가적인 처리를 수행할 수 있습니다.

데이터베이스 추적 기능은 데이터베이스 구성 요소, 테이블, 저장 프로시저 또는 데이터베이스 필드 수준에서 활성화할 수 있습니다. 모든 메시지를 추적하거나 오류만 추적하도록 설정할 수도 있으며, 필요에 따라 추적 기능을 완전히 비활성화할 수도 있습니다.

원하는 추적 수준을 선택하면, 매핑 프로젝트에서 해당 데이터베이스 구성 요소에 로그 구조를 보여주는 XML 트리 형태로 정보가 추가됩니다. 만약 로그 파일을 XML 형식이 아닌 다른 형식으로 저장하고 싶다면, MapForce에서 지원하는 다른 데이터 형식(예: 텍스트 파일 또는 다른 데이터베이스)으로 데이터를 매핑할 수 있습니다.

매핑 결과를 미리보기 위해 "출력" 버튼을 클릭하면, 매핑이 실행될 때 트레이스 로그가 어떻게 표시될지 보여주는 예시를 확인할 수 있습니다.

데이터베이스 변환 과정에서 발생하는 이벤트를 기록하기 위한 데이터베이스 추적 기능

데이터베이스 트랜잭션 오류 처리

MapForce는 데이터베이스 변환 과정에서 오류가 발생했을 때, 영향을 받은 데이터베이스 부분만 되돌리고, 필요에 따라 나머지 매핑 작업은 계속 진행할 수 있는 데이터베이스 트랜잭션 처리 기능을 제공합니다.

때로는 데이터베이스 매핑 과정에서 오류가 발생하지만, 이로 인해 전체 매핑 작업이 중단되지는 않습니다. 예를 들어, 특정 데이터베이스 제약 조건 때문에 유효하지 않은 데이터를 삽입하거나 업데이트할 수 없을 때 오류가 발생할 수 있습니다.

데이터베이스 트랜잭션 처리를 활성화하면 데이터베이스 컴포넌트에서 수행되는 모든 변경 사항이 트랜잭션 내에 포함됩니다. 오류가 발생하면 이 트랜잭션이 롤백됩니다. 사용자는 오류 발생 시 매핑의 나머지 부분을 계속 진행하거나, 매핑 실행을 중단하도록 선택할 수 있습니다. 트랜잭션은 데이터베이스 컴포넌트 수준과 테이블 작업 수준에서 모두 활성화할 수 있습니다.

오류 처리를 위한 데이터베이스 트랜잭션 활성화

이 기능은 매핑 설계자가 유효한 입력 데이터를 정확하게 처리하고, 유효하지 않은 데이터는 무시하고자 할 때 매우 유용합니다.

고급 데이터베이스 매핑

MapForce는 데이터베이스 매핑 및 통합 기능을 강화하기 위해, 직접 데이터베이스 쿼리를 수행할 수 있는 "데이터베이스 쿼리" 탭을 제공합니다. "데이터베이스 쿼리" 탭을 사용하여 데이터베이스에 연결하면, MapForce는 브라우저 창에 해당 데이터베이스의 테이블들을 계층 구조의 트리 형태로 표시합니다. MapForce는 단순히 MySQL과 PostgreSQL만 지원하는 것이 아니라, 다음과 같은 전문적인 지원도 제공합니다

  • 불새
  • IBM DB2 for iSeries 시스템용 데이터베이스
  • IBM DB2®
  • 인포믹스®
  • MariaDB
  • 마이크로소프트 액세스™
  • Microsoft® Azure SQL (Azure SQL 데이터베이스)
  • Microsoft® SQL 서버®
  • MySQL (마이SQL)®
  • Oracle®
  • PostgreSQL (포스트그레스SQL)
  • Progress OpenEdge
  • SQLite는 임베디드형 관계형 데이터베이스 관리 시스템입니다
  • 시베이스(Sybase)®
  • 테라데이터
  • MongoDB는 NoSQL 데이터베이스입니다
  • CouchDB
데이터베이스 변환 매핑을 정의하는 동시에 데이터베이스를 쿼리합니다

SQL 편집기 탭을 사용하여 기존 SQL 파일을 열거나, 드래그 앤 드롭 기능과 자동 완성 기능을 활용하여 SQL 문을 처음부터 직접 작성하여 SQL 문을 표시, 편집하고 실행할 수 있습니다.

SQL 스크립트를 실행하고 결과를 표 형식으로 확인할 수 있으며, 검색된 데이터와 SQL 스크립트를 각각 별도의 파일로 저장할 수 있습니다.

데이터베이스 키 설정

MapForce의 데이터베이스 키 설정은 데이터 매핑 대상이 되는 데이터베이스에 기본 키와 외래 키 값을 어떻게 추가할지 사용자 정의할 수 있도록 해줍니다. 사용자는 MapForce 내에서 직접 키 값을 제공하거나, 데이터베이스 시스템이 자동으로 값을 생성하도록 설정할 수 있습니다.

데이터베이스 테이블에서 기본 키 또는 외래 키 관계가 명시적으로 정의되어 있지 않은 경우, MapForce를 사용하면 원본 데이터에 영향을 주지 않고 해당 관계를 직접 정의할 수 있습니다.

데이터베이스 테이블 작업 정의

데이터베이스에 매핑할 때, MapForce를 사용하면 MySQL 또는 PostgreSQL 데이터베이스에 데이터가 어떻게 저장될지를 제어하기 위해 데이터베이스 테이블 작업을 선택할 수 있습니다. 이를 통해 가장 복잡한 데이터 관리 작업을 자동화할 수 있는 완벽한 유연성을 제공합니다.

사용하기 쉬운 "데이터베이스 테이블 작업" 대화 상자를 통해, 선택한 테이블 내의 특정 열을 지정하여 데이터베이스에서 어떤 작업(삽입, 수정, 삭제)을 수행할지 설정할 수 있습니다.

MapForce를 통해 XML, 데이터베이스, EDI, XBRL, 일반 파일, 엑셀, JSON, JSON5, 웹 서비스 또는 기타 데이터베이스 데이터를 활용하여 데이터베이스의 행을 이전에는 불가능했던 수준으로 자유롭게 조작할 수 있습니다.

MapForce에서 데이터베이스 테이블 작업을 설정하는 방법을 알아보세요

SQL 저장 프로시저 지원

MapForce는 저장 프로시저를 입력 구성 요소(결과를 제공하는 프로시저) 또는 출력 구성 요소(데이터를 삽입하거나 업데이트하는 프로시저)로 강력하게 지원합니다. 또한, 저장 프로시저를 함수처럼 호출하여 사용할 수도 있습니다. 이 경우 사용자는 입력 데이터를 제공하고, 저장 프로시저를 실행한 후, 출력 데이터를 다른 구성 요소에 연결하거나 활용할 수 있습니다.

이 스크린샷은 SQL Server에서 저장 프로시저를 사용하여 XML 파일을 생성하는 과정을 보여줍니다. 이 프로시저에서는 입력 매개변수로 제공된 특정 직원 ID(이 예에서는 상수 67)보다 상위 계층에 있는 모든 관리자들의 정보를 담은 테이블을 반환합니다.

이 파라미터는 계산된 값으로 제공될 수도 있고, 데이터베이스의 다른 부분에서 가져온 데이터 요소로 제공될 수도 있습니다.

MapForce는 컨텍스트 메뉴를 제공하여 사용자가 저장된 프로시저를 실행하고, 매핑에 필요한 데이터 구조를 확인할 수 있도록 합니다. 제시된 매핑을 실행하면 XML 형식의 결과물이 생성됩니다.

고급 데이터 매핑 도구에는 저장 프로시저 지원 기능이 포함되어 있습니다

데이터베이스 입력 구성 요소 정렬

데이터베이스 내에서 실행되는 SQL 쿼리는 복잡한 데이터 매핑 작업에 항상 충분하지 않을 수 있습니다. MapForce는 SQL-WHERE/ORDER 컴포넌트를 통해 데이터베이스 입력에 대한 추가적인 정렬 기능을 제공합니다. 이는 추가적인 처리가 필요한 경우, 또는 매핑 과정에서 다른 데이터나 조건이 데이터 행의 정렬 순서에 영향을 미치는 경우에 유용합니다.

데이터베이스 테이블 작업에서 NULL 값 지원

데이터베이스 테이블 작업 대화 상자는 NULL 값 비교를 지원합니다. NULL 값을 고려한 비교 기능은 NULL 값이 포함된 데이터베이스를 처리하는 데 더 효과적인 방법을 제공합니다. MapForce 사용자는 데이터 비교를 NULL 값을 고려하여 수행하도록 데이터베이스 매핑을 설정할 수 있으며, 이는 매핑에 관련된 데이터베이스 유형에 적용되는 규칙에 따라 이루어집니다.

오른쪽에 표시된 데이터 매핑은 중복 항목을 삽입하지 않고 대상 테이블을 업데이트하는 데 사용됩니다. 두 테이블 모두 "이메일" 필드가 NULL 값을 가질 수 있도록 정의되어 있으므로, 각 테이블에서 이름은 동일하지만 이메일 필드가 NULL인 항목이 존재할 수 있습니다.

"작업" 아이콘을 클릭하면 대상 데이터베이스 테이블 옆에 "데이터베이스 작업" 대화 상자가 열립니다. 이메일 필드 옆에 있는 "NULL 값 동일" 확인란을 선택하면, 매핑 과정에서 소스 및 대상 데이터베이스의 NULL 값을 동일한 것으로 간주할 수 있습니다. 이는 데이터베이스 규칙상 NULL 값은 동일하지 않더라도, 데이터 매핑의 편의를 위해 설정하는 기능입니다.

MapForce에서 NULL 값을 고려한 데이터베이스 매핑 기능

MapForce 서버를 사용하여 데이터베이스 매핑 작업을 자동화하세요

Altova MapForce Server 다음은 MapForce를 위해 개발된 내장 데이터 변환 엔진을 포함하며, 서버 환경에서 작동하도록 크게 개선되었습니다. MapForce Server는 다음과 같은 기능을 수행합니다 데이터 변환 PostgreSQL에서 MySQL로, 또는 XML, 데이터베이스, EDI, XBRL, 일반 파일, 엑셀, JSON, Shopify, 그리고/또는 웹 서비스 등 다양한 형식으로 데이터를 변환할 수 있습니다. 이 과정에서 MapForce에 정의된 데이터 매핑을 기반으로 생성된, 미리 처리되고 최적화된 데이터 매핑 정보가 포함된 실행 파일을 사용합니다. MapForce Server는 병렬 처리, 멀티 스레딩, 대량 SQL 삽입, 다양한 운영체제 지원 등 서버 기능을 통해 데이터 변환을 더욱 발전시킵니다.

사전 처리는 대부분의 데이터 매핑 작업에서 더 빠른 성능과 더 적은 메모리 사용량을 제공합니다. MapForce Server는 FlowForce Server의 관리 하에 작동하며, 독립적인 구성으로 명령줄에서 실행하거나, API를 통해 프로그래밍 방식으로 사용할 수 있습니다.

MapForce 매핑 작업이 설계 및 테스트를 거치면, MapForce 서버를 통해 반복적인 데이터 변환이 필요한 업무 프로세스를 자동화할 수 있습니다.

MapForce를 사용하여 데이터베이스 매핑 작업을 자동화하세요

MapForce는 데이터 매핑 작업을 미리 처리하고 최적화하며, 이러한 매핑 정보를 MapForce Server 실행 파일에 저장하여 MapForce Server가 명령줄을 통해 실행할 수 있도록 합니다. 또한, 이러한 매핑 정보를 FlowForce Server 작업에서 사용할 수 있도록 업로드합니다.

MapForce Server가 FlowForce Server의 관리 하에 운영될 때, 데이터 매핑 작업은 FlowForce Server 작업의 일부로 정의된 트리거에 따라 실행됩니다. 예를 들어, 새로운 XBRL 인스턴스 문서가 특정 폴더에 저장되면, 이를 트리거로 하여 여러 단계로 구성된 FlowForce Server 작업이 실행됩니다. 이 작업은 먼저 RaptorXML+XBRL Server를 사용하여 파일을 검증하고, 그 다음 MapForce Server를 실행하여 XBRL 데이터에서 특정 정보를 추출하여 데이터베이스에 삽입합니다.