이 페이지는 기계 번역되었습니다. 영어 원본을 읽어보세요. English

IBSurgeon 라이브러리

Firebird와 InterBase의 차이점

(c) Dmitry Kuzmenko, Alexey Kovyazin, IBSurgeon, 21.05.2017

역사적 개요

InterBase는 1985년에 만들어졌습니다: 최초의 상용 멀티버전 데이터베이스였습니다. 1999년 말, Borland는 InterBase 개발을 중단하기로 결정하고 InterBase Public License 하에 소스 코드를 공개했습니다. 이 코드는 복사되었고(라이선스가 허용함), Firebird가 탄생했습니다 - 버전 1.0부터 Firebird는 수십 년간의 InterBase 개발을 기반으로 한 프로덕션 준비 완료 데이터베이스입니다.

2000년 말, Borland는 InterBase로 폐쇄 소스 및 상용 라이선스(이전과 정확히 동일)로 돌아가 6.5 개발을 시작했습니다.

FirebirdSQLFirebird 1.0은 2002년에 출시되었으며, 많은 버그 수정과 DDL 및 DML 확장이 포함되었습니다. 활발한 Firebird 개발은 1.0 이후에도 계속되었고, 2004년에는 Firebird의 두 번째 주요 버전(v.1.5)이 출시되었습니다. Borland도 그 당시 새 버전(7.0 및 7.1)을 도입했습니다. Firebird 1.5와 InterBase 7.0은 데이터베이스 형식(ODS)과 핵심 기능 모두에서 호환되지 않았습니다. Firebird 2.0과 InterBase 7.0 이후로는 백업/복원을 통한 InterBase에서 Firebird로 또는 그 반대로의 마이그레이션이 불가능합니다.

그 이후로 Firebird와 InterBase의 차이는 더 커졌습니다.

현재 상황 (2017)

현재 InterBase와 Firebird 버전 간 마이그레이션의 유일한 방법은 SQL 스크립트(차이점 수동 수정 포함)를 통한 후, 이전 데이터베이스에서 새 데이터베이스로 데이터를 이전하는 것입니다. 그러나 InterBase에서 Firebird로의 마이그레이션은 트랜잭션 관리 원칙이 동일하므로 다른 DBMS로의 마이그레이션보다 여전히 쉽습니다.

우리는 다양한 InterBase 및 Firebird 버전에 대해 이러한 마이그레이션을 여러 번 수행했습니다 - 마이그레이션 서비스에 대한 자세한 내용은 여기에서 확인하세요 - 모두 잘 진행되었습니다.

아래에서 최신 버전인 Firebird 3.0과 InterBase 2017 간의 차이점 목록이 포함된 표를 찾을 수 있습니다.

Firebird와 InterBase의 차이점
기능
SQL (DML 및 DDL)
커서 안정성 (올바른 INSERT FROM SELECT)
스크롤 가능(양방향) 커서
Execute Statement
외부 Execute Statement (외부 Firebird 데이터베이스에 대한 쿼리)
독립 트랜잭션
파생 테이블 (SELECT에서 SELECT)
재귀 공통 테이블 식 (CTE)
윈도우 및 통계 함수
MERGE
insert/update/delete에 대한 RETURNING 절
연결/연결 해제 시 트리거
트랜잭션 시작/커밋/롤백 시 트리거
DDL용 트리거
SUBSTRING에 대한 Regexp 지원
Boolean 데이터 타입
BIGINT 데이터 타입
PSQL 함수
외부 프로시저, 함수, 트리거 ( Java)
중첩 프로시저 및 함수
결정적 함수
SYSTEM, USER_SESSION 및 USER_TRANSACTION 네임스페이스의 컨텍스트 변수
패키지 (프로시저 및 함수)
매개변수가 있는 예외
IDENTITY 열
RECREATE (CREATE 또는 ALTER의 조합)
UTF8 지원
유니코드 대소문자 구분 없는 검색 지원
식별자 길이
COMPUTED BY 인덱스 (식 기반)
아키텍처/관리
SMP SuperServer (멀티코어 지원)
Classic (연결당 인스턴스)
SuperClassic
다중 인스턴스 (다른 포트에서)
데이터베이스 별칭
서버 인스턴스 간 재라우팅
Write-ahead log (WAL)
특정 시점 복구
복원 중 병렬 인덱스 생성
증분 백업
시스템 모니터링 테이블
64비트 클라이언트 및 서버
임베디드 버전
Android용 임베디드 (모바일)
iOS용 임베디드 (모바일)
ChangeViews ( 무엇인가요?)
와이어 압축
고지연 네트워크용 네트워크 프로토콜 개선 (인터넷을 통한 SQL 쿼리용)
서버 수준 복제 (네이티브)
추적 및 감사
온라인 데이터베이스 검증
보안
보안 데이터베이스
데이터베이스 내 사용자
데이터베이스 암호화
열 암호화
다중 암호화 키
와이어 암호화
DDL 사용자 권한
SQL을 통한 사용자 관리
UDF 및 내장 함수
사용자 정의 함수
SDF (UDF보다 빠른 서버 정의 함수)
드라이버 및 클라이언트 라이브러리 지원
Java
.NET
PHP
Python
ODBC
Node.JS/TypeScript
Golang
Yii2
Ruby
Perl
Erlang
QT
라이선스/가격
서버당 가격 (무제한 연결)
커뮤니티 지원
서버당 전문 지원
복구, 모니터링, 추적/감사, 최적화, 네이티브 복제 도구

문의하기

질문이 있으신가요? 이메일로 주저하지 말고 문의하세요!