MariaDB 에서 채번 방법 문의 0 5 4,576

by 포동푸우 [MySQL] MariaDB Master-Slave 구조 채번 [2022.09.06 14:06:17]


안녕하세요

MariaDB v10.5 이고 Master-Slave 구조 입니다. < insert , execution 은 Master 에서 수행되고,,, 데이터는 slave 로 동기화..됨> 

아래 이유로 채번을 Max+1 로 가이드해 왔는데 

- Master 노드 부하 최소화, Replicat 시간차 고려, 채번테이블 관리로 인한 부하 (commit, lock), sequence 사용할 경우, sequence 값이 달라질 우려... 

- 결재문서 테이블의 결재문서 에 대한 다중/부하 테스트 수행 시,, max+1 이 중첩되서 dup 나는 경우가 생겼습니다. <설계 직원 2만명 선 >

 

- 이럴 경우 어떻게 해야 할 지 고민인데..

A. 오류 코드로 max+1 로 1-2번 더 시도 하는 것이 좋을 지 ? 

B. sequence 로 바꾸어 처리하는 것이 좋을 지 ? 

C. 아니면 다른 방법이 있을지 ? 

경험 있으신 개발자 분들의 조언을 부탁드립니다.

by 신이만든지기 [2022.09.06 15:44:13]

auto increment  속성을 사용하지 않는 특별한 이유가 있는 건가요?


by 포동푸우 [2022.09.06 16:43:31]

의견 감사합니다.

고려하지 않은 이유는, 문서번호 업무 규칙이 "Char 타입, 연도+구분코드+순번" 으로,  auto increment 로 int 값을 받아서 그 숫자값 만으로 문서번호를 사용할 수 없으니, 채번 채번테이블과 유사할 거라 생각 했습니다.

제가 놓치고 있는 부분이 있다면 말씀 부탁드려요..


by 포동푸우 [2022.09.06 16:58:51]

해당컬럼은, 아래 처럼... "문서번호ID"를 생성합니다. max+1 로 추출하다가 중복이 생긴 컬럼의 데이터 입니다. 전자결재 PK 입니다.   

2022AAA000001

2022AAA000002 

2022AAA000003 

.......

제가 투입 되기 전에, 이렇게 설계/개발이 되어 있었습니다.. 

"문서번호ID" 을 협의를 통해 아예 다른 형태로 변경하는 게 더 나을까요 ?  


by 우리집아찌 [2022.09.06 18:54:28]

어렵네요.. 컬럼 수정하기에는 많은 개발공수가 예상되는데요. 

채번 테이블은 안될것같고 ,

pk 뒤 숫자가 계속증가해도 된다면

pk :   문서번호 + lpad(sequence...)  


by 포동푸우 [2022.09.07 11:04:00]

의견 감사합니다.  

(휴대폰으로 접속 했는데,, 댓글에 대한 댓글 기능이 안 보이네요,, T.T ) 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입