인터베이스
인터베이스(InterBase)는 미국 엠바카데로 테크놀로지스(Embarcadero Technologies)가 관리하는 관계형 데이터베이스 관리 시스템(RDBMS)이다. 용량이 40MB로 매우 작고 관리자가 거의 필요 없는 편리한 관계형 데이터베이스 관리 시스템(RDBMS)이다. 리눅스(Linux), 윈도우(Windows), 안드로이드(Android), 아이오에스(iOS) 등 다양한 환경에서 작동한다. 인터베이스(InterBase)를 기반으로 오픈소스 무료 데이터베이스 관리 시스템(DBMS)인 파이어버드(Firebird)가 만들어졌다.
개요
인터베이스는 소프트웨어 개발자를 위한 완전한 기능을 갖춘 고성능 및 확장 가능한 관계형 데이터베이스다. 1984년, 짐 스타키(Jim Starkey)가 다세대 아키텍처를 활용한 RDBMS로 개발했다. 1991년 인터베이스는 볼랜드 사에 인수되었고 2000년에 파이어버드라고 불리는 오픈 소스 DBMS가 인터베이스로부터 만들어졌다. 2008년에 인터베이스는 다른 개발 도구들과 함께 엠바카데로 테크놀로지스 사에 의해 구매되었다.[1]
특징
인터베이스는 저비용 제로 관리 경량 멀티 디바이스 데이터베이스로 안드로이드, iOS, 윈도우, OS X, 리눅스, 솔라리스(Solaris)의 애플리케이션에 내장할 수 있다. 인터베이스는 강력한 보안, 재해 복구, 저널링 및 널리 사용되는 데이터베이스 드라이버를 지원하여 구축 유연성을 향상했다. 인터베이스는 ISV, OEM 및 VAR에 적합하며, 메모리와 디스크 크기는 작지만, 비즈니스 크리티컬 애플리케이션을 지원하는 정교한 기능을 손상하지 않는 데이터베이스가 필요하다. 비용이 많이 드는 지원과 유지보수가 필요한 많은 데이터베이스와 달리, 인터베이스는 관리가 필요하지 않다. 간단한 설치와 작은 설치 공간을 통해 인터베이스는 애플리케이션에 내장할 수 있는 데이터베이스로 만들어졌다. IBLite는 독립 실행형 환경에서 실행되는 안드로이드 및 iOS를 위해 자유롭게 배포할 수 있고 내장 가능한 데이터베이스로, 인터베이스 엔진을 직접 활용하는 앱을 배포할 수 있다. IBLite는 Delphi XE7(Mobile 이상의 Professional)과 RAD Studio XE7(모든 에디션)과 독점적으로 이용할 수 있다. 인터베이스는 가장 빠른 네이티브 데이터베이스 중 하나이다. 내장된 대칭 다중 처리(SMP)를 사용하여 인터베이스는 오늘날의 멀티 코어 CPU와 멀티 CPU 시스템을 활용할 수 있다. 성능 향상 및 최적화는 데이터베이스 복원, 배치 업데이트 및 쿼리 등 여러 영역에서 추가되었다. 인터베이스는 트랜잭션 처리 및 의사결정 지원을 위해 높은 데이터 가용성을 제공하는 고유한 버전 관리 기능을 제공하는 다세대 아키텍처를 사용한다. 인터베이스는 자바(JAVA), C, C++, 를 포함한 모든 주요 개발 패러다임을 지원한다.넷, 델파이, PHP, 루비. C++Builder, RAD Studio, Delphi와 긴밀하게 통합되어 RAD 프로젝트를 어떤 플랫폼에든 배치하면 인터베이스가 자동으로 배치된다.[2]
기술
인터베이스는 시판된 최초의 AID 인증 데이터베이스 중 하나였으며, 이 파운데이션은 서버 충돌 후 매우 빠르게 복구되고 실행될 것임을 의미한다. 실제로 인터베이스는 어떤 시스템 재부팅에 따라 복구 시간이 중요한 전 세계적으로 탱크, 헬리콥터, 의료 장비에 배치되어 있다. 인터베이스는 또한 증분 백업, 저널, 시점 복구, 데이터베이스 섀도잉을 포함한 다양한 페일오버 기능을 제공한다. 이 외에도 여러가지 특징들이 존재한다.
보안
데이터베이스에 대한 사이버 공격과 데이터 손실은 비용이 많이 들고 고객의 신뢰(및 비즈니스), 규제 조치, 심지어 거액의 벌금까지 초래할 수 있다. 인터베이스는 무선 및 유휴 암호화, 별도의 보안 로그인 및 역할 기반 사용자 보안을 제공한다. 인터베이스 암호화는 완전한 온-디스크 암호화를 유지하면서 데이터베이스 속도와 성능에 오버헤드를 거의 추가하지 않는다.[3]
- 교차 플랫폼 암호화
- 인터베이스는 서버와 클라이언트 간의 회선을 통한 암호화와 유휴 데이터(DES와 AES 256비트 암호화 모두)를 지원한다. 인터베이스 암호화는 크로스 플랫폼 단일 파일 형식의 일부로 내장되어 있다.
- 별도의 보안 로그인
- 데이터 가시성은 개발자조차 중요한 데이터를 보고 검색하기 위해 암호화를 우회할 수 없도록 하는 컬럼 레벨 세분성을 갖춘 데이터베이스(SYSDSO)에 전문적으로 로그인함으로써 정의된다.
- 위험 감소
- 내장된 세분화된 칼럼 레벨 암호화를 통해 요구사항 변경 및 데이터 계층(애플리케이션은 물론)이 데이터 가시성을 관리함에 따라 제품 리팩터링을 통해 데이터 침해 위험을 대폭 줄인다.
- 역할 기반 사용자 보안
- 작업 역할(계정, 어카운트 매니저, 세일즈, HR 등)에 맞게 사용자 보안 역할을 정의하여 시스템 전체에서 데이터 및 데이터 변경 추적에 대한 액세스를 쉽게 추가하거나 제거할 수 있다.
- 암호화된 백업
- 인터베이스는 암호화된 백업을 생성할 수 있도록 하는 백업별 암호화 키를 지원하며, 스케줄링을 통해 명령줄 백업을 실행해야 하는 이들의 요구에 부응한다.
가벼움
인터베이스는 작고 가벼운 설치 공간을 가진 가장 빠른 네이티브 데이터베이스 중 하나이다. 인터베이스는 고유한 버전 관리 접근 방식 및 고급 디스크 I/O 캐슁과 함께 오늘날의 멀티코어 CPU 및 멀티 CPU 시스템을 활용하여 데이터를 빠르게 검색하고 업데이트한다.[3]
- 작은 용량
- 가장 작은 분포에서 인터베이스는 몇 메가바이트에 불과하다. 작은 디스크 설치 공간과 작은 메모리 요구 사항은 상업용 임베디드 데이터베이스 엔진을 필요로 하는 장치에 이상적이다.
- 빠른 설치
- 인터베이스 서버는 서버 및 클라이언트 드라이버의 자동 설치를 허용하는 임베디드 설치 프로그램과 함께 몇 초 만에 완전히 설치된다. 인터베이스 ToGo에 관한 한, 설치가 필요 없다.
- 빠른 데이터
- 인터베이스의 Change Views는 데이터 이동량을 획기적으로 줄이고, 데이터 비용, 네트워크 트래픽, 서버 CPU 수요, 디스크 I/O를 줄임으로써 데이터 속도와 확장성을 향상시킨다.
- 쓰기 자동 기록
- 저널링은 완전한 메모리 내 데이터베이스 시스템의 이점을 이용하여 디스크에 즉시 변경사항을 기록할 수 있는 보안을 제공한다.
재해복구
애플리케이션과 비즈니스는 데이터에서 실행되므로 데이터베이스 재해 복구가 매우 중요한 기능임 인터베이스는 실시간 백업, 증분 덤프, 다중 스레드 복원, 자동 쓰기 로깅 및 시점 복구를 통해 효과적인 재해 복구 계획을 지원한다. 데이터베이스는 명령줄, 관리자 도구, 백업 API를 사용한 코드 또는 ODBC 드라이버 GUI를 통해 백업할 수 있다.[3]
- 라이브 백업
- 인터베이스의 다중 제공 아키텍처는 사용자가 여전히 연결되어 있고 데이터베이스를 변경하는 동안 백업 스냅샷을 생성할 수 있도록 한다.
- 고유 데이터 덤프
- 고유 데이터 덤프는 데이터베이스의 읽기 전용 복사본을 빠르게 생성한다. DR 시나리오에서 데이터베이스를 읽기/쓰기로 전환하는 것이 복원을 기다리는 것보다 빠르다. 처음 설치하면 데이터베이스의 전체 복사본이 생성되고 이후 실행은 기본 데이터베이스의 변경사항만 사용하여 복사본을 업데이트한다.
- 빠른 복원
- 인터베이스는 데이터베이스와 인덱스를 최대한 빨리 복원할 수 있도록 여러 프로세서에 여러 스레드를 사용하여 복원한다.
- 쓰기 자동 기록
- 인터베이스의 저널링은 완전한 메모리 내 데이터베이스 시스템의 이점을 이용하여 디스크에 즉시 변경 사항을 기록할 수 있는 보안을 제공한다.
- 시점 복구
- 저널 아카이브를 사용하여 데이터베이스를 원하는 시점으로 신속하게 되돌릴 수 있다. 저널 아카이브는 백업이 실행되지 않았더라도 신속하게 복구할 수 있도록 장치에 저장할 수 있다.
복제
인터베이스의 변화, 뷰 개발 시간, 네트워크 운영 비용과 서버 CPU수요 기존 change-tracking 방법에 의존하는 다른 복제 방법과 관련된을 감소시킨다. 결과적으로, 개발 팀들 비용 절감, 시간 절약, 개선을 사용자 경험을 갖고 있다.[3]
- 로그 없는 복제
- 인터베이스의 Change Views는 로그 테이블 및 시간 스탬프 필드와 관련된 일반적인 확장성 문제를 제거한다.
- 보안 데이터 변경 구독
- 장치에 권한이 부여되고 특정 테이블 또는 데이터 열에 가입되면 해당 가입에 대한 현장 수준에서 무엇이 변경되고 있는지 추적한다. 이 단순한 모델은 데이터 변경에 대한 액세스를 안전하게 관리하고 개발, 리팩터링, 빌드 및 테스트할 수 있는 코드를 적게 사용하여 쉽게 확장할 수 있다.
- 시장에서 가장 안전한 변경 추적 기능
- Change Views는 무엇이 변경되었는지 쉽게 식별할 수 있을 뿐만 아니라, 누가 변경 사항을 추적할 수 있는지 제어하며, 다른 사람이 데이터 변경에 대해 추측하는 것을 방지한다.
- 쉬운 데이터 델타 가져오기
- Change Views는 변경된 내용에 대한 현장 수준의 델타만 제공하므로 개발자는 데이터 이동 비용을 낮추면서 최종 사용자에게 상세 분석을 제공할 수 있다. Change Views 데이터는 동기화하기 전에 SQL을 통해 쿼리할 수 있으며, 이를 통해 데이터 청구서가 기습적으로 작성되지 않도록 보장할 수 있다.
신축성
인터베이스는 윈도우, 리눅스, 맥OS, 안드로이드 및 iOS에서 실행. 또한 인터베이스는 지원되는 모든 플랫폼에서 이기종 OS 연결을 지원한다.[3]
- 교차 언어 지원
- 인터베이스는 자바, C, C++, 를 지원한다.NET, Delphi, PHP, Ruby와 긴밀하게 통합되며 RAD Studio IDE와 긴밀하게 통합된다. 비주얼 스튜디오 개발자는 ADO를 통해 인터베이스와 협력할 수 있다.NET 또는 ODBC 커넥터.
- 서버 데이터 저장소
- 온라인 및 오프라인 애플리케이션 기능을 제공하는 서버와 클라이언트 모두의 상업용 데이터 스토리지. 설치된 서버에는 인터베이스 서버, Developer 및 Trial Edition이 적합하다.
- 클라이언트 데이터 저장소
- 인터베이스 ToGo 및 IBLite 버전은 로컬 스토리지가 있는 독립 실행형 내장 데이터베이스로 사용할 수 있다. 로컬 스토리지는 네트워크 트래픽의 필요성을 줄여 비용을 절감하고 앱 속도와 사용자 경험을 개선한다.
- 단일 On-Disk 형식
- 인터베이스의 단일 파일 형식을 통해 어디서나 애플리케이션을 배포할 수 있다. 유니파이드 온디스크 포맷을 통해 개발 머신에서 직접 신속하게 지원 및 테스트할 수 있다.
SQL 호환
인터베이스는 SQL 표준 호환 데이터베이스이다. 인터베이스는 SQL 산업 표준을 엄격히 준수한다. 유니코드를 지원하고 전 세계 어떤 문자 집합에도 이상적이며 다중 결합 유니코드, 실시간 이벤트 알림, 특허 출원 중인 Change Views의 SQL 기반 변경 추적 기능을 제공한다. Change Views는 데이터베이스에 대한 변경사항만 식별하고 가져와 응용프로그램 속도를 높이고 네트워크 트래픽과 비용을 절감한다. 생성기를 사용하면 일반적으로 기본 키에 사용되는 일련 번호를 가져올 수 있다. 인터베이스는 중복 키를 할당하지 않는다. 생성기는 InterBase를 사용하여 데이터베이스에서 중앙에서 키 값을 생성할 수 있다.[3]
- 다세대 건축
- 일관된 데이터베이스 스냅샷과 연결되며, 독자가 작성자의 변경을 차단하지 않고 확장성을 높였다.
- 이벤트 경고
- 인터베이스 이벤트는 변경이 커밋될 때 연결된 클라이언트에 대한 실시간 경고를 활성화한다. 이렇게 하면 CPU 집약적인 데이터베이스 폴링이 절약되고 데이터베이스 확장성이 향상된다.
- 사용자 정의 가능
- 사용자 정의 필드 유형, 저장 프로시저, 사용자 정의 예외 및 트리거를 사용하여 인터베이스를 쉽게 사용자 정의 사용자 정의는 데이터베이스 로직, 데이터 변환 및 쉬운 유지보수를 자동화하는 데 도움이 된다.
전망
기술의 세계는 아주 짧은 시간 안에 극적으로 변했다. 소프트웨어든 하드웨어든 기술이 발전하는 방식은 대개 갑작스럽고 예상치 못한 도약을 통해 이루어진다. 스티브 잡스가 샌프란시스코에서 열린 애플 개발자 콘퍼런스에서 아이폰을 공개하면서 주도했던 2007년의 모바일 혁명은 그런 도약이었다. 하룻밤 사이에 소프트웨어 개발 기준이 돌이킬 수 없이 변경되었다. 2020년으로 빠르게 나아가면 지구 인구의 3분의 2가 우리 주머니에 슈퍼컴퓨터를 넣고 돌아다닌다. 애플리케이션으로 가득 차 있고, 복잡성이 계속 증가하고 있으며, 안정적인 데이터 지속성이 필요할 때 필요한 것이 인터베이스이다. 오늘날 비즈니스는 모바일 기기에서 점점 더 많이 이루어지고 있으며, 그것과 함께 소프트웨어를 다른 플랫폼, 운영 체제, 하드웨어에 배치할 수 있는 능력은 필수적이다. 멀티플랫폼 컴퓨팅은 이제 프로그래밍 언어와 상관없이 모든 개발자들이 그들의 전략을 기반으로 해야 하는 필수 조건이다.
각주
참고자료
- 〈InterBase〉, 《Database of Databases》
- 〈Welcome〉, 《embarcadero docwiki》
- embarcadero - https://www.embarcadero.com/products/interbase
같이 보기
- 데이터베이스 관리 시스템(DBMS)
- 관계형 데이터베이스 관리 시스템(RDBMS)
- 엠바카데로 테크놀로지스
- 파이어버드