- 전체
- Sample DB
- database modeling
- [표준 SQL] Standard SQL
- G-SQL
- 10-Min
- ORACLE
- MS SQLserver
- MySQL
- SQLite
- postgreSQL
- 데이터아키텍처전문가 - 국가공인자격
- 데이터 분석 전문가 [ADP]
- [국가공인] SQL 개발자/전문가
- NoSQL
- hadoop
- hadoop eco system
- big data (빅데이터)
- stat(통계) R 언어
- XML DB & XQuery
- spark
- DataBase Tool
- 데이터분석 & 데이터사이언스
- Engineer Quality Management
- [기계학습] machine learning
- 데이터 수집 및 전처리
- 국가기술자격 빅데이터분석기사
- 암호화폐 (비트코인, cryptocurrency, bitcoin)
MySQL sqlrelay (Queue 서버 설치) SQL Relay는 강력한 데이터베이스 연결 관리 솔루션입니다
2020.02.17 21:23
sqlrelay (Queue 서버 설치)
- Throttling : 데이터베이스가 과부하가되지 않도록 합니다.
- Connection Schedules : 지정된 시간에 데이터베이스 액세스 제한
- Query Filtering : 특정 패턴과 일치하는 쿼리가 전혀 실행되지 않도록 합니다.
- Substitution and Bind Variables : 자주 실행되는 쿼리를 더 빠르고 효율적으로 만듭니다.
- Multi-Row Fetches : 네트워크 왕복 횟수를 줄입니다.
- Suspended Transactions : 단일 트랜잭션을 여러 웹 페이지로 확장 할 수 있습니다.
(Oracle, MySQL, PostgreSQL, SAP / Sybase, IBM DB2, Informix, Firebird 및 SQLite 데이터베이스)
- Abstraction Layer Support : 가장 널리 사용되는 데이터베이스 추상화 계층의 드라이버가 제공됩니다.
(C, C ++, .NET 언어, Java, Perl, Python, PHP, Ruby, TCL, Erlang 및 node.js)
- Client-Side Result Set Caching : 페이징을 보다 빠르고 쉽게 만듭니다.
2. 우선 사항
- 설치된 mysql과 동일한 버전의 mysql을 해당 서버에 설치
(sqlrelay configure시 summary에 mysql : no가 아닌 mysql : dynamic이라는 메시지가 나타나야 나중에 sqlrelay 기동이 가능함.)
- python 2.7 설치 (python 3.X 사용 안함)
- node.js 설치 되어 있지 않아야 함. (호환성문제로 sqlrelay make 시 grp error 발생)
- php나 perl등 소스설치가 아닌 yum으로 설치했을 경우 해당 위치 경로를 찾지 못하므로
php를 직접 소스 설치한 후 sqlrelay 설치 시 해당 경로 configure 옵션으로 지정
3. Source 설치
1) sqlrelay에 php와 mysql에 대한 socket 파일을 설치하기 위해 mysql과 php에 대한 소스 설치가 진행합니다.
- mysql 설치
. mysql binary 파일 업로드(mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz)
. my.cnf 파일 작성
. mysql 설치 스크립트 ( setup_binary.sh )
. 하나의 폴더에 위에 3개의 파일이 존재하는지 확인 후 setup_binary.sh 파일 실행
'y'를 누르면 my.cnf에 환경설정에 맞춰 바이너리파일로 mysql을 설치하게 된다.
- php 설치(가능하다면 실제 웹서버에서 실행되는 버전과 동일한 버전으로 설치)
2) sqlrelay 설치
- python 2.7 설치 및 다운로드
- rudiments 설치
- sqlrelay 설치
4. 설정
1) sqlrelay 설정파일 수정
sqlrelay.conf 설정화일 설명
|
instance id="mysqltest"
|
mysqltest라는 id 로 sqlrelay로 접속하는 것을 의미한다
|
|
port="9000"
|
mysqlrelay가 실행되는 port이며 php에서 접속 시에 이용된다.
|
|
socket="/tmp/mysql_relay.socket"
|
sqlrelay 의 socket 위치
|
|
dbase="mysql"
|
DB명을 의미하며 사용할 수 있는 DB는 sqlrelay.dtd에 정의한다.
|
|
connections="3"
|
초기 연결개수를 의미하며,
sqlrelay를 실행시키면 프로세서가 3개가 실행된다는 걸 의미한다. |
|
maxconnections="5"
|
최대 연결개수를 의미한다.
|
|
user="sqltest"
|
php가 sqlrelay에 접속할 userid를 의미한다.
|
|
password="sqltest"
|
php가 sqlrelay 에 접속할 userid 의 패스워드를 의미한다.
|
|
string="host:localhost;user=MysqlUser;password=MysqlUserPass;db=MysqlDB;port=3306;
socket=/home/tmp/mysql.sock" |
|
|
sqlrelay가 mysql에 접속하는 환경을 설정한다.
|
|
- bash 설정
2) sqlrelay 시작
Warning
sqlrelay 프로세스를 종료할 때 kill 명령어로 하지 않아야 합니다. kill로 종료시 여분의 파일이 남아 sqlr-start시 제대로 수행이 되지 않을 수 있습니다. 어떤 경우에는 sqlrelay를 재설치해야만 하는 경우도 있음으로 sqlr-stop으로 해당 프로세스를 종료하여 주시기 바랍니다.
3) php 서버 설정 ( sqlr-start에 이상이 없다면 php.ini 설정 )
5. 테스트
1) 테스트 php code 작성
2) 결과 수행
!!conclusion
정상적으로 데이터가 수행된 것을 확인 할 수 있다. delete쿼리와 insert쿼리로도 변경하여 수행해 보니 쿼리문은 sqlrelay를 통해 정상적으로 수행되었다. 마지막으로, 세션이 단번에 여러개를 가지고 들어올 때 큐에 풀링하는지 테스트가 필요하다.
참조
http://sqlrelay.sourceforge.net/sqlrelay/admin/configguide.html
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 공지 | 오라클 기본 샘플 데이터베이스 | 졸리운_곰 | 2014.01.02 | 86307 |
| 공지 | [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE | 가을의 곰을... | 2013.02.10 | 78758 |
| 공지 | [G_SQL] Sample Database | 가을의 곰을... | 2012.05.20 | 95506 |

