최근 IT 데이터 시장은 클라우드 전환, 데이터 거버넌스 강화, 그리고 성능 최적화 요구 증가 등의 흐름 속에서 빠르게 변화하고 있습니다. 특히, 많은 기업이 기존의 고비용, 폐쇄적인 데이터베이스 시스템에서 탈피하고자 하는 움직임을 보이며, ‘탈오라클’ 현상이 두드러지고 있습니다. 이러한 흐름 속에서 Tibero(티베로) DBMS(Database Management System)는 높은 Oracle(오라클) 호환성과 경제적인 운영 비용, 강력한 기술 지원을 바탕으로 대안적인 엔터프라이즈 DBMS로 부상하고 있습니다.
이번 글에서는 Oracle과 Tibero를 고민하는 분들을 위해 두 제품의 주요 특징을 비교해 드립니다.
Oracle to Tibero 호환성
티맥스티베로는 오라클 DBMS에서 티베로 DBMS로 윈백한 1,400여 개의 사례를 보유하고 있습니다. Tibero는 높은 수준의 Oracle 호환성을 제공하여 기존 Oracle 사용자들이 쉽게 전환할 수 있도록 지원합니다.
데이터 타입
Tibero는 ANSI, ISO 국제 표준 SQL과 기능 향상을 목적으로 하는 다양한 확장된 SQL 및 타 DBMS와 호환성을 위한 일부 비표준 SQL을 지원합니다. 또한, SQL 표준에서 정의하고 있는 데이터 타입과 이기종 데이터베이스와의 호환을 위한 데이터 타입을 지원합니다.
구분 | 데이터 타입 | 설명 |
문자형 | CHAR, VARCHAR, VARCHAR2, NCHAR, NVARCHAR, NVARCHAR2, RAW, LONG, LONG RAW | 문자열을 표현하는 데이터 타입 |
숫자형 | NUMBER, INTEGER, FLOAT, BINARY_FLOAT, BINARY_DOUBLE | 정수나 실수의 숫자를 저장하는 데이터 타입 |
날짜형 | DATE, TIME, TIMESTAMP, TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH LOCAL TIME ZONE | 시간이나 날짜를 저장하는 데이터 타입 |
간격형 | INTERVAL YEAR TO MONTH, INTERVAL DAY TO SECOND | 시간이나 날짜 사이의 간격을 저장하는 데이터 타입 |
대용량 객체형 | CLOB, BLOB, XMLTYPE, JSON | 대용량의 객체를 저장하기 위한 데이터 타입으로 Tibero에서 제공하는 가장 큰 데이터 타입 |
내재형 | ROWID | 사용자가 명시적으로 선언하지 않아도 Tibero가 삽입되는 로우마다 자동으로 부여하는 데이터 타입 |
사용자 정의형 | tbPSM | 사용자가 정의하여 사용하는 콜렉션 타입 |
Object 지원
Tibero는 DBMS 표준 외에도, Oracle 사용자들이 주로 사용하는 대부분의 Object를 지원합니다.
Object | 내용 | Oracle | Tibero |
Table | Non-Partitioned Table | 지원 | 지원 |
Partitioned Table(Range, List, Hash, Composite) | 지원 | 지원 | |
View | READ-ONLY View, UPDATABLE View | 지원 | 지원 |
M-View | 지원 | 지원 | |
Index | B-tree. Reverse Key, Function Based | 지원 | 지원 |
Global, Local Partitioned | 지원 | 지원 | |
Unique/Non-Unique, Composite | 지원 | 지원 | |
IOT | Non-Partitioned | 지원 | 지원 |
Partitioned | 지원 | 지원 | |
Constraint | Primary, Foreign, NULL, NOT NULL, UNIQUE, CHECK | 지원 | 지원 |
기타 | Synonym, Trigger, Sequence, Package, External Table | 지원 | 지원 |
스키마 관리
Tibero는 스키마 관리를 위한 다양한 기능과 명령어를 지원합니다.
구분 | 기능 | Oracle | Tibero |
Tablespace | CREATE, RENAME, DROP, ON/OFFLINE, REAL ONLY | 지원 | 지원 |
데이터 파일 | CREATE, ADD, RENAME, RESIZE, DROP | 지원 | 지원 |
Table | CREATE, RENAME, TRUNCATE, DROP, MONITORING | 지원 | 지원 |
Index | CREATE, RENAME, 온라인 REBUILD, COALESCE, DROP, MONITORING | 지원 | 지원 |
Column | ADD, DROP, RENAME, TYPE 변경, LENGTH 변경, DEFAULT 변경 | 지원 | 지원 |
파티션 | ADD, COALESCE, DROP, SPLIT, MERGE, TRUNCATE, RENAME, EXCHANGE, MODIFY, MOVE 파티션 별 온라인 REBUILD | 지원 | 지원 |
기타 | 온라인 ReOrg(Shrink, Coalesce) 휴지통 기능 | 지원 | 지원 |
압축 | 지원 | 지원 |
SQL 지원
Tibero는 표준 SQL 문법과 Oracle 비표준 문법, 그리고 200여 개의 내장 함수에 대한 호환성을 지원함으로써, 기존 Oracle 사용자의 편의성을 증대하였습니다.
Object | 내용 | Oracle | Tibero |
조인 | Equi, Anti, Semi, Self, Cartesian, Inner, Outer, (+) | 지원 | 지원 |
서브쿼리 | In-Line View, Nested Query | 지원 | 지원 |
조건식 | ANY, SOME, ALL, BETWEEN, EXISTS, IN, NULL, LIKE, REGXP_LIKE | 지원 | 지원 |
집합 연산자 | INTERSECT, UNION, UNION ALL, MINUS, EXCEPT | 지원 | 지원 |
그룹 함수 | GROUP BY, HAVING, SELECT DISTINCT, GROUPING, GROUPING SETS | 지원 | 지원 |
분석 함수 | OVER (PARTITION BY ~ ORDER BY ~ ROWS BETWEEN ~ AND ~) | 지원 | 지원 |
일관성 | Read Committed(default), Select for update, Serializable | 지원 | 지원 |
기타 | 계층적 질의 (Start with ~ Connect by ~) 병렬 DML (Insert Into ~ Select ~) Dual Table, CALL, Merge, Create Table As Select ~ | 지원 | 지원 |
내장 함수 지원
구분 | 내용 |
그룹 | AVG, COUNT, MAX, MIN, STDDEV, SUM, VARIANCE |
숫자 | ABS, ACOS, ASIN, ATAN, CEIL, COS, COSH, EXP, FLOOR, GREATEST, LEAST, LN, LOG, MOD, POWER, SIGN, SIN, SINH, SQRT, TAN, TANH, TRUNC |
문자 | ASCII, CHR, CONCAT, INITCAP, INSTR, INSTRB, LENGTH, LENGTHB, LOWER, LPAD, LTRIM, NLS_INITCAP, NLS_LOWER, NLS_UPPER, NLSSORT, REPLACE, RPAD, RTRIM, SUBSTR, SUBSTRB, TRANSLATE, TRIM, UPPER |
날짜 | ADD_MONTH, EXTRACT, LAST_DAY, NEXT_DAY, ROUND, SYSDATE, +, – 연산 |
기타 | CASE, DECODE, DUMP, NVL, NVL2, ROWNUM, RANK, LEAD/LAG, ROW_NUMBER, PIVOT/UNPIVOT, CUBE/ROLLUP |
PL/SQL 지원
Tibero는 복잡한 프로그래밍을 위하여 function, procedure를 지원하며, PL/SQL 문법과 호환성을 보장합니다.
기능 | 내용 | Oracle | Tibero |
기본 block | BEGIN ~ END, DECLARE(선언), EXCEPTION(예외처리) | 지원 | 지원 |
조건문 | IF ~ THEN ~ ELSE, ELSE IF CASE ~ WHEN ~ | 지원 | 지원 |
반복문 | 기본 LOOP, FOR LOOP, WHILE LOOP EXIT, EXIT WHEN | 지원 | 지원 |
커서 | CURSOR 선언, OPEN, FETCH, CLOSE | 지원 | 지원 |
동적 SQL | EXECUTE IMMEDIATE | 지원 | 지원 |
에러처리 | CASE_NOT_FOUND, NO_DATA_FOUND, ZERO_DIVIDE 등 | 지원 | 지원 |
RAISE 구문, RAISE_APPLICATION_ERROR | 지원 | 지원 | |
콜렉션 | VARRAY, Nested Table, Index-by Table COUNT, DELETE, EXISTS 등 메소드 지원 | 지원 | 지원 |
기타 | GOTO, NULL, PROCEDURE, FUNCTION, PACKAGE, TRIGGER | 지원 | 지원 |
Hint 지원
Tibero는 가장 많이 사용되는 45개 이상의 Hint로 실행 계획을 제어할 수 있습니다.
구분 | 지원 Hint |
Goals | ALL_ROWS, FIRST_ROWS |
Index Access Operation | INDEX, NO_INDEX, INDEX_ASC, INDEX_DESC, INDEX_FS, NO_INDEX_FFS, FULL |
Join Orders | ORDERED, LEADING |
Join Access Operation | USE_NL, USE_NL_WITH_INDEX, NO_USE_NL, USE_MERGE, NO_USE_MERGE, USE_HASH, NO_USE_HASH |
Parallel 실행 | PARALLEL, NO_PARALLEL |
Query Transformation | UNNEST, NO_UNNEST, REWRITE, NO_REWRITE, NO_MERGE |
기타 Hint | APPEND, NOAPPEND, PUSH_PRED, NO_PUSH_PRED, PUSH_SUBQ, CURSOR_SHARING_EXACT, DYNAMIC_SAMPLING, QB_NAME, PQ_DISTRIBUTE, ROWID |
Tibero vs Oracle 핵심 기능 비교
Tibero는 Oracle과 유사한 기능을 제공하며 엔터프라이즈 환경에서도 원활하게 운영할 수 있는 DBMS입니다.
기능 | Tibero | Oracle | |
Multi-Version Concurrency Control (MVCC) | 지원 | 지원 | |
Row-Level Locking | 지원 | 지원 | |
Lock Escalation 회피 통한 Table Lock 방지 | 지원 | 지원 | |
B-Tree Index | 지원 | 지원 | |
암호화 Column에 대한 index range scan | 지원 | 미지원 | |
OLTP Compression | 지원 | 지원 | |
시스템 모니터링 View | 지원 | 지원 | |
SQL Trace 기능 | 지원 | 지원 | |
복잡한 트랜잭션 처리 | 지원 | 지원 | |
Partitioning | Range | 지원 | 지원 |
List | 지원 | 지원 | |
Hash | 지원 | 지원 | |
Composite | 지원 | 지원 | |
자동 Crash Recovery | 지원 | 지원 | |
Log Mirroring | 지원 | 지원 | |
온라인 백업 | 지원 | 지원 | |
Multi-node parallel recovery | 지원 | 지원 | |
이중화: Zero Downtime 기능 (Active-Active Cluster) | 지원 (Tibero TAC) | 지원 (Oracle RAC) | |
이중화: Disaster Recovery 기능 (Active-Standby Cluster) | 지원 (Tibero TSC) | 지원 (Oracle DataGuard) | |
Online DDL Operation | 지원 | 지원 |
Why Tibero
Tibero는 높은 Oracle 호환성을 제공하면서도 성능, 비용, 기술 지원 측면에서 뛰어난 경쟁력을 갖춘 DBMS입니다. 기업들은 데이터베이스 환경을 선택할 때 단순한 기능뿐만 아니라 비용 효율성, 운영 안정성, 유지보수의 용이성까지 고려해야 합니다. Tibero는 이러한 요소들을 균형 있게 갖추고 있어, 대기업뿐만 아니라 중견·중소기업, 공공기관 등 다양한 조직에서 신뢰할 수 있는 선택지가 되고 있습니다.
또한, Tibero는 국내 IT 환경에 최적화된 기술 지원을 제공하며, 필요 시 즉각적인 대응이 가능한 점이 강점입니다. 높은 성능과 확장성을 바탕으로 온프레미스뿐만 아니라 클라우드 환경에서도 원활한 운영이 가능하며, 변화하는 IT 트렌드에 맞춰 지속적인 기술 개선이 이루어지고 있습니다.
지금 바로 Tibero를 도입하여 안정적이고 효율적인 DBMS 환경을 구축하고, 데이터 자산을 효과적으로 관리해 보세요!