• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 1. 스토리지 엔진 설정
    2. MyISAM 스토리지 엔진
    3. MEMORY 스토리지 엔진
    4. CSV 스토리지 엔진
    5. ARCHIVE 스토리지 엔진
    6. BLACKHOLE 스토리지 엔진
    7. MERGE 스토리지 엔진
    8. FEDERATED 스토리지 엔진
    1. FEDERATED 스토리지 엔진의 개요
    2. FEDERATED 테이블을 만드는 방법
    3. FEDERATED 스토리지 엔진 Tips
    4. FEDERATED 스토리지 엔진 리소스
    9. EXAMPLE 스토리지 엔진
    10. 다른 스토리지 엔진
    11. MySQL 스토리지 엔진 아키텍처 개요
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

15.8.1 FEDERATED 스토리지 엔진의 개요

표준 스토리지 엔진 ( MyISAM , CSV , InnoDB 등) 중 하나를 사용하여 테이블을 작성하면 테이블은 테이블의 정의와 관련 데이터로 구성됩니다. FEDERATED 테이블을 생성하면 테이블 정의는 동일하지만 데이터의 물리적 스토리지는 원격 서버에서 처리됩니다.

FEDERATED 테이블은 두 가지 요소로 구성됩니다.

  • 데이터베이스 테이블을 가진 원격 서버. 테이블 정의 ( .frm 파일에 저장됩니다)과 관련 테이블로 구성됩니다. 원격 테이블의 테이블 타입은 MyISAM 이나 InnoDB 를 포함한 원격 mysqld 서버가 지원하는 어떤 타입이라도 괜찮습니다.

  • 데이터베이스 테이블을 가지는 로컬 서버. 테이블의 정의는 원격 서버에서 해당 테이블의 정의에 일치합니다. 테이블 정의는 .frm 파일에 저장됩니다. 그러나 로컬 서버에 데이터 파일은 없습니다. 대신 테이블 정의에는 원격 테이블을 가리키는 연결 문자열이 포함되어 있습니다.

로컬 서버에 FEDERATED 테이블에 쿼리 나 문을 실행하면 일반적으로 로컬 데이터 파일의 정보를 삽입, 업데이트 또는 삭제 작업은 수행하기 위해 대신 원격 서버에 보내져 원격 서버의 데이터 파일 를 업데이트하거나 원격 서버에서 일치하는 행을 리턴하기도합니다.

FEDERATED 테이블 설정의 기본 구조는 그림 15.1 "FEDERATED 테이블의 구조" 에서 보여줍니다.

그림 15.1 FEDERATED 테이블의 구조

FEDERATED 테이블의 구조

FEDERATED 테이블을 참조하는 SQL 문을 클라이언트가 발행하는 경우 로컬 서버 (SQL 문이 실행되는 위치) 및 원격 서버 (데이터가 물리적으로 저장되는 위치) 사이의 정보 흐름은 다음과 같습니다 .

  1. 스토리지 엔진은 FEDERATED 테이블이있는 각 컬럼을 확인하여 원격 테이블을 참조하는 적당한 SQL 문을 작성합니다.

  2. 문은 MySQL 클라이언트 API를 사용하여 원격 서버에 전송됩니다.

  3. 원격 서버는 문을 처리하고 로컬 서버는 문이 작성한 결과 (영향을받는 행의 수와 결과 세트)를 가져옵니다.

  4. 문이 결과 세트를 생성하는 경우, 각 컬럼은 FEDERATED 엔진이 요구하는 내부 스토리지 엔진 형식으로 변환되어 원래의 문을 발행 한 클라이언트에 결과를 표시하는 데 사용할 수 있습니다.

로컬 서버는 MySQL 클라이언트의 C API 함수를 사용하여 원격 서버와 통신합니다. mysql_real_query() 를 호출하여 문을 보냅니다. 결과 세트를 읽고, mysql_store_result() 를 사용하여 mysql_fetch_row() 를 사용하여 하나의 행을 가져옵니다.

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved