Oracle만 쓰다가
Sysbase를 쓸일이 생겼습니다.
Oracle에서 Table는 Tablespace라는 논리적공간에 저장이 되고
tablespace는 DataFile이라는 물리적 공간에 매핑이 됩니다.
이러한 개념이 Sybase에서 어떻게 관리되는지 알고 싶습니다.
ASE에서는 Device라는 로지컬 공간에 데이터를 저장합니다.
이 디바이스는 다시 segment라는 것으로 구분이 됩니다.
segment에는 'system', 'default', 'log segment' 로 분류가 됩니다.
segment는 디바이스 위에 놓이게 되는데, 디바이스의 free 영역내에서 데이터를 저장할 수 있습니다. DB가 full 나게 되면 device를 새로 추가하고 alter database 명령으로 DB를 새로운 device로 확장하는 방법으로 space를 확장시켜주면 됩니다.
system segment는 테이블/컬럼/사용자 등의 카달로그 정보를 저장하는 영역입니다.
default segment는 사용자의 데이터를 기본적으로 저장하는 곳입니다.
물론, 사용자가 segment를 추가하여 관리를 할 수 있습니다.
오라클의 DBSpace는 segment로 관리된다고 생각하면 됩니다.
ASE에서도 사용자가 segment를 정의하여 데이터의 저장 공간을 구분하여 관리할 수 있습니다.
log segment는 transaction log가 저장이 되는 공간입니다. 여기에는 syslogs라는 테이블이 위치하고 있습니다. log의 내용은 select 문으로 판독이 되지 않습니다.
큭! sysbase 라... 웃었습니다.