저는 ISAPI 게시판을 만들어 쓰고 있는 프로그래머입니다.
범용 게시판들처럼 로칼 DB로 멀티 게시판을 구현하였는데요... 아주 작동이 잘됩니다.
그런데 말이죠... 게시물이 저장될때 게시판 DB의 필드중 키값을 AUTO값으로
해놓았는데...
현재까지는 자동으로 잘 증가되더라구요...
그런데 말이죠... 수십,아니 수백,수천명이 동시에 접속해서 자료를 저장해되면
과연 그 키값이 유일할까요...
한순간이라도 유일하지 않는경우 키바이올레이션(?)이 발생하지 않겠습니까????
혹 Database 컴포넌트를 쓰라고 권하실 분들은 일단 위의 방법에 대해 한번씩
더 생각해 주십시요...
위의 문제점 빼고는 게시판시스템에서 DATABASE 컴포넌트를 써야할 이유가 없거든요...
과연 그 오토값이 유일하수 있을까요...
현재는 아주 이상없이 약 5개월이상 돌아가는데...
사람이 많이 와야 명석한 테스트....
답변이나 의견 부탁드립니다.
음.. 답변이라고 하기보다 의견이라고 해야 겠네요..
키는 당연히 유일해야 합니다.. 이건 디비에서 보장해 주는 값이죠...
그런데 지금 말씀하신것 처럼.. 동시 접속자 수가 아주 많아서 서버가 감당을 하지
못하게 되거나.. 별로 안정성이 없는 디비 엔진을 사용하였을경우 키가 깨져 버릴수
도 있죠... 최악의 경우 insert가 이루어 지지 않고 튕겨 나와야 하는데.. 그렇지
않고 같은값이 두번 들어 갈 수도 있습니다...
예전 ASP 강좌를 들으러 갔었는데.. 그때 (ASP보다는 MS-SQL에 관해서 더 많이 얘기 한
것 같아요 ) MS-SQL의 자동증가 필드에 대해 얼마나 안정성이 있느냐는 물음에.
확실한 안정성을 보장한다고 말은 했지만 자동증가를 이용하지 않는게 더 좋지 않겠느냐
라는 말로 끝냈었던 기억이 있습니다...
음... 로컬 디비를 사용하신다고 했는데.. 어떤 엔진 인지 모르겠지만.. 원만큼 알려
진거라면 안정성은 있다고 보는게 좋을것 같습니다..
데이타 베이스 콤포넌트를 사용한다는게 어떻게 구현을 하겠다는 말씀이 없어서 잘
모르겠지만.. 간단하게 max또는 카운트를 센다던지 하는 방식은 오히려 이게 더 위험하
죠...
개인적으로는 auto field보다는 구현하는걸 더 선호하고 안정성 있다고 생각하지만..
그렇다고 auto field가 불안정 하다는건 절대 아닙니다.. 50보 100보죠 뭐...
그럼.. 즐거운 시간 되세요...
- 하얀까마귀 -
송인표 wrote:
> 저는 ISAPI 게시판을 만들어 쓰고 있는 프로그래머입니다.
>
> 범용 게시판들처럼 로칼 DB로 멀티 게시판을 구현하였는데요... 아주 작동이 잘됩니다.
> 그런데 말이죠... 게시물이 저장될때 게시판 DB의 필드중 키값을 AUTO값으로
> 해놓았는데...
> 현재까지는 자동으로 잘 증가되더라구요...
> 그런데 말이죠... 수십,아니 수백,수천명이 동시에 접속해서 자료를 저장해되면
> 과연 그 키값이 유일할까요...
>
> 한순간이라도 유일하지 않는경우 키바이올레이션(?)이 발생하지 않겠습니까????
>
> 혹 Database 컴포넌트를 쓰라고 권하실 분들은 일단 위의 방법에 대해 한번씩
> 더 생각해 주십시요...
> 위의 문제점 빼고는 게시판시스템에서 DATABASE 컴포넌트를 써야할 이유가 없거든요...
>
> 과연 그 오토값이 유일하수 있을까요...
> 현재는 아주 이상없이 약 5개월이상 돌아가는데...
> 사람이 많이 와야 명석한 테스트....
>
> 답변이나 의견 부탁드립니다.
>