알티베이스
1. Altibase (MMDBMS) 란?
- 알티베이스는 우리나라에서 개발된 MMDBMS (Main Memory기반 DBMS)이다.
시스템은 기존 파일시스템기반과 메모리기반을 혼용가능한 하이브리드 기능을 갖고 있어
메모리의 가용도에 따라 메모리DB 구성을 통해 고속의 검색 조회가 가능한것이 장점이다.
- MMDBMS 는 기존 파일단위의 저장소를 이용하는 것에 비해 대량의 메모리상에서 고속의
Data Tranasaction이 처리 가능하다.
2. Altibase 설치
가. 라이센스 및 프로그램 다운로드
- www.altibase.com 에서 서버SW와 라이센스를 발급 받는다.
- http://adc.altibase.com/product/ins_guide_windows.jsp 를 기반으로 설명이 잘되어 있으나..
실제 잘 안되는 것들이 있다.
- 프로그램과 연동은 JDBC를 지원하며 통합관리툴을 지원은 하고 있으마 불안정하다.
나. 버전별 차이점
먼저 버전별 되는 것과 안되는 것이 잘 정리다 안된 상태이다. ( 체크중임)
4.x 와 5.x 에서 큰차이점을 말한다면
1. 메모리 Tabelsacpe
- 4.x 에서는 디폴트로 생성되어 있는 하나만 생성됨
사용자가 생성하는 테이블 스페이스는 없다.
(어설픈 syntax 에러에 혼동 되지 말라 )
- 5.x 부터 사용자가 메모리 Tablespace 를 생성 가능하다
2. Dual Table
- 오라클에서 많이 쓰는 DUAL table 역시 5.x 에서만 되고 있다.
- 프로그램에서 select 1 from dual 같은 것을 응용하려면 5.를 써야함
3. 아직은 미흡
- 오라클 같은 Syntax 에러에대한 친절함은 기대말라.
- 아직 기능이 지원 안되는것인지, Syntax 에러인지 분간을 못하고 모든 에러는 Syntax에러로 출력한다.
- 따라서 SQL 의 문제점이 무엇인지 정확히 이해하기 어려운 것이 아쉽다.
다. 설치
1. Alitbase를 설치한다.
2. 라이센스 : 메일로 날라온 라이센스 키를 ALTIBASE_HOME/conf에 저장한다.
3. 환경 설정 / DB 구성
3.1. Altibase install Parameter 설정
alitbase.properties 수정한다.
가. CharSet 설정
-> NLS_USE = MS949 | KSC5601
-> NLS_COMP = 0 # 0:binary code compare,
# 1:hangul collation(KSC5601, MS949
나. DB Size 설정
- 기본으로 설정된 파일은 너무 사양이 높게 되어 PC에서 구동하기 힘들다.
아래와 같이 너무 크게 잡힌 사이즈를 줄이는 작업이 필요하다.
MEM_MAX_DB_SIZE = 4G -> 2G ( 가진 메모리보다 작은값으로 )
STARTUP_SHM_CHUNK_SIZE = 1G -> 500M
DEFAULT_MEM_DB_FILE_SIZE = 1G -> 100M
EXECUTE_STMT_MEMORY_MAXIMUM = 1G -> 100M
다. 인터페이스 설정
PORT_NO = 20300 : 다른 포트를 원하면 수정한다.
라. 접속 권한 설정 : 자기 환경에 맞도록 아래 IP를 수정한다.
#access_list = deny ,192.168.1.0 ,0.0.0.255
#access_list = permit ,192.168.3.0 ,0.0.0.255
#access_list = deny ,0.0.0.0 ,255.255.255.255
3.2. Altibase startup
알티베이스의 구동 환경 순서는 아래와 같은 Step를 거친다.
가. pre-proceee ->
나. process
다. control 단계
라. Meta 단계 : 복구완료 및 meta data upgrade 단계 온라인 로그 리셋
마. 서비스 단계
> isql.exe -u sys -p manager -sysdba
> startup process
> create database mydb initsize=50M noarchivelog;
> shutdown abort
> startup service
3.3. 관리툴 설치
관리툴을 설치한다. (http://adc.altibase.com/product/environment2.jsp)
서버에 접속한다.
관리툴은 이클입스 SQL Exploler를 권장한다.
관리자계정 : 222.112.220.51 port: 20300 sys / manager
3.4. 사용자 등록
가. 테이블 스페이스 생성
-- ERR Case 에러가난다 왜나는지 모름 ----------------------------------------------------------
create DISK DATA tablespace test_ts
DATAFILE 'test_data01.user' SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE 500M,
DATAFILE 'test_data02.user' SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE 500M;
- OK Case
----------------------------------------------------------
CREATE TABLESPACE starmap_ts DATAFILE
'user_starmap.data01' SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE 500M,
'user_starmap.data02' SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE 500M;
CREATE TEMPORARY TABLESPACE user_temp
TEMPFILE 'user_temp01.user' SIZE 10M REUSE AUTOEXTEND ON NEXT 1M MAXSIZE 500M ;
*) REUSE 위치 문법대로
*) PATH 명시 않으면 DB_HOME/dbs 아래 생성됨.
[미지원]
create memory data tablespace USER_TS SIZE 10M AUTOEXTEND on NEXT 1M MAXSIZE 500M
CHECKPOINT PATH 'user_ts_chk1', 'user_ts_chk2' SPLIT EACH 10M
create MEMORY TABLESSPACE tablespace USER_mem_TS
SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE 500M REUSE
CHECKPOINT PATH '?/dbs/mem_temp_chk1' ,'?/dbs/mem_temp_chk2' SPLIT EACH 12M;
나. 사용자 생성
create user starmap identified by starmap
default tablespace starmap_ts
TEMPORARY TABLESPACE user_temp