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
운영게시판
최근게시물
Sybase Q&A 1229 게시물 읽기
No. 1229
disk dsync 설정시 실제 OS 파일 버퍼를 사용하는지 여부를 알고싶습니다.
작성자
호~기심만땅
작성일
2005-07-22 14:34
조회수
4,390

메뉴얼을 보다 약간 애매하게 써놓은 구절 땜에 질문 드리게 됬습니다.

--매뉴얼 중에서 발췌

The dsync value is ignored when initializing UNIX raw partion device and Windos devices.

 

요말이 단순히 디바이스 초기화 할 때, dsync true 옵션이 지정되어 있어도, UNIX raw device랑 NT device의 경우 OS 파일 퍼버를 써서 초기화하고, 실제 DB 운용시에는 OS file buffer를 안쓴다는 것인지... 아니면, 운용시에도 OS file buffer를 쓴다는 건지 ...(맴맴~)

 

암튼 disk init 할때, dsync 옵션을 주는데요, dsync 옵션이 raw 파티션 device 랑 , 파일 device 에서 OS 환경에 따라 OS 버퍼를 사용하는 여부를 알고 싶습니다.

 

12가지 ( = 2(dsync) * 3(Unix async support, NT) * 2(file or raw device)) 가능성이 있을 꺼 같아 다음과 같은 표를 만들어 봤습니다. 문제는 버퍼 사용 여부를 확인하고 싶은데. 제 머리속에서 나온 잔머리라곤 데이타 변경중 써버 전원을 꺼버리는 거 밖에는 생각이 안나서요. (dsync 가 제대로 안되다면, 데이터가 깨질거라 가정하에.....>.<)

 

case data write시 버퍼 사용여부

---------------------------------------------------------------- -------------------

1) ASE dsync true, UNIX asynchronous I/O support , file device

2) ASE dsync true, UNIX asynhcronous I/O supprot , raw device

3) ASE dsync true, UNIX asynchronous I/O not support , file device

4) ASE dsync true, UNIX asynchronous I/O not support , raw device

5) ASE dsync ture, NT , NTFS file device

6) ASE dsync true, NT , raw device

7) ASE dsync false, UINX asynchronous I/O support , file device

8) ASE dsync false, UNIX asynchronous I/O support , raw device

9) ASE dsync false, UINX asyncrhonous I/O not support , file device

10) ASE dsync false, UNIX asynchronous I/O not support , raw device

11) ASE dsync false, NT , NTFS file device

12) ASE dsync false, NT , raw device

 

고수님들의 정보를 기대해 봅니다. 그럼 ...

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

 

너무 많은걸 써 놓으셔서 어지럽네요..

 

우선 NT는 raw device를 사용하지 못합니다.

 

그러므로 dsync true가 먹지 않습니다.

 

dsync option은 Unix file system을 device로 설정했을때

 

raw device를 사용할때 처럼

 

file buffer를 통하지 않고 db 서버가 직접 device에 write를

 

하도록 하겠다는 겁니다(그래야 데이타 개런티를 하겠죠~~)

 

또 raw device를 사용할때는 file buffer를 원래 사용하지 않으므로 dsync ture로 해도 무시가 된다는 말입니다.

 

 

또 하나 async io는 원래 Unix의 raw device만 지원을 했지만, 요새는 HP만 빼고 기본적을 file도 지원을 하더군요,

 

하지만 raw device가 dsync true로 한 file system보다 빠릅니다.

(메뉴얼에는 dsync true한 file device가 최소한 raw device의 성능은 보장 한다라고는 되어 있습니다)

 

꼭 맞는 얘기는 아니니까~~꼭 메뉴얼 다시 찾아보세요

 

 

지연님이 2005-07-26 13:59에 작성한 댓글입니다. Edit

답변 감사드립니다. 지연님 답변을 정리해보면,

1) Unix file 시스템에서 file 버퍼를 사용 안할려면 dsync true 옵션을 준다.

2) raw device 의 경우 dsync 옵션에두 불구하고 file 버퍼를 사용안한다.

3) file 버퍼를 사용 안해야 데이터 게런티 된다.

제머리로는 이정도로 정리된거 같습니다. (질문을 두서없이 적다보니 혼란스러웠던 점 죄송합니다. )

아 그리고 지연님 의견중에 NT의 경우 raw device를 사용못한다고 하셨는데, 매뉴얼에 가능한듯이 나와 있어서 자료를 좀 찾아 봤었거든요... http://www.sybase.com/detail?id=20172

직접 해본건 아니지만, NT 기반에서도 RAW device 사용 가능할 꺼 같습니다.

 

 

[추가 질문]

HP의 경우 file 시스템을 디바이스로 잡고, dsync true로 줘도, async io를 지원안하기 때문에, 파일 버퍼를 이용해서 기록을 하게 되는 건가요? (dsync 랑 async 랑 의미상으로는 같은 의미 --데이타를 serical 하게 기록하겠다는 뜻--으로 생각하고 있었는데, HP때문에 조금 혼란이 오네요..ㅠ.ㅠ.  )

 

호~기심만땅님이 2005-07-26 15:04에 작성한 댓글입니다.
이 댓글은 2005-07-26 15:09에 마지막으로 수정되었습니다. Edit

허걱~~NT에서도 되는 군요

 

근데 NT에서 그렇게 prtition을 나누진 않겠지요~~(user db가 5개 있다면 최소한 device를 10개 정도 만드는게 정상일것 같은데 NT partition을 10개 이상으로 나누진 않겠지요.)

 

 dsync와 async가 약간 헷갈리시죠...저도 많이 그랬습니다.

 

 

dync는 file system일때 file buffer를 사용하지 않게 해주는 것이고요,

 

async는 IO시 complete response를 기다리지 않고 다른 I/O를 하는 것입니다.

 

이 async가 되어야 빠른 disk io 입출력이 일어 나겠지요

 

이것을 지원하는것은 raw device와 HP를 제외한 대부분의 Unix의 file system들이라는 겁니다.

 

이것은 file buffer를 이용하고 안하고와 상관없습니다.

 

 

참고사항.1

그러나 hp에서 raw device에는 block raw device와 character raw device가 있는데

 

block raw device를 사용하실경우 async disk driver가 on이 되어 있지 않으면 data 개런티가 안됩니다(왜그런지는 모르겠어요..메뉴얼에 글케 나왔군요)

 

수고하세요

 

 

지연님이 2005-07-27 13:01에 작성한 댓글입니다. Edit

지연님 답변 감사드립니다. 덕분에 맑게 갠거 같아 홀가분하네요 (~^^)~ 토닥토닥 !

호~기심만땅님이 2005-07-29 09:30에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1232column_name 필드 리스트 값을 불러오고자 하는데.. [1]
이정기
2005-07-25
4294
1231distinct 에 대한 질문입니다. [1]
보영
2005-07-22
5588
1230sybase *.db 를 ms sql 2000 server에서 읽는 방법좀 알려주세요 [2]
윤동진
2005-07-22
4205
1229disk dsync 설정시 실제 OS 파일 버퍼를 사용하는지 여부를 알고싶습니다. [4]
호~기심만땅
2005-07-22
4390
1228chained 옵션을 영구적으로 설정할 수 없나요? [3]
왕처버
2005-07-20
3614
1227insert문장이 sql문에 오류가 없는지 확인작업 [1]
이형대
2005-07-20
4247
1226[질문] Sybase db파일을 MS-Query로 부를때... [4]
윤동진
2005-07-19
4735
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다