태그 미디어로그 위치로그
'데이터베이스'에 해당되는 글 6건
알티베이스는 어떤 곳인가요? 🤫
알티베이스™ 라이프

알티베이스가 캐나다에도 수출하고 GS인증도 받고 활발한 것 같은데,

어떤 일을 하는 곳인지 잘 모른다면!

 

전 세계 6,000여 개 레퍼런스를 가진

오픈소스 데이터베이스, 알티베이스를 소개합니다!

 

▶더 알아보기(채용)

https://bit.ly/3Cn9SvI

알티베이스, 클라우드 상호운용성 인증 획득
알티뉴스

알티베이스는 동명의 데이터베이스 솔루션이 한국정보통신기술협회(TTA)에서 시행한 클라우드 상호운용성 인증시험(TTA Verified)을 통과해, 인증 기준에 부합하는 시험 결과를 확보했다.

 

알티베이스의 서광익 실장에 따르면 본 인증시험은 아마존 웹서비스(AWS)와 구글 클라우드 플랫폼(GCP) 시험환경에서 상호 운용성 및 이식성을 시험하는 것이다.

 

자세히 보기:

https://zdnet.co.kr/view/?no=20210905121347

알티베이스 "중국 통신 시장에 스타팅 블록 구축"
알티뉴스

알티베이스 "중국 통신 시장에 스타팅 블록 구축"


알티베이스가 중국 시장을 공략할 수 있는 성공적인 통신시장 구축 사례를 확보했다고 밝혔다.

알티베이스 관계자는 “2015년 푸젠성 차이나모바일의 BOSS(Business Operation Support System)에 알티베이스를 공급한 후 현재까지 큰 장애나 고객의 불만 없이 안정적으로 운영되고 있어 중국 통신시장의 성공적인 구축사례가 됐으며, 중국 DB 시장에서의 알티베이스 입지를 더욱 견고히 하는 계기가 되었다”고 밝혔다.


자세히 보기 : http://www.ciokorea.com/news/30781

2012 알티베이스 교육센터 무료세미나 개최!!
알티뉴스



국산 데이터베이스의 대명사, 알티베이스HDB 5.5.1을 설치해 보자.
개발자 세상

 작성: 알티베이스 CTO 김성진(sjkim@altibase.com)

알티베이스의 데이터베이스, ALTIBASE HDB는 지난 12년간 개발 및 상용화된 국산 데이터베이스이다.

실제로 통신, 금융, 제조업 등에서 주요 데이터베이스로 사용되어 있으며,  극한의 성능이 필요한 영역에서 그 진가를 나타내는 메모리 데이터베이스가 있으며, 오라클과 유사한 디스크 데이터베이스를 모두 지원한다.
위의 두개의 데이터베이스를 하나의 데이터베이스로 지원하는 하이브리드 타입을 지원함으로써 사용자는 극한의 성능과 대용량의 데이터를 모두 하나의 어플리케이션에서 처리할 수 있는 새로운 개념의 데이터베이스이다.

최근 알티베이스HDB 5.5.1이 새로 출시되었고, 성능과 안정성이 놀랄만하게 개선되었기에 한번 설치하고, 기존의 mysql과 같은 데이터베이스 어떠한 차이가 있는지 등을 살펴보는 재미있는 시간이 되기를 바란다.

그러한 의미에서 이 블로그는 알티베이스의 다운로드부터 실제 설치까지 전 과정에 대해서 설명하는 장이 될 것이며, 여러분의 호기심을 충족할 수 있는 기회가 되었으면 개인적으로 영광일 것이다.

하드웨어 및 운영체제에 확인
 
알티베이스HDB는 현존하는 대부분의 운영체제를 지원한다.
가장 흔히 볼 수 있는 리눅스부터 AIX, HP-UX,  Solaris, Windows 를 지원하며, 각 운영체제 및 CPU에 대한 자세한 정보는 알티베이스 공식 지원홈페이지(http://atc.altibase.com)을 참조하기 바란다.

오늘은 인텔 CPU기반의 리눅스 운영체제( ES 5.6)에 설치할 것이나, 우분투(8.04 이상)나 페도라에서도 문제없이 설치될 것이다. 단 CPU가 pentium 4 이상을 지원하므로, 참조하기 바란다. 

이 글을 쓰기 위해서 호스트웨이(http://www.hostway.co.kr)에서 제공하는 가상 리눅스 플랫폼을 사용하였으니 오해없으시길 바란다. 

우선 root로 로그인하여 하드웨어 환경을 검사해 본다.

 인텔 제온 CPU 기반에서 레드햇 ES 5.6 임을 확인하였다.
그리고, ls 프로그램이 64비트로 설치된 것으로 보아 64비트 운영체제 환경으로 설치되었음을 알 수 있다. (이 환경에서 32비트도 설치가능하나 혼란의 여지를 줄이기 위해 모두 64비트로 설치를 진행하겠다) 

알티베이스 설치 패키지 다운로드

공식적으로 알티베이스 패키지를 다운로드 받기 위해서는 앞에서 언급했던 알티베이스 공식 지원 홈페이지(http://atc.altibase.com)로 가면 된다.

그런데, 그곳에서 가면 회원가입을 해야 하고, 가입 이후에 패키지와 라이센스를 다운로드 받을 수 있다. 

 그러나, 마음이 급한 독자를 위해서 아예 전용 다운로드 홈페이지(http://altibase.dyndns.org) 를 만들었으니 그곳에서 관련 패키지를 다운로드 하시라. (혹시 문제로 받을 수 없으면, 위의 곳에서 다운로드 받아서 준비하시길 바란다)

화면에 Altibase Installation Package Page 를 누르면, 아래의 페이지로 이동한다.

이곳에서 64비트 서버 패키지(altibase-server-5.5.1.0-LINUX-X86-64bit-release.bin)와 자바 런타임 64비트 패키지 (jre-6u25-linux-x64.bin)를 시스템으로 다운로드 받아 놓자.

물론 라이센스 정보도 필요한데, 공식 홈페이지에서 회원 가입후에 받을 수 있다. 그럴 경우 제약없는 무한대 라이센스를 획득할 수 있는데, 그 과정이 귀찮은 분을 위해서 2012년 12월 말까지 모든 시스템에서 사용할 수 있는 임시 라이센스를 공개해 놓으니, 기억해 놓았다가 알티베이스 설치시에 이용하도록 한다. 

알티베이스 사용자 생성

이제 본격적으로 알티베이스를 설치해 보도록 하자.
우선 root로 사용하는 것은 관리나 보안에 문제가 크기 때문에 altibase 라는 계정을 만들도록 한다.

useradd 명령어로 쉽게 생성할 수 있으며, passwd 명령으로 altibase라는 패스워드로 똑같이 생성해 보자.

[root@localhost ~]# useradd altibase

[root@localhost ~]# passwd altibase

Changing password for user altibase.

New UNIX password: 

Retype new UNIX password: 

passwd: all authentication tokens updated successfully.

[root@localhost ~]# 

 

 

[root@localhost ~]# whoami

root

[root@localhost ~]# su - altibase

[altibase@localhost ~]$ ls -al

합계 68256

drwx—— 4 altibase altibase     4096  5월 10 13:22 .

drwxr-xr-x 4 root     root         4096  5월 10 13:23 ..

-rw——- 1 altibase altibase      119  5월 10 13:23 .bash_history

-rw-r–r– 1 altibase altibase       33  5월 10 13:16 .bash_logout

-rw-r–r– 1 altibase altibase      176  5월 10 13:16 .bash_profile

-rw-r–r– 1 altibase altibase      124  5월 10 13:16 .bashrc

-rw-r–r– 1 altibase altibase      515  5월 10 13:16 .emacs

drwxr-xr-x 4 altibase altibase     4096  5월 10 13:16 .mozilla

drwx—— 2 altibase altibase     4096  5월 10 13:20 .ssh

-rwxr-xr-x 1 altibase altibase 48589890  5월 10 13:22 altibase-server-5.5.1.0-LINUX-X86-64bit-release.bin

-rwxr-xr-x 1 altibase altibase 21180382  5월 10 13:22 jre-6u25-linux-x64.bin

[altibase@localhost ~]$ chmod +x *.bin  <== 실행 가능하도록 권한 수정

 사용자가 생성이 되었고, 패키지도 위와 같이 다운로드 받아 놓았다.

이제 설치를 하면 되는데, 차근 차근 따라가 보도록 하자.

자바 설치 

만약 JDBC를 사용해야 하는
환경이면  다운 로드했던 자바를 설치하도록 하자.  만일 필요치 않다면, 이 장은 건너뛰어도 무방하다. 만일 자세한 설치를 알고 싶다면, 이곳을 방문하길.

[altibase@localhost ~]$ ./jre-6u25-linux-x64.bin  <== 설치 패키지 수행

[altibase@localhost ~]$  

 ……….
  Creating jre1.6.0_25/lib/rt.jar

Creating jre1.6.0_25/lib/jsse.jar

Creating jre1.6.0_25/lib/charsets.jar

Creating jre1.6.0_25/lib/ext/localedata.jar

Creating jre1.6.0_25/lib/plugin.jar

Creating jre1.6.0_25/lib/javaws.jar

Creating jre1.6.0_25/lib/deploy.jar Done. <== 설치 완료

[altibase@localhost ~]$ ls -al <== 설치 확인

합계 68260

drwx—— 5 altibase altibase     4096  5월 10 13:36 .

drwxr-xr-x 4 root     root         4096  5월 10 13:23 ..

-rw——- 1 altibase altibase      119  5월 10

13:23 .bash_history

-rw-r–r– 1 altibase altibase       33  5월 10 13:16 .bash_logout -rw-r–r– 1 altibase altibase      254  5월 10

13:29 .bash_profile

-rw-r–r– 1 altibase altibase      124  5월 10 13:16 .bashrc

-rw-r–r– 1 altibase altibase      515  5월 10 13:16 .emacs

drwxr-xr-x 4 altibase altibase     4096  5월 10 13:16 .mozilla

drwx—— 2 altibase altibase     4096  5월 10 13:20 .ssh

-rwxr-xr-x 1 altibase altibase 48589890  5월 10 13:22 altibase-

server-5.5.1.0-LINUX-X86-64bit-release.bin

-rwxr-xr-x 1 altibase altibase 21180382  5월 10 13:22 jre-6u25-

linux-x64.bin

drwxr-xr-x 8 altibase altibase     4096  5월 10 13:36 jre1.6.0_25 <== 이곳에 설치됨. 

단지 디렉토리에 패키지 푸는 것 만으로 설치가 끝났다.  매뉴얼에 따라 PATH 와 LD_LIBRARY_PATH를 잡아주도록 하자. 

알티베이스 데이터베이스 서버 설치 

알티베이스 5.5.1 부터는 인스톨러 형태로 설치본이 제공이 되는데, 앞의 자바 설치와 유사하게 바이너리 실행화일을 수행하면 설치가 시작된다.

만일 자신의 환경이 X-window 환경이라면 구이 환경에서 설치를 수행할 수 있고, X-window가 없다면, 콘솔기반으로 설치가 자동적으로 진행되니  미리 설치환경을 고민할 필요는 없다.

여기에서는 보편적인 콘솔기반으로 설치가 진행되는 것을 가정하겠다.
그리고, 각 과정마다  하나씩 주석을 넣어서 진행하는 과정을 설명하도록 한다.

시스템 환경의 설정

[altibase@localhost ~]$ ./altibase-server-5.5.1.0-LINUX-X86-64bit-release.bin 

—————————————————————————-

Welcome to the Altibase DBMS Server 5.5.1 Setup Wizard.

 

—————————————————————————-

Pre-Installation requirements for Altibase DBMS

 

At first, it is necessary to set up system environments to ensure Altibase DBMS 

runs properly. Before installing Altibase DBMS, kernel parameter values must be 

set as the root user. The kernel parameter values may be modified after 

installation, however, must be set prior to operating the Altibase DBMS.

 

Please, refer to the installation manual and pre_install.sh script file

(pre_install.sh : ‘$Altibase_install_dir’/install/pre_install.sh)

 

================ LINUX ================

[ How to modify kernel parameter values ]

 

echo 512 32000 512 512 > /proc/sys/kernel/sem

echo 872415232 > /proc/sys/kernel/shmall

 

# shmall 

If it is desired to use the Altibase DBMS in shared memory mode, the value of 

’shmall’ must be set. This value determines the maximum size of an Altibase 

database.

 

These values are the values that must be set in order for the Altibase DBMS to 

Press [Enter] to continue :

 

 

설치본을 수행하면 위와 같은 메시지가 나오게 되는데, 이는 알티베이스에서 사용하는 공유메모리와 세마포어의 초기 설정값을 이렇게 설정하라는 것이다.

알티베이스는 멀티쓰레드 서버 구조라서 실제로 공유메모리와 세마포어를 서버의 서비스 용도로는 사용하지 않는다. 단지, 클라이언트와 서버의 통신 아키텍쳐에서 빠른 응답을 위해서 IPC 통신 기법을 사용하는데 이때 할당되는 통신 채널의 리소스가 부족하지 않도록 설정하는 것이다.

만일 굳이 IPC통신 기법을 사용하지 않는다면, 이 시스템 환경을 설치할 필요는 없다. 

위의 볼드체로 된 부분은 반드시 root 명령어로 수행해서 설정해야 하며, 다음과 같이 설정/확인할 수 있다.

아래는 다른 콘솔로 수정한 것이다. 그냥 알티베이스 설치가 끝난 이후에 아래의 설정과정을 거쳐도 무방하다.  

 

[altibase@localhost ~]$ su

암호:

[root@localhost altibase]# cat /proc/sys/kernel/sem 

250 32000 32 128

[root@localhost altibase]# cat /proc/sys/kernel/shmall 

4294967296

[root@localhost altibase]# echo 512 32000 512 512 > /proc/sys/kernel/sem

[root@localhost altibase]# echo 872415232 > /proc/sys/kernel/shmall

[root@localhost altibase]# cat /proc/sys/kernel/sem 

512 32000 512 512   <== 변경되었다!

[root@localhost altibase]# cat /proc/sys/kernel/shmall 

872415232 <=== 변경되었다.

[root@localhost altibase]# 

 
 
본격적인 알티베이스 설치 진행

설치를 계속해 보자. 엔터를 치면 다음 단계로 넘어간다.

 

Press [Enter] to continue :

 

—————————————————————————-

Installation Directory

 

Please, specify the installation directory for Altibase DBMS Server 5.5.1

 

Installation Directory [/home/altibase/altibase-server-5.5.1]: 

<== 알티베이스 설치된 기본 디렉토리를 지정한다.
       만일 디렉토리가 없으면 자동으로 생성한다. 
       여기에서는 디폴트로 놓아두었다.  

—————————————————————————-

Altibase DBMS Property settings:

Step 1: Basic database operation properties

 

Database Name [mydb]: 

 

Altibase DBMS Connection Port Number(1024-65535)  [20300]: 

<== 데이터베이스 클라이언트 서비스를 위한 기본 포트이다.
 

Maximum size of memory database  [4G]: 

<== 메모리 데이터영역의 최대 크기를 지정한다.
      알티베이스의 메모리 데이터베이스는 자동으로 증가하는데,
      여기에서 지정한 영역까지 증가된다. 
      디폴트로 놓아두도록 한다. 32비트에서는 2G가 최대한계이다.
 

Buffer area size for caching disk-based database pages [128M]: 

<== 이 영역은 디스크 데이터베이스의 버퍼풀 크기이다.
      해당 시스템의 메모리 크기를 고려하여 설정한다. 크면 클수록
      디스크 트랜잭션의 성능이 올라갈 것이다.
 

Do you want to create a database after installation?

 

[1] YES

[2] NO

Please choose an option [1] : 

<== 이 옵션은 알티베이스 설치가 끝난 후에 자동으로 데이터베이스
       인스턴스를 생성할 것인지 결정하는 것이다.  
       특별한 이유가 없다면 그냥 생성하도록 하는 것이 편안한 삶의 첩경이다. 

—————————————————————————-

Altibase DBMS Property settings:

Step 2: Database creation properties
Initialization Database Size [10M]:  <== 이 값은 메모리 데이터베이스의 초기 설정크기를 결정한다.
      즉, 사용자의 메모리테이블 사용량이 10M가 넘어가면 자동으로
      내부 공간이 확장되면, 이 확장은 위에서 지정한 4G까지 이루어진다.
      이 값의 의미는 10M 만큼의 메모리 테이블 리소스를 미리 할당한다는
      의미로 이해하면 된다.
  

Database archive logging mode
[1] NoArchivelog [2] Archivelog Please choose an option [1] :  <== 2번으로 설정하면 로그화일이 백업용도로 지워지지 않고, 
      무한대로 늘어난다. 따라서, 특별한 백업이슈가 없으면 1번으로 설정한다.
      1번은 알티베이스의 체크포인트시에 불필요한 로그화일을 지속적으로
      삭제하여, 디스크의 사용량을 유지시킨다. 

  Database Character-set
[1] MS949

[2] US7ASCII

[3] KO16KSC5601

[4] BIG5

[5] GB231280

[6] UTF-8

[7] SHIFT-JIS

[8] EUC-JP

Please choose an option [1] : 

<== 이는 데이터베이스 내부의 기본 캐릭터셋을 설정하는 것이다.
      현재 알티베이스는 8개의 캐릭터셋을 지원하며, 이를 데이터베이스 
      전체에 영향을 미치며, 이후에 수정할 수 없도록 되어 있다.
      여기에서는 마이크로소프트의 캐릭터셋을 이용하도록 한다. 
 

National Character-set
[1] UTF-16

[2] UTF-8

Please choose an option [1] : 

<== 알티베이스에서 제공하는 국제언어 캐릭터 타입인 
       NCHAR, NVARCHAR에 대한 엔코딩 방식을 지정한다. 
       2바이트 기반 유니코드인 1번을 설정하도록 한다. 
 

—————————————————————————-

Altibase DBMS Property settings: Step 3: Database operation directory properties Default Disk Database Directory [/home/altibase/altibase-server-5.5.1/dbs]: 

<==  디스크 데이터베이스의 데이터화일이 저장될 곳을 지정한다. 
       디폴트로 놓아두자.
  

Memory Database Directory [/home/altibase/altibase-server-5.5.1/dbs]: 

<== 메모리 데이터베이스의 데이터화일이 저장될 것을 지정한다.
      이 또한 디폴트로 놓아두자.
 

Archive Log Directory [/home/altibase/altibase-server-5.5.1/arch_logs]: 

<== 아카이빙 로그화일이 저장될 디렉토리를 지정한다.
      디폴트로 지정! 

Transaction Log Directory [/home/altibase/altibase-server-5.5.1/logs]: 

<== 현재 사용중인 로그화일이 저장될 디렉토리를 지정한다.
      디폴트로 지정한다. 

 [Log Anchor file Directories ] Three sets of log anchor files exist in the Altibase DBMS. They contain  important information about the database. By default, they are located under the  ‘logs’ folder.  The location can be changed by modifying the file  labeled  “altibase.properties”.

<== 대부분의 데이터베이스에서는 로그 앵커(혹은 컨트롤 화일)라는 이름으로 
      데이터베이스의 가장 중요한 기초 정보를 담고 있는 화일을 유지한다.
      이 화일이 손상을 받으면 데이터베이스 자체의 복구가 불가능하므로
      대부분 2개 이상의 복제본을 유지하게 된다.
      알티베이스에서는 3개를 기본으로 생성하도록 하고 있으며,
      아래의 디렉토리는 각각의 위치이다. 
      정말로 위험을 회피하기 위해서는 아래의 각각의 디렉토리의 위치가
      달라야 하나, 여기에서는 디폴트로 놓아둔다.

Directory 1. [/home/altibase/altibase-server-5.5.1/logs]:  <== 디폴트로 지정

Directory 2. [/home/altibase/altibase-server-5.5.1/logs]:  <== 디폴트로 지정

Directory 3. [/home/altibase/altibase-server-5.5.1/logs]:  <== 디폴트로 지정

—————————————————————————-

아래는 설정한 프로퍼티를 다시 한번 보여주는 단계이다.
혹시 확인해 보고 문제가 있다면 재시도하도록 하자.
 
Property report
Please check your property settings. 
To change these properties after installation is complete,  please modify the following file:   /home/altibase/altibase-server-5.5.1/conf/altibase.properties.

1. Altibase DBMS Property Settings:    

Step 1: Basic database operation properties
    1) Database Name :           [mydb]
    2) Altibase DBMS Connection Port Number(1024-65535)  :           [20300]
    3) Maximum size of memory database  :          [4G]
    4) Buffer area size for caching disk-based database pages :          [128M]

2. Altibase DBMS Property Settings:

Press [Enter] to continue :

Press [Enter] to continue :    

Step 2: Database creation properties
    1) Installation Database Size          [10M]
    2) Database archive logging mode          [noarchivelog]
    3) Database Character Set          [MS949]
    4) National Character Set          [UTF16]

3. Altibase DBMS Property Settings:    

Step 3: Database operation directory properties
    Database will not operate properly if one or more directories are removed. 
    1) Default Disk Database Directory :           [/home/altibase/altibase-server-5.5.1/dbs] 
    2) Memory Database Directory : Press [Enter] to continue :          [/home/altibase/altibase-server-5.5.1/dbs] 
    3) Archive Log Directory :           [/home/altibase/altibase-server-5.5.1/arch_logs] 
    4) Transaction Log Directory :           [/home/altibase/altibase-server-5.5.1/logs] 
    5) Log Anchor file Directories :          Directory 1 :           [/home/altibase/altibase-server-5.5.1/logs] 
         Directory 2 :           [/home/altibase/altibase-server-5.5.1/logs] 
         Directory 3 :           [/home/altibase/altibase-server-5.5.1/logs] 

 

Press [Enter] to continue :

————————————————————

Setup is now ready to install Altibase DBMS Server 5.5.1.
Do you want to continue? [Y/n]: 

<== 모두 설정되였으면 실제 설치로 들어가자!.
—————————————————————————-

Please, wait until the setup wizard finishes installing Altibase DBMS Server  5.5.1.
 Installing  0% ______________ 50% ______________ 100%  

#########################################

<== 설치 진행 화면을 보여준다.

—————————————————————————-

Registering Altibase DBMS License
If has not been issued or expired, Altibase DBMS services will not start. In this case, Please visit http://atc.altibase.com or contact Altibase Technical Support (license@altibase.com)

Choose a option for Altibase license registration.
[1] Input license key.    <== 직접 키를 입력하는 방식 

[2] Select License file.  <== 라이센스 키가 들어있는 화일을 지정하는 방식

[3] No license file exist. <== 키가 없을 경우 

Please choose an option [1] :  <== 이제 라이센스를 넣을 차례이다.
       알티베이스에서 혹시 받은 라이센스가 있다면 그것을 넣고,
       귀찮은 사용자를 위해서 미리 받아놓은 임시 라이센스를 넣도록 하자.
  —————————————————————————-

Obtaining Altibase License
Input Altibase license key.
 []: 55DA1FD889A604E5FC26BC1DE935FC67 <== 임시키를 넣는다. 
        2012년 12월 31일까지 상용을 제외한 모든 곳에 무제한 사용가능하다!
 

Info: License registration is complete.
Check your  /home/altibase/altibase-server-5.5.1/conf/license  file. Press [Enter] to continue :

—————————————————————————-

Altibase Quick Setting Guide <==  아래는 설치 정보 및 환경에 대한 설명이다. 참조하자.

[  Installation complete  ]

Please refer to the file listed below to verify the Altibase DBMS version.    

/home/altibase/altibase-server-5.5.1/APatch/patchinfo 

 

[ Quick Guide to Making Settings in Altibase ] 

Four steps are required before starting Altibase DBMS services.
1. Configure kernel parameters

2. Register a license.  

3. Configure user environment variables     

(using the account of Altibase installtion user)

4. Create a database

There are several setup script files that can be manually used to install 

the Altibase DBMS. 

To use a setup script file :

1. run the ‘/home/altibase/altibase-server-5.5.1/install/pre_install.sh’ file     

- This script helps your kernel parameter settings.
   <==  커널 환경 설정을 위한 스크립트가 준비되었다는 메시지
           필요시 사용하자. (우리는 앞에서 이미 설정했다) 

Press [Enter] to continue :

2. Register a license.      

Please, rename and locate license file as below.      

/home/altibase/altibase-server-5.5.1/conf/license     

<== 라이센스 정보가 담긴 화일을 알려준다. 
 

3. run the ‘/home/altibase/altibase-server-5.5.1/install/post_install.sh’ file     

under the ‘Altibase installation user’ account.    

This script performs post-installation configuration needed for starting     

Altibase DBMS.      <===  post_install.sh에는 아래의 두가지 역할을 하도록 설정되었다.     

1) Create the altibase user environment file and apply to the user profile.          

(/home/altibase/altibase-server-5.5.1/conf/altibase_user.env)
     <== 설치후 알티베이스 사용을 위한 환경을 담고 있는 화일이다.
            자동으로 등록된다.
     

2) Creating database.          

If the “database creation script” has been created before,           

post_install.sh performs databse create step.        

<===  데이터베이스가 생성된다. 

4. Create database      

If the “database creation script”has not been created before, it must be       

created prior to starting services by using following script.
         server create [DB Character-set] [National Character-set]      

<== 만일 데이터베이스를 생성하지 않았다면, 
            아래의 스크립트로 생성이 가능하다.
            예)  server create MS949 UTF-16 
5. Startup/Shutdown server    

shell> server start  <== 알티베이스를 구동하는 스크립트     

shell> server stop  <== 알티베이스를 종료하는 스크립트

 6. Connect to database using iSQL    

shell> isql -s 127.0.0.1 -u SYS -p MANAGER     <== 알티베이스의 interactive sql을 사용하는 명령어이다.

Press [Enter] to continue :
 Would you like to launch ‘post_install.sh’ now ?  

- It will create the Altibase user environment file and the database. [Y/n]: 

<== 자, 이제 데이터베이스를 생성할 차례다. 아래 Y를 선택하면
       자동으로 생성된다.  설정한 프로퍼티에 따라 몇십초에서 몇분까지 걸린다.

Result

[Linux Env.]

Target : /home/altibase/altibase-server-5.5.1/conf/altibase_user.env

created  ———————– Altibase environment setup file.

added    ———————– ALTIBASE_HOME

added    ———————– PATH

added    ———————– LD_LIBRARY_PATH

added    ———————– CLASSPATH        

export ———————– ‘altibase_user.env’ into  ‘/home/altibase/.bash_profile’

<== 이 화일에 알티베이스 초기 환경변수가 자동을 설정되었다. 
아래의 메시지는 알티베이스 데이터베이스가 생성되는 과정을 보여준다.

—————————————————————–      

Altibase Client Query utility.      

Release Version 5.5.1.0.0      

Copyright 2000, ALTIBASE Corporation or its subsidiaries.      

All Rights Reserved.

—————————————————————–

ISQL_CONNECTION = UNIX, SERVER = localhost, PORT_NO = 20300

[ERR-910FB : Connected to idle instance]

Connecting to the DB server… Connected.

Press [Enter] to continue :

 

TRANSITION TO PHASE : PROCESS

To be expired at 2012-12-31.

Command execute success.
DB Info (Page Size     = 32768)        

(Page Count    = 257)        

(Total DB Size = 8421376)        

(DB File Size  = 1073741824)
Creating MMDB FILES     [SUCCESS]
Creating Catalog Tables [SUCCESS]
Creating DRDB FILES     [SUCCESS]
  [SM] Rebuilding Indices [Total Count:0]  [SUCCESS]
DB Writing Completed. All Done.
Create success. <== 이 메시지가 나와야 성공이다. 혹시 이 과정에서 
                                실패가 나왔다면, 콘솔에서 직접 생성스크립트를 수행하자. 

 Press [Enter] to continue :
==============================================

Please perform [re-login] 

or [source /home/altibase/.bash_profile] 

or [. /home/altibase/.bash_profile]

==============================================

Press [Enter] to continue :

—————————————————————————-

Setup has finished installing Altibase DBMS Server 5.5.1 on your host.

<==  드디어 모든 복잡한 설치과정이 완료되었다!!!
        그러나, 실제로 라이센스를 넣는 부분외에는 그냥 리턴만으로 모든
        설정을 수행했기 때문에 큰 어려움은 없었을 듯 하다.

[altibase@localhost ~]$ 

 

 

 
 
환경변수 설정

이제 설치를 완료하였다.
마무리 작업을 수행하면 된다.  앞에서 설명이 나온 것과 같이 환경변수 정보를 업데이트하자.

 

altibase@localhost ~]$ source ~/.bash_profile <==  환경변수를 업데이트하자.

[altibase@localhost ~]$ which altibase  <== altibase 를 찾을 수 있다면 성공이다!

~/altibase-server-5.5.1/bin/altibase

[altibase@localhost ~]$ 

 
 
대망의 알티베이스 서버 구동 

드디어 모든 과정을 마쳤다. 이제 알티베이스를 구동해 보자.
큰 실수를 하지 않는 한 다음과 같은 구동 메시지가 뜰 것이다.

[altibase@localhost ~]$ 

[altibase@localhost ~]$ server start

—————————————————————–

     Altibase Client Query utility.

     Release Version 5.5.1.0.0

     Copyright 2000, ALTIBASE Corporation or its subsidiaries.

     All Rights Reserved.

—————————————————————–

ISQL_CONNECTION = UNIX, SERVER = localhost, PORT_NO = 20300

[ERR-910FB : Connected to idle instance]

Error: /proc must be mounted

  To mount /proc at boot you need an /etc/fstab line like:

      /proc   /proc   proc    defaults

  In the meantime, run “mount /proc /proc -t proc”

sh: /usr/ucb/uptime: 그런 파일이나 디렉토리가 없음
<== 이 메시지는 리눅스 간의 상이한 패키지 구조로 인해서 발생하는 것이다.
       동작에 큰 이슈는 없으므로, 무시하자.  다음버젼에서는  수정될 것이다.  

Connecting to the DB server… Connected.

 

 

TRANSITION TO PHASE : PROCESS

To be expired at 2012-12-31. <== 임시 라이센스 정보 출력

 

 

TRANSITION TO PHASE : CONTROL

 

 

TRANSITION TO PHASE : META

  [SM] Recovery Phase - 1 : Preparing Database

                          : Dynamic Memory Version => Parallel Loading

  [SM] Recovery Phase - 2 : Loading Database 

  [SM] Recovery Phase - 3 : Skipping Recovery & Starting Threads…

                            Refining Disk Table 

  [SM] Refine Memory Table : ……………………………………………………………………………………… [SUCCESS]

  [SM] Rebuilding Indices [Total Count:101] ……………………………………………………………………………………….. [SUCCESS]

 

 

TRANSITION TO PHASE : SERVICE

  [CM] Listener started : TCP on port 20300 [IPV4]

  [CM] Listener started : UNIX

  [RP] Initialization : [PASS]

 

— STARTUP Process SUCCESS —   

Command execute success.  <== 떴다!

 
 
알티베이스 메모리 테이블 사용해 보기

힘겹게(?) 설치를 했으니 한번 사용해 보도록 하자. 
사용해 보면 오라클 사용법과 크게 다르지 않다.
알티베이스의 interactive sql 도구인 isql을 사용한다. (내부적으로 is 라는 스크립트가 있고, is 만 수행해도 아래와 같이 로그인 된다) 

 

[altibase@localhost altibase-server-5.5.1]$ isql -s 127.0.0.1 -u SYS -p MANAGER

—————————————————————–

     Altibase Client Query utility.

     Release Version 5.5.1.0.0

     Copyright 2000, ALTIBASE Corporation or its subsidiaries.

     All Rights Reserved.

—————————————————————–

ISQL_CONNECTION = TCP, SERVER = 127.0.0.1, PORT_NO = 20300

iSQL> autocommit off;  <== non autocommit 모드로 수행한다.

Set autocommit off success.

iSQL> create table myalti (id integer primary key, name varchar(20)); Create success.
<== 이 myalti 은 메모리테이블로 생성된다.  

iSQL> insert into myalti values(1, ’sjkim’);

1 row inserted.

iSQL> insert into myalti values(2, ‘gamestar’);

1 row inserted.

iSQL> select * from myalti;

ID          NAME                   ————————————-

1           sjkim                 

2           gamestar              

2 rows selected.

iSQL> commit;

Commit success.

iSQL> insert into myalti values(3, ‘alti 5.5.1′);

1 row inserted.

iSQL> select * from myalti;

ID          NAME                  

————————————-

1           sjkim                 

2           gamestar              

3           alti 5.5.1            

3 rows selected.

iSQL> rollback;

Rollback success.

iSQL> select * from myalti;

ID          NAME                  

————————————-

1           sjkim                 

2           gamestar              

2 rows selected.

iSQL>  insert into myalti values(3, ‘alti 5.5.1′);

1 row inserted.

iSQL> insert into myalti values(3, ‘alti 5.5.1′);

[ERR-11058 : The row already exists in a unique index.]

iSQL> rollback;

Rollback success.

 iSQL>select * from myalti;

ID          NAME                  

————————————-

1           sjkim                 

2           gamestar              

2 rows selected. iSQL> quit  <== 종료

[altibase@localhost altibase-server-5.5.1]$   

 

알티베이스 디스크 테이블 사용해 보기 

아래는 디스크 테이블을 생성하는 예제이다. 

 

[altibase@localhost altibase-server-5.5.1]$ is

—————————————————————–

     Altibase Client Query utility.

     Release Version 5.5.1.0.0

     Copyright 2000, ALTIBASE Corporation or its subsidiaries.

     All Rights Reserved.

—————————————————————–

ISQL_CONNECTION = TCP, SERVER = localhost, PORT_NO = 20300

 

iSQL> select * from v$tablespaces; <== 사용가능한 테이블스페이스를 확인하자.

ID          NAME                                      NEXT_FILE_ID 

———————————————————————–

TYPE        STATE       EXTENT_MANAGEMENT     SEGMENT_MANAGEMENT    

————————————————————————-

DATAFILE_COUNT TOTAL_PAGE_COUNT     EXTENT_PAGE_COUNT ALLOCATED_PAGE_COUNT 

——————————————————————————–

PAGE_SIZE   ATTR_LOG_COMPRESS 

———————————

0           SYS_TBS_MEM_DIC                           0           

0           2                                                       

1           129                  128         129                  

32768       0           

1           SYS_TBS_MEM_DATA                          0           <== 메모리 테이블 스페이스

1           2                                                       

1           257                  128         257                  

32768       1           

2           SYS_TBS_DISK_DATA                         1            <== 기본 디스크 테이블 스페이스 

3           2           BITMAP                AUTO                  

1           12800                64          64                   

8192        1           

3           SYS_TBS_DISK_UNDO                         1           

7           2           BITMAP                CIRCULAR              

1           32768                32          16416                

8192        1           

4           SYS_TBS_DISK_TEMP                         1           

5           2           BITMAP                MANUAL                

1           12800                32          32                   

8192        1           

5 rows selected.

iSQL>  create table mydisk (id integer primary key, name varchar(20)) tablespace SYS_TBS_DISK_DATA; <== 디스크 테이블 생성 

Create success.

iSQL> autocommit off;

Set autocommit off success.

iSQL> insert into mydisk values(1, ’sjkim disk’);

1 row inserted.

iSQL> insert into mydisk values(2, ‘gamestar disk’);

1 row inserted.

iSQL> commit;

Commit success.

iSQL> select * from mydisk;

ID          NAME                  

————————————-

1           sjkim disk            

2           gamestar disk         

2 rows selected.

iSQL>  <==  디스크 테이블의 내용이 출력된다.

 

 

하이브리드 기능 맛보기

메모리와 디스크 테이블을 생성한 김에 두개의 테이블에 대해 EQ Join을 한번 해 보자.  이것이 진정한 하이브리드 데이터베이스의 면모이다.

 

iSQL> select a.id, a.name, b.name from myalti a, mydisk b where a.id = b.id;

ID          NAME                  NAME                  

————————————————————

1           sjkim                 sjkim disk            

2           gamestar              gamestar disk         

2 rows selected.

iSQL> 

 

Move 기능을 통해 메모리 테이블을 디스크 테이블로 이동 시키기

알티베이스 하이브리드 데이터베이스의 또 다른 강점은 메모리 테이블의 내용을 디스크로 직접 옮길 수 있다는 것이다.
아래는 메모리 테이블의 myalti 로 부터 디스크 테이블인  mydisk 로 1개의 레코드를 옮기는 예제이다.

 

iSQL> delete from mydisk;

2 rows deleted.

iSQL> commit;

Commit success.

iSQL> move into mydisk(id, name) from myalti (id, name) where myalti.id=2;

1 row moved. <== id가 2인 메모리테이블의 레코드 1건을 디스크로 이동!

iSQL> commit;

Commit success.

iSQL> select * from myalti;

ID          NAME                  

————————————-

1           sjkim                 <== 1건만 남음.

1 row selected.

iSQL> select * from mydisk;

ID          NAME                  

————————————-

2           gamestar           <== 1건이 옮겨옴.   

1 row selected.

iSQL> 

 

 
 

더 많은 예제 보기
 

혹시 알티베이스에 설치된 더 많은 샘플 예제를 보기 원하는 분은 아래의 디렉토리에 방문해보기 바란다.
 

 

[altibase@localhost SQLCLI]$ cd

[altibase@localhost ~]$ cd $ALTIBASE_HOME 

[altibase@localhost altibase-server-5.5.1]$ cd sample/

[altibase@localhost sample]$ ls <==  많은 샘플들이 있다.

ALA  APRE  CAPI  CHECKSERVER  ILOADERAPI  JDBC  SPATIAL  SQLCLI  UTIL

[altibase@localhost sample]$ cd SQLCLI/

[altibase@localhost SQLCLI]$ 

[altibase@localhost SQLCLI]$ ls

BLOB           demo_ex5.cpp     demo_meta3.cpp  demo_mt.cpp

CLOB           demo_ex5.sql     demo_meta3.sql  demo_plan.cpp

Fail-Over      demo_ex6.cpp     demo_meta4.cpp  demo_plan.sql

Makefile       demo_ex6.sql     demo_meta4.sql  demo_rtl.cpp

README         demo_ex7.cpp     demo_meta5.cpp  demo_rtl.sql

demo_dead.cpp  demo_ex7.sql     demo_meta5.sql  demo_tran1.cpp

demo_ex1.cpp   demo_info1.cpp   demo_meta6.cpp  demo_tran1.sql

demo_ex1.sql   demo_info2.cpp   demo_meta6.sql  demo_tran2.cpp

demo_ex2.cpp   demo_info2.sql   demo_meta7.cpp  demo_tran2.sql

demo_ex2.sql   demo_meta1.cpp   demo_meta7.sql  failovertest.cpp

demo_ex3.cpp   demo_meta10.cpp  demo_meta8.cpp  pooltest.cpp

demo_ex3.sql   demo_meta10.sql  demo_meta8.sql

demo_ex4.cpp   demo_meta2.cpp   demo_meta9.cpp

demo_ex4.sql   demo_meta2.sql   demo_meta9.sql

[altibase@localhost SQLCLI]$ make

……. build…..
 
demo_ex1 데모를 실행해 보자.
 [altibase@localhost SQLCLI]$  is -f demo_ex1.sql 

—————————————————————–      

Altibase Client Query utility.      

Release Version 5.5.1.0.0      

Copyright 2000, ALTIBASE Corporation or its subsidiaries.      

All Rights Reserved.

—————————————————————–

ISQL_CONNECTION = TCP, SERVER = localhost, PORT_NO = 20300

iSQL> drop table demo_ex1;

[ERR-31031 : Table not found : 

0001 : drop table DEMO_EX1

                  ^       ^

]

iSQL> CREATE TABLE DEMO_EX1 ( id char(8) not null, name varchar(20), age integer, birth date, sex smallint, etc numeric(10,3) );

Create success.

iSQL> insert into demo_ex1 values(’10000000′, ‘name1′, 10, to_date(’1990-10-11 07:10:10′,’YYYY-MM-DD HH:MI:SS’), 0, 100.22);

1 row inserted.

iSQL> insert into demo_ex1 values(’20000000′, ‘name2′, 20, to_date(’1980-04-21 12:10:10′,’YYYY-MM-DD HH:MI:SS’), 0, null);

1 row inserted.

iSQL> insert into demo_ex1 values(’30000000′, ‘name3′, 30, to_date(’1970-12-06 08:08:08′,’YYYY-MM-DD HH:MI:SS’), 0, 300.22);

1 row inserted.

iSQL> insert into demo_ex1 values(’40000000′, ‘name4′, 40, to_date(’1960-11-10 05:05:05′,’YYYY-MM-DD HH:MI:SS’), 0, 400.22);

1 row inserted.

[altibase@localhost SQLCLI]$ ./demo_ex1 

columnName = ID, nullable = 0

ID : CHAR(8)

columnName = NAME, nullable = 1

NAME : VARCHAR(20)

columnName = AGE, nullable = 1

AGE : INTEGER

columnName = BIRTH, nullable = 1

BIRTH : DATE

columnName = SEX, nullable = 1

SEX : SMALLINT

columnName = ETC, nullable = 1

ETC : NUMERIC(10,3)

==========================================================================

10000000 name1 10 1990/10/11 07:10:10 0   100.220

20000000 name2 20 1980/04/21 12:10:10 0 NULL

30000000 name3 30 1970/12/06 08:08:08 0   300.220

40000000 name4 40 1960/11/10 05:05:05 0   400.220

[altibase@localhost SQLCLI]$ 

 

 

마치며

짧지 않은 글이었지만, 알티베이스 5.5.1의 기본적인 설치와 간단한 사용법을 기술해 보았다.

지난 12년간 알티베이스의 개발자로서 혹은 관리자로서 근무하면서 아쉬웠던 것은 국내에도 정말 쓸만한 데이터베이스가 있음에도 불구하고 많이 알려지거나 사용되지 않은 것이다.

현재 많은 비영리 단체 혹은 개인들이 운영하는 중소규모의 데이터베이스로 mysql이 많이 사용되고 있다. 그러나, 기술적인 관점으로 볼 때 알티베이스는 이미 mysql의 기능, 안정성, 성능 등을 뛰어넘었고, 시장에서는 오라클과 대응한 수준으로 경쟁/사용되고 있다.

최근 근로복지공단에서 적용된 알티베이스의 사례는 기존의 관념을 뛰어 넘기에 충분하다.  디스크가 6T를 넘어서고 160개의 CPU에 3000개가 넘는 클라이언트와 30억건이 넘는 레코드를 실시간으로 처리하는 어마어마한 레퍼런스를 두고 있다. 

디스크 데이터베이스로도 이러한 훌륭한 레퍼런스를 가지고 서비스를 하고 있는 상황이고, 메모리 데이터베이스는 한국 뿐 아니라 중국의 3대 통신사를 비롯한 국내외 1000여곳의 레퍼런스, 하이브리드 데이터베이스로는  일본의 5개 이상의 주요 증권사를 비롯한 수백 곳에서 채택하여 훌륭하게 서비스하고 있다. 

천리길도 한걸음부터라고 했던가?

이질감이 없지는 않겠지만, 한번 설치해서 내 환경에서 사용해 보는 것은 어떨까?

아마 내가 보지 못했던 새로운 세상이 펼쳐지리라.

꼬리글)
혹시 이 글을 읽고,  본인의 서비스에 적용하신 분은 메일을 주면 좋겠다.  비영리 목적으로 사용될 경우에 대해서는 무료이기 때문에 걱정없이 사용할 수 있을 것이다. 
그리고, 기업을 제외한 개인 홈페이지에 적용된 사례는 아직 들어보지 못했기에 메일 주신 분은 아마도 국내에서  알티베이스 데이터베이스 개인 사용 1호의 영광을 안을 수 있을 듯 하다.  필요하면 알티스토리에서 인터뷰라도 한번…^^;;

꼬리글2) 
홈페이지에서 Altibase Value Pack이라는 것을 찾을 수 있다. 이는 알티베이스 데이터베이스를 지원하는 전용 유틸리티의 집합(번들)인데, 실제 알티베이스 사용성을 극대화 할 수 있는 도구를 모아놓은 것이다. 현재는 데이터 설계(엔코아 DA#), 응용 개발 및 모니터링(웨어벨리 Orange)를 번들링하였다. 윈도우 환경에서 설치해 사용해 보면 매우 편리하다는 것을 알 수 있다.  앞으로 확장해 나갈 예정이다.

[세미나] 국산DBMS 경쟁력, 그들많의 DB노하우!
알티뉴스

 안녕하세요.  머무는 여행입니다. 

오늘은 다음달 24일에 알티베이스가 참여하게 될 문화체육관광부가 주최하고 한국DB진흥원이 주관하는 ‘국산DBMS 경쟁력, 그들만의 DB노하우’ 세미나를 소개해드리고자 합니다.   외산 DBMS가 시장점유율의 대부분을 차지하고 있는 이 시대에 알티베이스를 비롯한 국산DBMS가 그 동안 얼마나 성장하고 발전했는지를 확인하실 수 있는 좋은 세미나라고 생각됩니다.

나중에, “지금 알고 있는 것을 그 때도 알았더라면” 하지 마시고, “아~~~ 내가 그 때 국산DBMS 선택해서 진작에 TCO절감할 걸~~~” 하지마시고^^ 이번에 국산DBMS를 더욱 잘 알아보는 계기를 마련하셨으면 합니다.

본 블로그는 하이퍼링크를 지원하지 않네요..ㅠㅡㅜ 그래서 아래의 [신청하기]에 링크되어 있는 URL을 촌스럽게 직접 적어봅니다.  좌악~~   http://www.dbguide.net/offline.db?cmd=seminar&educationFormUid=1&categoryUid=76

세미나 정보는 아래에서 확인하세요^^ (경품이 아주 굿이라는..)