데이터베이스

[DB] Mysql C/C++ 함수 연동

KyooDong 2020. 12. 6. 17:03
728x90

외부언어로 함수/프로시져 연동

C/C++ 같은 언어로 함수를 만들어 SQL 과 연동하는 것도 가능함

이로인해 다양한 표현이 가능해짐

단점

  • 코드 자체가 DB 시스템 내로 로딩/실행되므로 무거움

  • DB 시스템이 마비될 우려

  • 허용되지 않은 데이터 접근으로 인한 보안 문제

    • Sandbox 기법

      • 오브젝트 코드를 Sandbox 내부에서만 실행하게하여 허용되지 않은 접근을 차단

    • Seprate process 기법

      • 아예 새로운 프로세스를 만들어 Object code 를 수행하고, IPC 를 통해 결과만 전달 받는 방식

Procedure

CREATE PROCEDURE deptCountProc (in deptName varchar(20), out count INTEGER)
LANGUAGE C
EXTERNAL NAME ‘/usr/bin/deptCountProc’;

Function

CREATE FUNCTION deptCount(deptName varchar(20)) RETURNS INTEGER
LANGUAGE C
EXTERNAL NAME ‘/usr/bin/deptCount’;