Real Alternative DBMS ALTIBASE, Since 1999 ALTIBASE, ORACLE 비교자료 ALTIBASE 5 2010. 04 Copyright c 2000~2010 ALTIBASE Corporation. All Rights Reserved.
Document Control Change Record Date Author Change Reference 2010-02-22 snkim Created Reviews Date Name (Position) Distribution Name Location ALTIBASE, ORACLE 비교자료 2 page of 21
목차 개요... 4 모델비교... 5 Architecture... 5 논리적구조... 5 물리적구조... 6 참고사항... 6 일반기능비교... 8 일반지원기능... 8 지원 TOOL... 9 파티션테이블... 9 파티션테이블기능상세... 10 백업및복구... 11 개발지원비교... 12 SQL 지원... 12 제공데이터타입... 13 지원 API... 15 Built-In 함수... 15 ALTIBASE, ORACLE 비교자료 3 page of 21
개요 본문서는 ALTIBASE 5.3.3 버전과 ORACLE 10g 의기능을비교한다. ALTIBASE, ORACLE 비교자료 4 page of 21
모델비교 ALTIABSE 와 ORACLE 의전반적인모델에대해비교한다. Architecture 기능 ORACLE ALTIBASE 비고 DBMS Process구조 Multi Process 구조 Multi Thread 구조 모델 Relational DBMS 구조 Relational DBMS 구조 아키텍처 Client-Server구조 Client-Server 구조 데이터베이스이중화 (RAC) 데이터이중화 (Data Replication) 이중화 별개 Instance Storage 공유스키마공유 별개 Instance Storage 별도스키마별도 ALTIBASE 의 Data Replication 은테이블의데이터만복제됨 데이터공유 데이터복제 64bit 모드지원지원됨지원됨 Locking Mode Row-Level Locking Row-Level Locking MVCC 를지원함 DB Recovery Checkpoint & Logfile 이용 Checkpoint & Logfile 이용 DeadLock Detection Auto Deadlock Detect & Recovery Auto Deadlock Detect & Recovery 논리적구조 기능 ORACLE ALTIBASE 비고 관리구조 데이터베이스 (DB) 테이블스페이스 (Tablespace) 세그멘트 (Segment) Extent Block Row 데이터베이스 (DB) 테이블스페이스 (Tablespace) 세그멘트 (Segment) Extent Page Record 시스템 TBS Data Dictionary SYSTEM, SYS_TBS_MEM_DIC SYSAUX Undo UNDOTBS SYS_TBS_DISK_UNDO Memory Data - SYS_TBS_MEM_DATA ALTIBASE, ORACLE 비교자료 5 page of 21
기능 ORACLE ALTIBASE 비고 Temp TEMP SYS_TBS_DISK_TEMP Disk Data SYSTEM SYS_TBS_DISK_DATA Undo 사용자지정 - Memory Data - 사용자지정 사용자 TBS Temp 사용자지정사용자지정 Disk Data 사용자지정사용자지정 Volatile - 사용자지정 물리적구조 기능 ORACLE ALTIBASE 비고 데이터파일 Datafile Datafile DB정보파일 Control 파일 loganchor 파일 온라인로그파일 Redo log 파일 (Recycle) Redo log 파일 (Serial) 아카이브로그파일 %t_%s_%r.arc logfile0 ~ 온라인로그파일이 ARCHIVE_DIR 로카피되어온라인로그파일과이름은동일하고저장위치만틀림 참고사항 기능 ORACLE ALTIABSE 비고 DB_NAME 길이 1000 128 OJBECT 길이 30 40 Tablespace 개수 64K 64K Maximum number per database Database file 개수 Operating system dependent; usually 1,022 1024 Maximum per tablespace 65,533 67,108,864 Maximum per database Users 개수 2,147,483,638 2,147,483,638 Maximum per database 테이블개수 Unlimited 2,097,151 Maximum per database 인덱스개수 Unlimited 64 Maximum per table 컬럼개수 1,000 1024 Per table 32 32 Per index Trigger Cascade Limit Operating system- 특별한제한없음 Maximum value ALTIBASE, ORACLE 비교자료 6 page of 21
기능 ORACLE ALTIABSE 비고 dependent, typically 32 Row 수 Unlimited Unlimited Maximum number per table Partition 개수 Unlimited 시스템전체 2,147,483,638 ( 테이블단위로구분하지않음 ) Maximum number per table Constraint 개수 Unlimited 시스템전체 2,147,483,638 ( 컬럼단위로구분하지않음 ) Maximum per column ALTIBASE, ORACLE 비교자료 7 page of 21
일반기능비교 ALTIBASE 와 ORACLE 간일반적인기능에대해비교한다. 일반지원기능 기능 ORACLE ALTIBASE 비고 Table 지원됨 지원됨 Multi Key-Index 지원됨 지원됨 Stored Procedure 지원됨 지원됨 Stored Function 지원됨 지원됨 Package 지원됨 지원안됨 Trigger 지원됨 지원됨 View 지원됨 지원됨 Sequence 지원됨 지원됨 Queue 지원됨 ( Advanced Queue) 지원됨 Monitoring View 지원됨 지원됨 기본적인 performance view제공 권한관리 지원됨 지원됨 Role 지원됨 지원안됨 Snapshot 지원됨 지원안됨 DB Link 지원됨지원됨 ALTIBASE - ALTIBASE, ALTIBASE-ORACLE 간 SELECT 기능만지원 Synonym 지원됨 지원됨 Table partitioning 지원됨 지원됨 Global Index 지원안됨 User Defined Type 지원됨 지원안됨 Procedure에서만지원됨 Cluster Object 지원됨 지원안됨 On-Line Backup 지원됨 지원됨 XML 지원 지원됨 지원안됨 DB공간자동확장 지원됨 지원됨 ALTIBASE, ORACLE 비교자료 8 page of 21
지원 TOOL 기능 ORACLE ALTIBASE 비고 GUI Admin Tool OEM 및다양한 3 rd Party 제품 AdminCenter 및다양한 3 rd Party 제품 웨어벨리사의 Orange 사용가능 Interactive SQL수행기 SQLPLUS ISQL Data Loader SQL*LOADER ILOADER DBMS Admin TOOL SQLPLUS ISQL Data 이관 exp/imp ILOADER/AEXPORT Connection Dispatcher Listener Embedded in DBMS DB Creater DBCA ISQL DB Destroyer 없음 ISQL C Precompiler proc*c/c++ apre*c/c++ Recovery Manager RMAN ISQL, AEXPORT, ILOADER Storage 업체 Tool 과의연계가능 DBMS Watcher checkserver 파티션테이블 구분기능 ORACLE ALTIBASE 비고 범위파티션 (RANGE) 지원됨지원됨 종류 ( 방법 ) 리스트파티션 (LIST) 지원됨지원됨 해쉬파티션 (HASH) 지원됨지원됨 관리명령어 조합파티션 (COMPOSITE) 지원됨 지원안됨 파티션추가 (ADD) 지원됨 일부지원됨 파티션병합 (COALESCE) 지원됨 일부지원됨 파티션삭제 (DROP) 지원됨 지원됨 파티션분할 (SPLIT) 지원됨 지원됨 파티션합병 (MERGE) 지원됨 지원됨 파티션 TRUNCATE 지원됨 지원됨 파티션 RENAME 지원됨 지원됨 파티션교환 (EXCHANGE) 지원됨 지원안됨 파티션 MODIFY 지원됨 지원안됨 파티션 MOVE 지원됨 지원안됨 아래그림 [ 표 ] 참조 ALTIBASE, ORACLE 비교자료 9 page of 21
구분기능 ORACLE ALTIBASE 비고 인덱스 Global Index 지원됨지원안됨 Local Index 지원됨지원됨 파티션테이블기능상세 알티베이스파티션종류 ( 방법 ) 에따른연산 Operation Range List Hash ADD N/A N/A ADD COALESCE N/A N/A COALESCE DROP DROP DROP N/A MERGE MERGE S MERGE S N/A RENAME RENAME RENAME RENAME SPLIT SPLIT SPLIT N/A TRUNCATE TRUNCATE TRUNCATE TRUNCATE 오라클파티션종류 ( 방법 ) 에따른연산 Operation Range List Hash Range-Hash Composite Range-List ADD ADD ADD ADD ADD, MODIFY... ADD SUB ADD, MODIFY... ADD SUB COALESCE N/A N/A COALESCE MODIFY... COALESCE SUB N/A DROP DROP DROP N/A DROP DROP [SUB] MERGE MERGE S MERGE S N/A MERGE S MERGE [SUB]S RENAME RENAME RENAME RENAME RENAME [SUB] RENAME [SUB] ALTIBASE, ORACLE 비교자료 10 page of 21
Operation Range List Hash Composite SPLIT SPLIT SPLIT N/A SPLIT SPLIT [SUB] TRUNCATE TRUNCATE TRUNCATE TRUNCATE TRUNCATE [SUB] TRUNCATE [SUB] EXCHANGE EXCHANGE EXCHANGE EXCHANGE EXCHANGE [SUB] EXCHANGE [SUB] MOVE MOVE MOVE MOVE MOVE SUB MOVE SUB 백업및복구 기능 ORACLE ALTIBASE 비고 Online(Hot) Backup 지원됨 지원됨 Offline(Cold) Backup 지원됨 지원됨 Table Export 지원됨 지원됨 불완전복구 지원됨 지원됨 완전복구 지원됨 지원됨 특정 Tablespace 복구 지원됨 지원됨 Incremental Backup 지원됨 지원안됨 exp/imp 지원됨 지원안됨 ALTIBASE, ORACLE 비교자료 11 page of 21
개발지원비교 ORACLE 을 ALTIBASE 로변환하여개발할경우에참고할수있는기능비교에대해기술한다. SQL 지원 기능 ORACLE ALTIBASE 비고 SQL 표준 SQL, 변형 SQL (ANSI-SQL92, ANSI- SQL1999 지원 ) 표준 SQL (ANSI-SQL92 지원 ) ANSI-SQL1999 의객체지향기능은지원하지않음 Sub-query(In-Line View) 지원됨 지원됨 Sub-query(Scalar) 지원됨 지원됨 Sub-query(=,IN,EXISTS) 지원됨 지원됨 Equi Join 지원됨 지원됨 Inner Join 지원됨 지원됨 Outer Join 지원됨지원됨 (+) 는지원안되고, ANSI 표준 SQL 구문으로지원 Self Join 지원됨지원됨 계층적질의 CONNECT BY ~ WITH 지원됨 지원됨 CONNECT_BY_ROOT, CONNECT_BY_ISCYCLE, CONNECT_BY_ISLEAF, SYS_CONNECT_BY_PATH 는지원하지않음 Array Processing 지원됨 지원됨 Move 구문 지원안됨 지원됨 Queue Advanced Queue Enqueue/Dequeue 사용구문 / 방법의차이 SELECT ~ FOR UPDATE 지원됨 지원됨 Join 사용은지원하지않음 SELECT DISTINCT ~ 지원됨 지원됨 UNION 지원됨 지원됨 UNION ALL 지원됨 지원됨 INTERSECT 지원됨 지원됨 MINUS 지원됨 지원됨 CERATE TABLE AS SELECT ~ 지원됨 지원됨 Literal/Bind SQL 지원됨지원됨 VIEW 를통한 DML 지원됨지원안됨 ALTIBASE, ORACLE 비교자료 12 page of 21
기능 ORACLE ALTIBASE 비고 WHERE REGEXP_LIKE Condition 지원됨 지원안됨 Hint 기능 지원됨 지원됨 Cost Optimizer 지원됨 지원됨 Parallel Select 지원됨 지원안됨 Parallel Insert 지원됨 지원됨 Parallel Index Build 지원됨 지원됨 제공데이터타입 분류 ORACLE 설명 ALTIBASE 설명 CHAR 고정길이문자형타입. 최대 2000 byte CHAR 고정길이문자형타입. 최대 32K VARCHAR2 가변길이문자형타입. 최대 4000 byte VARCHAR 가변길이문자형타입. 최대 32K 문자타입 NCHAR 유니코드고정길이문자형타입. 최대 2000 byte NCHAR 문자길이최대 16000(UTF16), 문자길이최대 10666(UTF8) NVARCHAR2 유니코드가변길이문자형타입. 최대 4000 byte NVARCHAR 문자길이최대 16000(UTF16), 문자길이최대 10666(UTF8) LONG 문자형타입. 최대 2G CLOB 으로대체가능 단일 binary 타입. BLOB 최대 : (4G-1) * (database block size) BLOB 최대 2G LOB 타입 CLOB 단일 byte 문자형타입. 최대 : (4G-1) * (database block size) CLOB 최대 2G 유니코드문자형타입. NCLOB 최대 : (4G-1) * (database block size) CLOB 로대체가능 숫자타입 NUMERIC(p, s) 숫자형타입. 정밀도 p 1~38, 스케일 s - 87~127 NUMERIC(p, s) NUMBER (p, s) NUMBER(p, s) 고정소수점. 정밀도 p 1~38, 스케일 s - 84~128 p, s 를지정하지않으면 FLOAT 와동일. p 또는 p, s 를주면 NUMERIC 과동일 ALTIBASE, ORACLE 비교자료 13 page of 21
분류 ORACLE 설명 ALTIBASE 설명 DECIMAL(p, s) DECIMAL(p, s) NUMERIC (p, s) 와동일 FLOAT(p), BINARY_FLOAT FLOAT(p) 부동소수점. 정밀도 (p) 만지정가능 SMALLINT SMALLINT 2 byte 정수형타입 INT INTEGER 4 byte 정수형타입 BIGINT 8 byte 정수형타입 REAL REAL 4 byte 실수형타입 DOUBLE, BINARY_DOUBLE DOUBLE 8 byte 실수형타입 DATE 날짜타입. BC 4712 년 1 월 1 일 ~ AD 9999 년 12 월 31 일 DATE 날짜타입 8byte INTERVAL YEAR TO MONTH 지원안됨 INTERVAL DAY TO SECOND 지원안됨 날짜타입 TIMESTAMP WITH TIME ZONE TIMESTAMP WITH LOCAL TIME ZONE 지원안됨 지원안됨 TIMESTAMP 초정보의정밀도를 9 자리까지표현가능 DATE Micro sec 까지 (6 자리 ) 까지표현가능 TIMESTAMP REPLICATION 충돌시사용하는 Option Type BFILE 대용량이진파일타입. 최대 4G BLOB 로대체가능 RAW (size) 원시이진타입. 최대 2000 byte BLOB 로대체가능 이진타입 LONG RAW 가변길이윈시이진타입. 최대 2G BYTE BLOB 사용 1~32000, 고정길이이진데이터타입 NIBBLE 1~254, 가변길이이진데이터타입 BIT 1~60576, 0 과 1 로만이루어짐 고정길이이진데이터타입 ALTIBASE, ORACLE 비교자료 14 page of 21
분류 ORACLE 설명 ALTIBASE 설명 VARBIT 1~131068, 0 과 1 로만이루어진가변길이이진데이터타입 공간 데이터 타입 GEOMETRY 공간데이터타입최대 100M 지원 API 기능 ORACLE ALTIBASE 비고 SQL 표준 SQL, 변형 SQL 표준 SQL JDBC Driver 제공 제공 ODBC Driver 제공 제공 PHP Driver 제공 ODBC를이용 Embedded SQL 제공 ( PROC ) 제공 ( APRE ) CLI Interface 제공 ( OCI ) 제공 ( CLI ) XA API 제공됨 제공됨 Threaded Application 지원됨 지원됨 Built-In 함수 구분 ORACLE ALTIBASE 비고 그룹함수 숫자함수 AVG COUNT MAX MIN STDDEV SUM VARIANCE ABS ACOS ASIN ATAN AVG COUNT MAX MIN STDDEV SUM VARIANCE ABS ACOS ASIN ATAN ALTIBASE, ORACLE 비교자료 15 page of 21
구분 ORACLE ALTIBASE 비고 ATAN2 CEIL COS COSH EXP FLOOR GREATEST LEAST LN LOG MOD, REMAINDER POWER dbms.random() ROUND SIGN SIN SINH SQRT TAN TANH TRUNC BITAND BITOR BITXOR BITNOT WIDTH_BUCKET ASCII ATAN2 CEIL COS COSH EXP FLOOR GREATEST LEAST LN LOG MOD POWER RANDOM ROUND SIGN SIN SINH SQRT TAN TANH TRUNC BITAND BITOR BITXOR BITNOT ASCII 동일한넓이를갖는히스토그램을만들어준다. BINARY_LENGTH 이진데이터형의길이를반환 문자함수 CHR CONCAT CHR CONCAT DIGITS Number 의데이터형에따라서길이를다르게하여문자열로반환 ALTIBASE, ORACLE 비교자료 16 page of 21
구분 ORACLE ALTIBASE 비고 INITCAP INSTR INSTRB LENGTH LENGTHB LOWER LPAD LTRIM NCHR NLS_INITCAP INITCAP INSTR, POSITION INSTRB LENGTH CHAR_LENGTH, CHARACTER_LENGTH LENGTHB, OCTET_LENGTH LOWER LPAD LTRIM NCHR 각단어의처음문자를대문자로, 나머지문자를소문자로변환하여 char 를반환 NLS_LOWER 모든문자를소문자로변환하여반환 NLS_UPPER 입력문자열을모두대문자로변환한문자열을반환 NLSSORT 입력문자열을정렬하여스트링을반환 OCTET_LENGTH REGEXP_INSTR REGEXP_REPLACE REGEXP_SUBSTR REPLACE RPAD OCTET_LENGTH REPLACE2 STUFF RPAD REPLICATE 지정한정규표현이나타나는최초의위치를반환 지정한정규표현을만족하는부분을다른문자열로치환 지정한정규표현을만족하는부분문자열을반환 파라미터로주어지는첫번째문자열에서, 두번째문자열을모두세번째문자열로바꾼후결과를반환 char1 에서 start 위치부터 length 만큼지우고, char2 를삽입 문자열 char1 의오른쪽부터지정한길이 n 만큼 char2 를삽입하여채운다. char 를지정한숫자만큼반복 REVERSE_STR 인자로받은 char 를거꾸로반환 RTRIM RTRIM SIZEOF 문자열혹은열에할당된크기를반환 SOUNDEX char 의음성표현을가지는문자열을반환 ALTIBASE, ORACLE 비교자료 17 page of 21
구분 ORACLE ALTIBASE 비고 SUBSTR SUBSTRB TRANSLATE SUBSTR, SUBSTRING SUBSTRB TRANSLATE TREAT 인자의선언형을반환 TRIM UPPER ADD_MONTH CURRENT_DATE CURRENT_TIMESTAMP EXTRACT GREATEST LEAST LAST_DAY TRIM UPPER ADD_MONTH SYSDATE EXTRACT, DATEPART GREATEST LEAST LAST_DAY 현재세션의날짜정보를반환 현재세션의날짜, 시간정보를반환 날짜함수 MONTH_BETWEEN NEXT_DAY ROUND SYSDATE MONTHS_BETWEEN NEXT_DAY ROUND SYSDATE DATENAME 지정한 DATE 에맞는이름반환 +, - 연산 +, -, DATEADD DATEDIFF DATE 의차이를반환 TRUNC ASCIISTR BIN_TO_NUM CAST CHARTOROWID TRUNC ASCIISTR BIN_TO_NUM CAST CHAR, VARCHAR2, NCHAR, or NVARCHAR2 데이터형태의값으로부터 ROWID 형으로변환 변환함수 CONVERT 문자세트를다른문자세트로문자열을변환 COMPOSE 정규화된유니코드를반환 HEXTORAW HEX_TO_NUM OCT_TO_NUM 8 진수를 10 진수로변환 RAWTOHEX RAW을 16 진수의문자로변환 ROWIDTOCHAR rowid 값을 VARCHAR2 형식으로변환 TO_BIN Integer를 2 진수로변환 ALTIBASE, ORACLE 비교자료 18 page of 21
구분 ORACLE ALTIBASE 비고 TO_CHAR TO_CHAR TO_CLOB NCLOB 을 CLOB 으로변환 TO_DATE, TO_TIMESTAMP TO_DATE TO_HEX 정수를 16 진수로변환 TO_LOB TO_MULTI_BYTE TO_NCHAR TO_NUMBER TO_NCHAR TO_NUMBER LONG 또는 LONG RAW 값을 LOB 값으로변환 single-byte 문자를 multi-byte 문자로변환하여 char 을반환 TO_OCT 정수를 8 진수로변환 TO_SINGLE_BYTE multi-byte 문자를 single-byte 문자로변환하여 char 을반환 TRANSLATE TRANSLATE UNISTR UNISTR BFILENAME 서버파일시스템의물리 LOB 바이너리파일과연관된 BFILE locator 를반환. EMPTY_BLOB, EMPTY_CLOB lob 변수를초기화, empty lob 의위치를반환 CASE CASE, CASE2 DECODE DECODE DIGEST 다이제스트알고리즘을사용하여문자열에대한해쉬값을문자열을반환 DUMP DUMP 기타함수 NANVL 입력값이 NaN( 수치가아닌 ) 라면대체값을반환, NaN 이아니라면입력값을반환 NVL NVL NVL2 NVL2 ROWNUM ROWNUM Select 되는 ROW 의순서값 DML 에는지원안됨 SENDMSG 메시지를 ip-address, port 에 Socket datagram 으로전달 UID USER_ID USER USER_NAME ALTIBASE, ORACLE 비교자료 19 page of 21
구분 ORACLE ALTIBASE 비고 USERENV 는세션에대한정보를반환 USERENV SESSION_ID SESSION_ID 는사용자의 SESSION_ID 를반환 Reporting 함수 지원 Query 후 Partition 내에서숫자형태의데이터에대해서합계, 평균, 개수, 편차, 표준편차의값을구한다. Ranking 지정된 Window 에서순위를계산하는 Function 들이다. 통계함수 (Analytic Function) Windowing 함수 Window 범위내에서각 Row 에맞는합계, 평균, 최소 / 최대값등을구하며, Self Join 없이첫번째, 마지막 Row 을구할수있다. LAG/LEAD 함수 Self-Join 없이 CurrentRow 의이전, 이후특정 Row 에대한 Column 값을구할수가있다. Statistics 함수 Group Function 과는다르게통계정보에서유용한상관관계, 회귀등을계산 CARDINALITY, COLLECT, 중첩테이블관련수집함수 POWERMULTISET, POWERMULTISET 중첩테이블에관련된함수 BY CARDINALITY, SET DBTIMEZONE, FROM_TZ, TIMEZONE, TIMESTAMP 관련함수 NUMTODSINTERVAL, NUMTOYMINTERVAL, TIMESTAMP 데이터형과 TIME ZONE 관련함수 NEW_TIME 등 DEPTH, PATH, XML 함수 EXISTSNODE,XMLELE MENT XML 관련함수 등 ALTIBASE, ORACLE 비교자료 20 page of 21
알티베이스 서울특별시구로구구로 3 동 182-13 대륭포스트 2 차 1008 호 02-2082-1000 http://www.altibase.com 대전사무소대전광역시서구둔산동 921 주은리더스텔 901 호 042-489-0330 기술본부서울특별시구로구구로동우림e-biz센터 11 층 1101 호 02-2082-1000 기술지원센터 02-2082-1114 support@altibase.com ATC (ALTIBASE Technical Center) http://atc.altibase.com Copyright c 2000~2010 ALTIBASE Corporation. All Rights Reserved. 이문서는정보제공을목적으로제공되며, 사전에예고없이변경될수있습니다. 이문서는오류가있을수있으며, 상업적또는특정목적에부합하는명시적, 묵시적인책임이일체없습니다. 이문서에포함된 ALTIBASE 제품의특징이나기능의개발, 발표등의시기는 ALTIBASE 재량입니다. ALTIBASE 는이문서에대하여관련된특허권, 상표권, 저작권또는기타지적재산권을보유할수있습니다. ALTIBASE, ORACLE 비교자료 21 page of 21