차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
mysql에_federated_engine_추가 [2016/06/07 05:30] – 만듦 koovmysql에_federated_engine_추가 [2016/06/07 05:35] (현재) koov
줄 2: 줄 2:
  
 원본 링크 : http://blog.weirdx.io/post/3503 원본 링크 : http://blog.weirdx.io/post/3503
 +
 +===== 데이터베이스 엔진 설정 =====
  
 FEDERATED 스토리지 엔진을 사용하면 리플리케이션이나 클러스터 기술을 이용하지 않고도 원격의 MySQL 데이터베이스에 접근할 수 있다. 서비스 운영을 위해 여러 데이터베이스를 사용하는데, 한 데이터베이스의 데이터를 다른 데이터베이스들이 참조하여 사용할 때 활용할 수 있다. Oracle의 DBLink와 유사한 기능이라고 한다. FEDERATED 스토리지 엔진을 사용하면 리플리케이션이나 클러스터 기술을 이용하지 않고도 원격의 MySQL 데이터베이스에 접근할 수 있다. 서비스 운영을 위해 여러 데이터베이스를 사용하는데, 한 데이터베이스의 데이터를 다른 데이터베이스들이 참조하여 사용할 때 활용할 수 있다. Oracle의 DBLink와 유사한 기능이라고 한다.
줄 72: 줄 74:
 {{::mysql:스크린샷-2014-07-21-19.02.21.png|}} {{::mysql:스크린샷-2014-07-21-19.02.21.png|}}
  
 +===== 테이블 작업 =====
 +
 +  * 원본 테이블 예제
 +<WRAP prewrap>
 +<code vim>
 +CREATE TABLE `cityholic_db`.`cart_product` (
 +  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '아이디',
 +  `users_id` bigint(20) unsigned NOT NULL COMMENT '고객아이디',
 +  `product_id` bigint(20) NOT NULL COMMENT '상품아이디',
 +  `option_code` varchar(50) NOT NULL COMMENT '상품옵션코드',
 +  `quantity` int(11) NOT NULL DEFAULT '0' COMMENT '상품 개수',
 +  PRIMARY KEY (`users_id`,`product_id`,`option_code `),
 +  UNIQUE KEY `id_UNIQUE` (`id`)
 +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='카트에 담긴 상품';
 +</code>
 +</WRAP>
 +
 +  * 대상 테이블 생성
 +<WRAP prewrap>
 +<code vim>
 +CREATE TABLE `cityholic_db`.`cart_product` (
 +  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '아이디',
 +  `users_id` bigint(20) unsigned NOT NULL COMMENT '고객아이디',
 +  `product_id` bigint(20) NOT NULL COMMENT '상품아이디',
 +  `option_code` varchar(50) NOT NULL COMMENT '상품옵션코드',
 +  `quantity` int(11) NOT NULL DEFAULT '0' COMMENT '상품 개수',
 +  PRIMARY KEY (`users_id`,`product_id`,`option_code `),
 +  UNIQUE KEY `id_UNIQUE` (`id`)
 +) ENGINE=FEDERATED DEFAULT CHARSET=utf8 COMMENT='카트에 담긴 상품'
 +CONNECTION='mysql://root:dldusrn1@10.3.0.27:3306/cityholic_db/cart_product';
 +</code>
 +</WRAP>
 +
 +===== 사용시 주의점 =====
 +  - 반드시 #원본테이블 처럼, 대상이 되는 테이블이 먼저 존재해야 한다.
 +  - Transaction은 지원되지 않는다.
 +  - #원본테이블의 데이터를 제외한 필드명/타입/구조 등의 변경 사항은 #FEDERATED 된 테이블에 적용이 되지 않기 때문에, 수동으로 변경해 주어야 한다.
 +  - Query Cache는 이용할 수 없다.
 +  - !!!!! 중요 !!!!! SHOW CREATE TABLE #FEDERATED된 테이블; 입력시 #원본테이블로의 접속정보가 고스란히 노출 되므로, 주의가 요구된다.
 +
 +===== 참조링크 =====
 +  * http://blog.weirdx.io/post/3503
 +  * http://devse.tistory.com/entry/MySQL-DBLink-%EA%B5%AC%ED%98%84%EC%9D%84-%EC%9C%84%ED%95%9C-FEDERATED-%EC%97%94%EC%A7%84-%ED%99%9C%EC%84%B1%ED%99%94-%EB%B0%8F-%ED%85%8C%EC%9D%B4%EB%B8%94-%EC%83%9D%EC%84%B1
 +  * http://blackbull.tistory.com/31
  • mysql에_federated_engine_추가.1465277438.txt.gz
  • 마지막으로 수정됨: 2016/06/07 05:30
  • 저자 koov