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
운영게시판
최근게시물
PostgreSQL Q&A 3872 게시물 읽기
No. 3872
노파심에서..
작성자
김대성
작성일
2002-01-12 02:18
조회수
2,380

다수의 사용자 환경에서 Sequence를 쓸때 다음에 들어갈 값은 알수 없죠..

다음에 들어간 값을 구한순간 누군다 그 Sequence를 써버려 값이 증가해 버렸을지도 모르니까요

 

 

-- 전병혁 님이 쓰신 글:

>> 감사합니다.

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

그래도 그냥 쓰렵니다.

 

뭐 그런일은 별로 없겠지만 정말 큰문제가 되지 않을것 같군요

전병혁(chunbh)님이 2002-01-12 08:46에 작성한 댓글입니다.

규모가 작은 곳이라면 큰 문제가 되지 않지요. 하지만 틀림없이 큰 문제가 됩니다. 어플리케이션 개발시에 김대성님이 지적하신 문제는 반드시 염두에 두시고 개발하셔야 합니다.

 

atomic operation 이라는 개념을 잘 이해하시고 어플리케이션을 작성하셔야 합니다.

 

김대성님께서 좋은 지적을 하셨습니다.

정재익(advance)님이 2002-01-12 13:18에 작성한 댓글입니다.

모든 분들께 감사드립니다.

 

아직 공부중이라 모르는게 넘 많습니다.

 

더 열씨미 공부 하겠습니다.

전병혁(chunbh)님이 2002-01-12 15:38에 작성한 댓글입니다.

재익님 "atomic operation 이라는 개념" 에 대한 문서를 어디가면 찾을 수 있나요?

 

아님 서적을 구입해야 하나요?

전병혁(chunbh)님이 2002-01-12 15:39에 작성한 댓글입니다.

뭐... 그렇게 어려운 개념은 아닙니다. 김대성님이 지적한 문제점은 간단한 게시판 프로그램에서도 생기는 문제입니다.

 

그리고 atomic operation 이라 함은 모든 transaction 이 한 단위의 동작처럼 움직여줘야 한다는 개념입니다.

 

예를 들어 보겠습니다.

sequence 에서 내가 last_value 를 읽어 들여서 그 값을 가공을 해서 디비에 넣는다고 가정해 봅시다. 그리고 그 값이 디비에 저장 되기 전까지는 절대로 sequence 값이 변해서는 안된다고 생각해 봅시다.

이럴 경우

1. sequence 로 부터 last_value 를 읽는다.

2. 그 값을 가공한다.

3. 가공된 값을 디비에 저장한다.

 

이 세가지의 동작이 모두 하나의 명령어처럼 움직여 주어야 하며, 내가 이 동작을 하는 동안에는 다른 어느 누구도 그 사이에 sequence 에 영향을 미쳐서는 안됩니다. 그러므로 이 세가지 동작이 하나의 명령어처럼 동작함을 보장하게 하는 개념을 atomic operation 이라는 말을 사용합니다.

 

이런 것은 transaction 처리를 해야 하는 작업에서는 대부분의 경우 이러한 것은 기본적인 것입니다.

 

그렇게 어려운 개념은 아니지만 transaction 을 이용하는 프로그래밍을 할때는 꼭 명심해 두어야 할 개념입니다.

정재익(advance)님이 2002-01-12 17:29에 작성한 댓글입니다.

재익님 정말 감사합니다. 제가 아직 초보라서 잘 모르거든요....

 

차근차근 공부를 해야겠군요... 다시 한번 감사드립니다.

 

저는 게시판을 만들고 있습니다.

 

위에 제가 질문한것은 현재 새글을 작성하고 저장을 할때 첨부파일은 data/table_name/last_value/file_name 이런식으로 저장이 되거든요...

 

예전에는 last_value값 대신 날짜(time()함수 사용)를 디렉토리로 사용을 했습니다.

 

어떤방법으로 저장을 하는것이 효율적일까요?

전병혁(chunbh)님이 2002-01-13 13:03에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
3881create를 파일로 하는 법?
윤재호
2002-01-16
2087
3882┕>Re: create를 파일로 하는 법?
정재익
2002-01-16 12:45:18
1922
3885 ┕>Re: Re: table 만들는것을 파일로 하는 법?
윤재호
2002-01-16 17:05:33
1960
3888  ┕>Re: Re: Re: table 만들는것을 파일로 하는 법?
정재익
2002-01-16 19:39:29
2092
3896   ┕>Re: Re: Re: Re: 답변 감사드립니다.
윤재호
2002-01-17 13:12:38
2020
3875SQL질문인데여
조안나
2002-01-14
2105
3877┕>Re: SQL질문인데여
정재익
2002-01-14 10:36:03
2198
3878 ┕>Re: Re: SQL질문인데여 [1]
조안나
2002-01-14 23:59:28
2155
3873[질문]auto/commit 을 바꿀려면 어떻게???
몰라
2002-01-12
1927
3874┕>Re: [질문]auto/commit 을 바꿀려면 어떻게???
정재익
2002-01-13 11:02:25
1985
3876 ┕>Re: Re: [질문]답글 주셔서 감사합니다.[냉무]
몰라
2002-01-14 02:35:39
2020
3879  ┕>Re: Re: Re: [질문]답글 주셔서 감사합니다.[냉무]
김대성
2002-01-15 19:46:25
2288
3862다음으로 입력되는 sequence의 값을 알아내려면?
전병혁
2002-01-10
2036
3863┕>Re: 다음으로 입력되는 sequence의 값을 알아내려면?
이정훈
2002-01-10 18:30:00
2118
3864 ┕>Re: Re: 다음으로 입력되는 sequence의 값을 알아내려면?
전병혁
2002-01-10 19:16:04
2163
3865  ┕>Re: Re: Re: 다음으로 입력되는 sequence의 값을 알아내려면?
정재익
2002-01-10 21:07:27
2258
3870   ┕>Re: Re: Re: Re: 정말 감사합니다.(냉무)
전병혁
2002-01-11 09:48:29
1860
3872    ┕>노파심에서.. [6]
김대성
2002-01-12 02:18:04
2380
3860[질문]JDBC한글 문제점여....???
몰라
2002-01-10
1985
3861┕>Re: [질문]JDBC한글 문제점여....???
정재익
2002-01-10 17:27:23
2017
3869 ┕>Re: Re: [질문]JDBC한글 문제점여....???
몰라
2002-01-11 02:20:31
1909
3868┕>Re: [질문]JDBC한글 문제점여....???
김훈
2002-01-11 01:35:34
1883
3859멍청한 질문 하나 드립니다. [1]
newbie
2002-01-10
1712
3858[질문]pgsql의 트랜젝션중 동시접속 [2]
처버.
2002-01-10
2077
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.031초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다