0. Storage Engine (Database Engine)
데이터베이스 관리 시스템(DBMS)이 데이터베이스에 대해 데이터를 삽입, 추출, 업데이트 및 삭제하는데 사용하는 기본 소프트웨어 컴포넌트이다.
쉽게 말하면 데이터를 어떤 모양으로 어떤 방식으로 적재할건지에 대한 정의이다.
(트랜젝션 유무 등 엔진마다 느낌이 다르니 꼭 성격을 확인하고 사용하고 테스트해볼것.)
현대의 많은 DBMS가 동일한 DB 내에 다중 저장 엔진을 지원한다.
ex) A table은 innodb B table은 MyISAM 을 사용하는 등으로 활용할 수 있다.
mariadb engine 종류보기
https://mariadb.com/kb/en/storage-engines/
1. FEDERATED
FEDERATED ENGINE은 관리가 안되고 있다.
https://mariadb.com/kb/en/federated-storage-engine/
2. FederatedX
0. 참조
FederatedX 스토리지 엔진은 MariaDB 5.1 에서 처음 출시되었습니다.
https://mariadb.com/kb/en/about-federatedx/
About FederatedX
Federated Storage Engine fork that uses uses libmysql to talk to the data source
mariadb.com
3. Connect (ubuntu 18.0.04 기준)
10.1.9(베타) 10.2.0(안정적인) 부터 적용
1. connect란
CONNECT 스토리지 엔진을 통해 MariaDB는 외부 로컬 또는 원격 데이터(MED)에 액세스할 수 있습니다.
참조할 테이블에 연결하는 테이블..?
예를들어 기역 서버에 A라는 database에 a라는 테이블이 있는데
a 테이블과 연결되는 니은 서버에 B라는 database의 b라는 테이블로 생성하는 것이다.
기역 서버에서 부여한 권한(grant all, select, insert, delete, update etc..) 에 따라 권한이 결정되며
a테이블이 변화되면 b테이블에도 변화가 생긴다. (insert, update, delete)
또한 b테이블에 변화가 생기면 a 테이블에도 변화가 생긴다. (insert)
(delete, update를 할 경우 [SQL ERROR (1296): Got error 122 'Remote: Table 'B.b' doesn't exist' from CONNECT] 에러가 난다.)
참고로 create table을 할 경우 컬럼은 자동으로 생성하여 연결해주지만
index 등의 정보는 없으므로 상세하게 연결할 경우 다 설정해 주어야한다.
나는 ubuntu에서 했지만 docs를 보면 connect는 windows에서 개발 후 다른곳에 맞게 변형되었다고 하니 windows에서도 잘 될것이라고 생각된다.
https://mariadb.com/kb/en/introduction-to-the-connect-engine/
Introduction to the CONNECT Engine
Reasons behind the CONNECT storage engine.
mariadb.com
2. 설치
1. plugin package install
# shell
sudo apt-get install mariadb-plugin-connect
2. plugin install
# mariadb
INSTALL SONAME 'ha_connect';
3. 확인
# mariadb
show engines;
3. connect 테이블 생성
※ 주의
※ 무한 루프를 피하기 위해 MYSQL 본인 자체를 참조하지 않도로 주의하세요!
※ Connect는 BLOC or TEXT 컬럼은 지원하지 않습니다.
ERROR 1163 (42000): Storage engine CONNECT doesn't support BLOB/TEXT columns
# 포트가 3306이면 생략가능
CREATE TABLE [테이블명]
ENGINE = CONNECT
TABLE_TYPE = MYSQL
CONNECTION= 'mysql://[접속userId]:[접속userPW]@[접속IP][:접속포트]/[접속DB]/[참조/연결할 테이블명]'
;
ex)
CREATE TABLE auth_group
ENGINE = CONNECT
TABLE_TYPE = MYSQL
CONNECTION= 'mysql://root:rootpassword123!@127.0.0.1:13406/test/auth_group'
;
https://vettabase.com/blog/using-connect-to-access-remote-mariadb-or-mysql-tables/
Using CONNECT to access remote MariaDB or MySQL tables - Vettabase
This article discusses how to access data from a remote table using the CONNECT storage engine, in MariaDB. Continue reading Using CONNECT to access remote MariaDB or MySQL tables→
vettabase.com
참조
https://stricky.tistory.com/325
Mysql FEDERATED Engine 으로 dblink 구현하기
Mysql FEDERATED Engine 으로 dblink 구현하기 ※본 포스트의 내용은 mysql 과 mariadb에서 호환되어 사용 가능한 내용임을 밝혀드립니다. Mysql 과 Mariadb에서 지원하는 FEDERATED 기능은 사실 Oracle에서 써..
stricky.tistory.com
https://yunhyeonglee.tistory.com/23
[MariaDB] MSSQL DBLINK ( Using Connection Engine )
오늘은 MariaDB에서 MSSQL로의 DBLINK에 관하여 글을 쓸 예정이다. 최근 고객사에서 MariaDB에서 MSSQL로 DBLINK를 맺어달라 문의를 받아서 해보게 되었다. MariaDB의 Connect Engine을 이용해서 DBLINK을 맺을 예..
yunhyeonglee.tistory.com
https://serge.frezefond.com/2013/04/mariadb-connect-storage-engine-vs-federatedx/
MariaDB CONNECT Storage Engine vs FEDERATED(X) – Serge Frezefond 's blog
As Stewart mentioned in in post where-are-they-now-mysql-storage-engines : "Federated It’s still there… but is effectively unmaintained and dead. There’s even FederatedX in MariaDB which is an improvement, but still, the MySQL server really doesn’t
serge.frezefond.com
https://runebook.dev/ko/docs/mariadb/create-server/index
MariaDB - 서버 생성 - Syntax Description 이 명령문은 Spider , FEDERATED 또는 FederatedX 스토리지 엔진 과 함
Syntax CREATE [OR REPLACE] SERVER [IF NOT EXISTS] server_name FOREIGN DATA WRAPPER wrapper_name OPTIONS (option [, option] ...) option: { HOST character-literal | DATABASE character-literal | USER character-literal | PASSWORD character-literal | SOCKET cha
runebook.dev
데이터베이스 엔진 - 위키백과, 우리 모두의 백과사전
ko.wikipedia.org
https://web-dev.tistory.com/tag/DB
웹 개발과 관련된 모든 것들
web-dev.tistory.com
'DB(SQL) > mysql|maria' 카테고리의 다른 글
[MARIADB] Insert into same table trigger mysql (0) | 2022.02.16 |
---|---|
[mariadb] install mariadb on ubuntu 18.04 (0) | 2022.01.26 |
[MariaDB] MariaDB에서 CTE(Common Table Expression) 사용 시 주의점 (0) | 2021.08.06 |
[MAIRA DB] 스키마 비교 (0) | 2021.08.06 |
[MYSQL] 유용한 명령어 (0) | 2021.08.05 |