database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 30681 게시물 읽기
No. 30681
MariaDB & Galera Cluster 의 DeadLock 문제
작성자
김종화(zepinos)
작성일
2013-12-28 00:30
조회수
10,935

MariaDB & Galera Cluster 가 생각보다 까다롭네요.

문제가 된 것이...처음 회원 가입을 할 때 10개의 테이블에 insert 을 하게 됩니다. 그 외에 몇 가지 update 도 있는데, 이건 transaction 밖으로 어찌어찌 빼놓은 상태인데,

이 10 개의 insert 을 하다가 deadlock 이 걸립니다. 물론 한 개의 서버에 부하를 주면 괜찮습니다만, 특성상 그리고 Galera Cluster 을 쓰는 목적 대로 write 서버가 죽었을 경우 전체 시스템이 맛이 간다는 이유로 여러 서버에 insert 을 하고 있습니다.

transaction 의 문제는 아닌 것 같고, 순전히 insert 를 다른 서버로 복제하면서 시간이 느려져서 생기는 문제 같습니다.

10개의 테이블을 하나의 테이블로 만드는 제일 하책의 방법과 기준이 되는 테이블 하나를 제외한 초기값 설정을 위한 다른 9 개의 테이블 값을 미리 입력해놓는 중책의 방법을 고민하였습니다만...아무래도 더 좋은 방법이 있지 않을까 고민이 되어 질문 드립니다.

10 개의 테이블은 모두 한 row 씩만 입력되고, UQ(속도 문제가 있을까봐 관계도 다 빼버렸습니다)로 기본키가 연결되며, Redis 로 sequence 을 만들어서 오기 때문에 Table Lock 이 있을거란 생각은 하지 않고 있습니다.



여러 테이블이 최대한 부하 없이 insert 을 할 수 있는 방법이 있을까요?

그리고, 이러한 상황에서 insert(혹은 update)에서 delay 가 생겼을 경우 네트워크 만의 문제일까요? 아니면 SSD 로 된 서버로 교체했을 때 효과를 볼 수 있을까요?


조언 부탁드립니다.

[Top]
No.
제목
작성자
작성일
조회
30684특정값 일괄 삭제방법? [1]
신기해
2014-01-22
9048
30683두개의 필드 순서 변경하는것
원재호
2014-01-14
8481
30682필드안에 이상한 글자가 들어가있어요 ㅠㅠ [1]
쿼리초보
2014-01-14
8571
30681MariaDB & Galera Cluster 의 DeadLock 문제
김종화
2013-12-28
10935
30680중복되지 않는 난수입력 [1]
정성빈
2013-12-27
11035
30679DB 파일을 등록하려면 어떻게 해야 하나여?
정성욱
2013-12-24
9091
30678기간 병합 방법 문의 드립니다
이중희
2013-12-22
9023
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.051초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다