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
운영게시판
최근게시물
Oracle Q&A 34044 게시물 읽기
No. 34044
여러서버에서 하나의 테이블을 중복없이 SELECT 하는 좋은방법이 없을까요?
작성자
김동우
작성일
2008-07-07 13:54
조회수
2,086

하루 1천만건의 데이터가 쌓인다고 할때 

3대의 서버에서 같은 테이블을 동시에 SELECT를 해서 처리하려 하는데요

문제는 각서버에서 중복없이 데이터를 가져와야 한다는 겁니다.

즉 A서버에 이미 SELECT를 해서 가져온 데이터는 다른 서버에서는 그값을 가져오면 안되는데

지금 사용하는 방법이 PROC/C에서 FOR UPDATE를 걸어서 사용하고 있습니다.

FOR UPDATE하는동안은 다른 서버에서 그 테이블을 SELECT할수 없어서 concurrent 처리는 안되던데

FOR UPDATE를 하지 않고 SELECT 처리할수 있는 방안이 없을까요? 

그리고 처리순서는 시간순이어야 합니다. 즉 A는 10시부터, B서버는 2시부터 이렇게 하지 않고

3대의 서버가 동시에 미처리된 데이터를 시간순으로 가져와서 처리해야 합니다.

내공부족으로 아무리 고민해봐도 딱히 방법이 없어서 글올립니다.

리플좀 달아주세요


이 글에 대한 댓글이 총 1건 있습니다.

해당 테이블의 PK가 sequence를 사용하여 insert되고
sequence 순서대로 3대의 작업서버에서 하나씩 처리를 해야한다면 
작업용 sequence를 하나 만들어서 
3대의 서버에서 순차적으로 작업용 sequence에서 nextval을 가져다가 사용하면 될 것 같구요.. 

PK가 sequence가 아니라면 트리거를 만들어서 insert 될 때 
sequence + 해당테이블PK 로 구성된 테이블에 데이터를 쌓아놓고 
또다른 작업용 sequence를 이용하여 위와 동일하게 작업을 하는 것이 좋을 것 같습니다. 


전영식(garam111)님이 2008-07-08 19:05에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
34049CentOS 5에서 오라클 8.1.7 설치문의
고니
2008-07-07
3600
34046아카이브 로그는 왜 생기죠? [1]
최수연
2008-07-07
1664
34045select 관련 어려운 문제에 봉착했습니다. [2]
질럿
2008-07-07
1903
34044여러서버에서 하나의 테이블을 중복없이 SELECT 하는 좋은방법이 없을까요? [1]
김동우
2008-07-07
2086
34043오라클 select 문 질문입니다. [1]
김대웅
2008-07-07
2082
34042테이블이 필드 순서 변경 가능한가요? [1]
짜집기
2008-07-07
1948
34041총계 구하기... [4]
차이
2008-07-07
2734
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.023초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다