'How to 알티베이스'에 해당되는 글 7건

  1. 2007.11.28 [How to 알티베이스_3] 알티베이스 구동 및 종료하기! 1 by 알 수 없는 사용자
  2. 2007.11.22 [How to 알티베이스_2]알티베이스 Architecture 2 by 알 수 없는 사용자



안녕하세요. Jun~입니다.

지난 11월 26일은 알티베이스 창립 8주년 되는 날이었습니다.
오직 최고의 DBMS를 만들겠다는 굳은 심정으로 묵묵히 외길을 걸어오신
알티베이스의 모든 임직원 분들에게 찬사를 보내며 알티베이스 행보에
늘 관심을 가지고 지켜봐 주신 여러분들께 진심으로 감사드립니다.

----------------------------------------------------------------------
"How-to 알티베이스 3"에서는 알티베이스를 구동 시켜보고 종료 시키는
방법을 실습해 보려고 합니다.
----------------------------------------------------------------------
* 각 그림을 클릭하시면 크게 보실 수 있습니다.

알티베이스 구동에 앞서 알티베이스를 사용하기 위해서는 반드시 데이타
베이스를 생성 시켜 놓아야 합니다.

"CREATE DATABASE" 명령어를 이용하여 데이타베이를 만들 수 있으며 데이타
베이스 생성 시 자동적으로 시스템메타 테이블들이 만들어 집니다.

데이타베이스를 생성하려면 iSQL 관리자 모드로 접근해야 겠죠?

사용자 삽입 이미지


iSQL 관리자 모드로 접근후에 바로 "CREATE DATABASE" 명령어를 이용해서
데이타베이스를 생성하려고 하니 에러 메세지가 나오는군요.

"CREATE DATABASE" 명령어를 수행하기 위해서는 서버 프로세스를 구동
시켜야 합니다. 그럼 잠깐 서버 프로세서 구동 순서를 살펴봐야 겠네요.

   여기서 잠깐! 서버 프로세서 구동 순서
  -------------------------------------------------------------------
 1. Pre-Process 단계
    서버를 구동하기 이전 단계
 2. Process 단계
    create database 및 property들을 조회하고 변경할 수 있는 단계
 3. Control 단계
    database 파일 로드, recovery 준비 단계
 4. Meta 단계
    recovery 완료, meta data upgrade 기능, 온라인 로그 reset 할 수 있는 단계
 5. Service 단계
   사용자에게 서비스 가능한 최종 단계
  -------------------------------------------------------------------

아하~! 지금 Pre-Process단계이고, Process단계로 진행이 되어야 이와같은
명령어를 사용할 수 있겠군요. 진행은 간단하군요. 말 그대로 "startup proce
ss"입니다.

실행 화면을 보시죠.
사용자 삽입 이미지


Process단계까지 진행되었습니다. 이제 CREATE DATABASE 명령으로 데이
타베이스를 생성해 볼께요.
사용자 삽입 이미지

사실 데이타베이스 생성 시 인자로 주어지는 데이터베이스의 크기는 크게 의미
가 없습니다. 왜냐하면 알티베이스 운용 중 공간이 부족할 경우에 데이타베이스
공간이 자동적으로 확장되기 때문이죠. 이때 매번 조금씩의 양을 늘리는 것은
비효율적이기 때문에 PERS_PAGE_CHUNK_SIZE 파라미터에 의해서 지정된
페이지 개수만큼씩 늘어나게 됩니다.

그럼 화면에서 임의로 띄웠던 서버를 먼저 종료 하겠습니다.
사용자 삽입 이미지










데이터베이스 생성후 서비스를 바로 start 할 수 없으므로 shutdown abort를
한 이후에 다시 startup service를 실행해야 합니다.

서버를 종료하면 iSQL은 다시 서버에 접속하지 않은 Pre-Process 상태가 되며,
서버 프로세스도 종료됩니다.

이제 알티베이스 구동 및 종료를 해볼께요. 우선 명령어를 알아보겠습니다.
$isql -sysdba
구동시 : startup service
종료시 : shutdown normal(정상종료)
            shutdown immediate(강제종료)
            shutdown abort(강제종료 - 서비스 실행시 복구 과정 필요)
사용자 삽입 이미지
사용자 삽입 이미지
















한가지 더 말씀드리자면 알티베이스 구동 및 종료시 사용자의 편의를 위해서
미리 스크립트로 만들어 놨습니다. 때문에 꼭 isql 모드로 들어가서 시작할
필요는 없습니다. 아래 스크립트를 확인해 보세요!^^
--------------------------------------------
   server start : 알티베이스 구동
   server stop : 알티베이스 정상 종료
   server kill : 알티베이스 강제 종료
   server status : 테이블 목록 출력
   server restart : 알티베이스 재 시작
   server create : 데이타베이스 생성
--------------------------------------------

오늘은 알티베이스 데이타베이스 생성 방법과 구동 및 종료에 대해서 알아봤
습니다. 다음 시간부터 데이타 딕셔너리에 대해서 알아볼께요.
그럼 좋은 한주 되세요~!!!

Posted by 알 수 없는 사용자



안녕하세요. Jun~입니다.

어제는 서울에 첫눈이 내렸습니다.
여러분은 첫눈을 보면서 어떤 생각을 하셨나요?
첫사랑? 부모님? 사랑하는 가족들...?

정말 여러 기억들이 수많은 눈송이처럼 떠오르시나요.

전 눈이 내리면 가장 먼저 행여 지나던 학생들이 미끄러질까 이른 꼭두새벽
부터 허옇게 탄연탄가루를 뿌리던 나이 지긋하신 동네 할머니가 생각납니다.
아무도 알아주지 않지만 뒤에서 묵묵히 지나던 사람들의 안전을 지켜주시던
그 할머니를 보면서 추운겨울 훈훈한 정을 느낄 수 있었답니다.

여러분도 마음 따스한 겨울을 보내시길 바라며 "How to 알티베이스 2"를
시작하겠습니다.
----------------------------------------------------------------------
"How to 알티베이스 2"에서는 알티베이스 동작방법과 디렉토리 구조에 대해서
알아보겠습니다.
----------------------------------------------------------------------
* 각 그림을 클릭하시면 크게 보실 수 있습니다.

시작하기 앞서 세계 최초로 알티베이스에서 개발한 Hybrid DBMS의
기본 컨셉과 왜 Hybrid DBMS인가에 대해서 생각해 볼까요?

Hybrid DBMS는 단일 DBMS내에서 MMDBMS와 디스크 DBMS를 제공,
하나의 데이터베이스를 여러 개의 저장매체(stored media)에 나누어 저장하여
관리할 수 있도록 설계되어 있었습니다. 이로써 데이터의 성능 가중치에 따라
자주 그리고 빠르게 접근하는 데이터는 메모리에, 그렇지 않은 데이터는 디스크
에 저장하여 관리할 수 있어 10배 이상 빠른 트랜잭션 속도를 제공하는 MMDBMS
의 장점과 대용량 데이터 처리를 지원하는 디스크 DBMS의 장점을 동시에 이용할
수 있다는 장점을 제공합니다.

고성능 정보처리와 대용량 정보처리를 하나의 DBMS에서 통합해서 처리하는 구조
이기 때문에, MMDBMS와 DRDBMS를 각각의 인스턴스로 쓰는 혼용구조에서 나타
나는 동기화의 문제, 장애처리 시 복잡한 문제,응용프로그램이 복잡해지는 문제를
해결할 수 있습니다.

또한 고객의 환경이나 필요에 따라 MMDBMS 전용 혹은 DRDBMS 전용, Hybrid MM
DBMS 형태로 다양한 구성이 가능합니다.

사용자 삽입 이미지


























사실 인간의 기본적인 욕구는 끝이 없다고 합니다. 그 대상이 무엇이든지
좀 더 좋고 이쁘며 성능까지 만족하기를 갈망하죠. IT 분야에서 한 예로
CPU 속도는 계속 증가되고 내일 어떤 기능이 추가되어 나올지 누구도
예상치 못하게 되었죠. 거기에 발맞춰 사람들의 기대심리는 점점 증가하고
어제 나왔던 CPU는 구 모델로 전락해 버리기 일쑤입니다.

이러한 성능 변화의 배경에는 사용자의 욕구에 있다고 생각하는데요.
물론 DBMS 분야도 예외가 아니어서 더 빠른 DBMS 더 안정된 DBMS
가용성과 확장성이 추가된 DBMS를 요구했고 그 요구에 맞춰 알티베이스는
Hybrid DBMS를 개발하게 되었습니다.

Hybrid DBMS는 MMDBMS와 DRDBMS를 혼용하는 구조로 각각의 장점을
수용한 고객의 입맛에 맞춘 DBMS라고 생각합니다.

그럼 알티베이스 동작 방법을 크게 3단계로 나눠서 생각해 볼께요.

1. 구동시

   "Start up"으로 알티베이스가 시작되면 DBS에 있는
    Backup DB를 메모리로 로딩하기 시작하는데요. 만약 비정상 종료를
    했을경우 Log파일 이용하여 비정상 종료 전까지 완벽하게 복구를
    할 수 있습니다.

    여기서 잠깐! Log파일은??
    - 로그파일은 알티베이스 뿐만 아니라 모든 DBMS에서 매우 중요한
      파일로 데이타 볼륨이 손상되었을 경우 백업 볼륨과 함께 데이타
      베이스를 복구하는데 사용됩니다.

2. 운영시
    사용자 명령(Insert, Update, Delete)시 디스크 Log 파일에 기록을
    하는데요. 주기적으로 CheckPoint를 발생해서 Log 파일에 양이 많아져
    하드디스크의 공간 낭비되는 현상을 막아줍니다.

3. 종료시
    정상적으로 종료했을 경우 메모리의 DB를 하드디스크 Backup DB에
    반영하고 CheckPoint를 발생시킵니다. 반면 비정상 종료 시 메인메모리
    내의 DB를 하드디스크에 저장하지 않고 다음 알티베이스 구동 시
    log 파일을 이용하여 비정상 종료 전까지 복구를 할 수 있습니다.

그럼 다음으로 $HOME/altibase_home/에 있는 디렉토리 Structure에 대해서
알아볼까요?
사용자 삽입 이미지


알티베이스 디렉토리
알티베이스를 설치 하면 다음의 디렉토리가 생성되네요.
알티베이스 홈 디렉토리는 환경 변수 ALTIBASE_HOME에 지정됩니다.
이 홈 디렉토리가 포함하는 내용은 bin, conf, lib, include, msg, dbs, logs,
sample, install, audit, trc, admin, 그리고 arch_logs 디렉토리를 포함하고
있습니다.

admin 디렉토리
기존 install 디렉토리 밑에 있던 sql 파일들과 fixed table 관련 view 생성 스크
립트 파일이 있네요.

arch_logs 디렉토리
Sync가 끝난 로그 파일이 존재하는 디렉토리 입니다.
이 디렉토리의 위치 및 디렉토리 명은 프로퍼티 파일에 명시되어 있습니다.

audit 디렉토리
이중화 동작 시 발생한 불일치를 해결하는 알티베이스 유틸리티인 audit의
예제 스크립트 파일이 들어있는 디렉토리 입니다.

bin 디렉토리
알티베이스를 포함한 알티베이스 관리도구와 알티베이스를 사용하는데 필
요한 지원도구들의 실행 파일이 존재하는 디렉토리입니다. bin 디렉토리 하위
에는 다음과 같은 파일이 존재합니다.
『aexport, altibase, altidump, altierr, altimon, audit, checkipc, checklogfiles,
checkServer, dumpdf, dumpla, dumplf, iloader, isql, killCheckServer, relink,
server, sesc, shmutil』

conf 디렉토리
알티베이스 라이센스와, 알티베이스가 취할 수 있는 다양한 옵션을 수록한
프로 퍼티 파일(altibase.properties)이 존재하는 디렉토입니다. 알티베이스가
실행될 때 라이센스를 확인하고 프로퍼티 파일을 참조하여 서버 상태를 초기화
합니다.

dbs 디렉토리
데이터베이스 파일들이 존재하는 디렉토리입니다. 이 디렉토리의 위치 및
디렉토리 명은 프로퍼티 파일에 명시되어 있구요.
mydb 파일에는 메모리 테이블들을, system 파일에는 디스크 테이블들을,
temp 파일에는 쿼리 수행 시 중간 결과들이 저장됩니다. undo 파일에는
MVCC에서 사용되는 이전 이미지 정보 레코드들이 저장됩니다.

include 디렉토리
응용 프로그램을 작성할 때 필요한 헤더 파일을 수록한 디렉토리입니다.

install 디렉토리
알티베이스 응용프로그램 작성에 필요한 makefile을 위한 매크로 설정 등이
포함된 altibase_env.mk 파일과 README 파일이 있습니다.

lib 디렉토리
응용 프로그램 작성에 필요한 라이브러리와 relink를 위한 파일을 수록한
디렉토리입니다.

logs 디렉토리
로그 파일 정보를 수록한 1개 이상의 로그앵커 파일들과 로그 파일들이 존재
하는 디렉토리입니다. 이 디렉토리의 위치 및 디렉토리 명은 프로퍼티 파일에 명시
되어 있네요. 로그앵커 파일명과 로그 파일명은 알티베이스 시스템에서 자동으로
결정됩니다. 그러나, 로그 앵커를 가진 파일 시스템의 오류에 대비하기 위해서는
프로퍼티를 변경하여 여러 개의 로그 앵커 파일들을 각각 서로 다른 파일 시스템
에 두어 관리하는 것이 좋습니다.

msg 디렉토리
오류 메시지를 수록한 파일들을 포함하는 디렉토리입니다.

sample 디렉토리
알티베이스의 응용 프로그램을 샘플로 제공한 디렉토리입니다.
JDBC, ODBC, C/C++ Precompiler 라이브러리를 이용하여 작성된 프로그램과
Makefile이 수록되어 있습니다.

trc 디렉토리
알티베이스 운영 상태를 기록한 파일들이 존재합니다.

----------------------------------------------------------------------
오늘은 알티베이스 동작 방법과 디렉토리 구조에 대해서 공부했는데요.
무척 지루하시죠? 하지만 어떤 DBMS를 사용하든지 그 동작 방법과 구조는
기본적으로 알고 있어야 된다고 생각해요.

다음 "How to 알티베이스 3"은 본격적으로 알티베이스에 데이터베이스를
생성하고 구동 및 종료하는 방법을 실행해 볼께요.




Posted by 알 수 없는 사용자