Jon Lennart Aasenden   블로그 글을 번역한 것입니다

 

·   본문 링크  

https://community.idera.com/developer-tools/b/blog/posts/five-reasons-to-use-interbase-in-2020-and-beyond?utm_source=Eloqua&utm_medium=email&utm_content=Article-200407-InterBase2020IoT

 인터베이스(InterBase) 2020 버전을 사용해야 하는 5 가지 이유

인터베이스는 관계형 데이터베이스 제품들 중에서 숨겨진 보석 중 하나입니다.

 

인터베이스는 1980 년대 초반부터 볼랜드의 주력 제품으로 업데이트를 통해 수십 년에 걸처, 때로는 다른 데이터베이스와 같은 표준에 맞춰 새로운 버전을 계속 출시 했었습니다.

 

2008 년에 엠바카데로가 볼랜드 개발 포트폴리오를 인수하면서 인터베이스는 다시 최신 기술 발전에 발 맞추어 나가고 있습니다. Change Views와 같은 기능은 이러한 최신 기술을 능가합니다.

 

인터베이스.png

 

엠바카데로가 인수한 이후 꾸준한 리팩토링과 업데이트 덕분에 급격한 성능 향상을 보였습니다. 인터베이스는 성능, 보안 및 플랫폼 다양성의 대명사인 최첨단 제품입니다.

 

지난 8 년 동안  투자한 최적화 작업은 너무 많아서 나열 할 수 없습니다. 엠바카데로는 현대화 작업을 훌륭히 해냈습니다.전형적인 관계형 데이터베이스라고 감히 말할 수 있습니다. 인터베이스의  본질적인 기능들은 유지하면서

인터베이스만의 차별화 된 기능들을 제공합니다.

 

저와 같이 오래된 델파이 개발자들에게는 개발 환경으로 인터베이스를 다시 사용하는 것이 추억을 되새기게 해줄 것입니다. 인터베이스는 대학 커리큘럼의 일부였으며 델파이와 함께 최초의 상용 소프트웨어 개발에 사용되었습니다.

 

익숙하지만 틀림없이 현대적이고, 신선하지만 잘 구축된 데이터베이스입니다.

 

인터베이스가 다음(차세대) 데이터베이스가 되어야하는 5 가지 이유를 제시하고자 합니다. 일일이 나열하다보면  글이 길어질수 있기때문에  간단하게 5 가지 정도로 요약하겠습니다.

 

인터베이스 2020이 차세대 데이터베이스가 되어야하는 이유를 살펴 보겠습니다.

 

1 : 플랫폼 다양성

 

기술의 세계는 매우 짧은 시간 안에 극적으로 변합니다. 소프트웨어나 하드웨어 등 기술이 발전하는 방식은 일반적으로 갑작스럽고 예기치 않은 도약을 통해 이루어집니다. 샌프란시스코에서 열린 애플 개발자 컨퍼런스에서 아이폰을 공개 한 스티브 잡스 (Steve Jobs)가 주도한 2007 년의 모바일 혁명은 그러한 도약 중 하나였습니다.

 

하룻밤 사이에 소프트웨어 개발 기준이 결정적으로 바뀌 었습니다.

 

2020년까지 빠르게 발전하여 지구 인구의 3 분의 2가 주머니에 잠정적인 슈퍼 컴퓨터를 가지고 다니고 있습니다. 각각은 애플리케이션으로 채워지고 복잡성이 계속 증가하며 안정적인 데이터 지속성이 필요합니다.

 

오늘날 비즈니스는 점점 더 모바일 장치에서 수행되고 있으며, 그에 따라 다양한 플랫폼, 운영 체제 및 하드웨어에 소프트웨어를 배포 할 수 있는 기능이 필요합니다. 멀티 플랫폼 컴퓨팅은 이제 프로그래밍 언어에 관계없이 모든 개발자가 전략을 기반으로해야하는 전제 조건입니다.

 

다중 플랫폼 지원이 필요한 경우, 인터베이스는 선구자입니다.

 

이미 80 년대 후반부터, 인터베이스는 유닉스를 사용하는 크고 강력한 업무용 컴퓨터에서부터 Apollo 또는 Commodore Amiga와 같은 보다 작은 가정용 컴퓨터에 이르기까지 다양한 컴퓨터 시스템에서 사용 가능했습니다.

 

2020년의 목표는 매우 다르지만 인터베이스는 이전과 동일하고 플랫폼 독립적인 데이터베이스 시스템으로 남아 있습니다. 현재는 모든 주요 플랫폼 및 운영 체제 (Windows, Linux, macOS, Android 및 iOS)에 배포 할 수 있습니다. 또한 인터베이스는 지원되는 모든 플랫폼에서 이기종 OS 연결을 지원합니다.

 

여러 아키텍처에서 동일한 데이터베이스를 사용하는 기능은 제가 선호하는 기능으로, 유지 보수 시간을 절약하고 비용을 절감하며 수명을 크게 단축시킵니다.

 

사물 인터넷

 

사물 인터넷 (IoT)의 출현으로 임베디드 컴퓨팅은 획기적인 변화를 거쳤습니다. 휴대폰 혁명과 밀접한 관련이 있으며 여기에서 우리가 다루는 주제 범위와 관련이 있습니다.

 

iot.png

 

임베디드 컴퓨팅은 시장에서 특화된(전기 기술자가 어느 정도 지배하는) 틈새 시장이었습니다. 그러나 휴대 전화 혁명으로 저렴한 CPU, 칩셋 및 SoC (system on a chip)의 대량 생산이 촉진되면서 누군가가 새로운 스타일의 임베디드 보드를 조립하기까지는 시간 문제였습니다. 그리고 2012년에 드디어 35 달러짜리 Raspberry Pi 미니 컴퓨터가 현실화 되었습니다.

 

이 새로운 종류의 임베디드 보드는 휴대폰 및 태블릿과 동일한 부품으로 만들어 졌기때문에 소비자 시장에 흥미로운 성능을 제공합니다. 동일한 CPU를 가지고 있으며 동일한 운영 체제 (Android)를 실행합니다. 즉, 동일한 소프트웨어를 실행할 수 있습니다.

 

이런 경우 인터베이스가 적격입니다 ! 

 

하드웨어를 포함하는 솔루션을 만드는 것은 소프트웨어 개발에서 가장 흥미로운 측면 중 하나입니다. 인터베이스는 광범위한 임베디드 장치 (ARM 및 x86)를 포괄합니다. IoT 보드와 휴대 전화는 궁극적으로 동일한 부품의 구성이 다릅니다.

 

그리고 이러한 소형 장치에서는 빠르고 안정적이며 안전한 데이터베이스가 매우 중요합니다.

 

다행히도 인터베이스에서 이 부분을 커버하고 있습니다.

 

2: Change Views

 

인터베이스 고유의 기능 중 하나는 알림 및 피드백을 처리하는 방법입니다. 인터베이스에는 의심 할 여지없이 개발자에게 데이터 변경 사항을 알리는 몇 가지 메커니즘이 있습니다.이 중 가장 강력한 기능은 Change Views(변경보기)입니다.

 

일반적인 데이터베이스 보기와 달리 변경보기는 데이터 구독 모델을 기반으로 합니다. 정보를 얻고자 하는 변경 사항에 대한 기준을 정의하고 일단 정의한 후 "마지막으로 정의한 이후 변경된 내용은 무엇입니까?"

 

네트워크 연결 및 페이로드와 같은 것들에 대한 영향은 즉각적입니다. 미들웨어의 캐싱에 의존하여 다른 대상 (예 : 웹 애플리케이션과 모바일 애플리케이션)에 대해 동일한 데이터를 제공하는 데이터베이스 클러스터로 작업 할 때 특히 그렇습니다.

 

미들웨어의 가장 일반적인 기술인 캐시를 업데이트하기 위해 고정 행 세트를 수동으로 폴링하는 대신 변경보기는 변경된 내용만 가져옵니다. 원하는 경우 키 프레임 인 전체 행 세트를 폴링하여 서비스를 시작합니다. 서비스가 시작된 후에 변경 사항 만 가져옵니다.

 

데이터 집약적 시스템에서 사용될 경우 Change View(변경보기)는 성능과 응답성에 막대한 영향을 미칩니다.

 

Change View 더 자세히 보기 

 

3 : 테이블 스페이스

 

성숙한 데이터베이스 엔진의 가장 큰 장점은 생각하지 못한 시나리오에 사용할 수 있는 옵션이 있다는 것입니다. 개발 환경에서 수십 년 동안 사용 된 데이터베이스 엔진은 최종 사용자와 개발자에게 혜택을 줄 수 있는 풍부한 경험을 축적했습니다. 여기에는 일부 "더 규모가 큰" 데이터베이스 시스템이 제공하지 못하는 깊이와 내용이 있습니다.

 

테이블 스페이스는 개발자가 일반적으로 처리하는 테이블 구조 외부에 존재하는 데이터 관리 측면입니다. 관리 및 고급 관리 범주에 속합니다. 전반적인 개념은 특히 초기 계획보다 훨씬 더 크게 확장할 수 있는 소프트웨어를 만드는 경우 특히 이해하기 쉽고 충분히 확장하기가 쉽습니다.

 

데이터베이스 관리자는 테이블 스페이스를 통해 테이블과 인덱스가 실제로 데이터베이스 파일에 저장되는 위치를 재구성합니다. 하루 24 시간 연중 무휴로 액세스 할 수있는 20TB의 데이터베이스를 4000 명의 실 사용자가 관리 할 때 이것은 매우 흥미로워집니다. 인증 데이터 (즉 사용자 이름, 비밀번호 해시 등의 필드)를 SSD 디스크에 위임 할 수 있으면 성능에 큰 장점이 있습니다.

 

이와 같은 기능은 웹 기반 스토어프런트로 운영되는 온라인 비즈니스에 매우 적합합니다. 연구에 따르면 잠재 고객이 다른 곳으로 가기 전에 지연을 용인할 평균 시간은 초 단위로 측정된다. 파일 시스템 수준에서 데이터 성능을 조정할 수 있다는 것은 인상적이고 환영할 만한 일입니다.

 

테이블스페이스 더 자세히 보기 

 

4 : UDF 기본 기능

 

UDF는 "사용자 정의 함수(User Define Function)"의 약자이며 개발자가 쿼리 기능을 확장 할 수 있는 간단하고 우아한 방법입니다. 여러 가지 방법으로 UDF를 고유 플러그인 유형으로 볼 수 있습니다.

 

새로운 것은 아니지만 UDF는 오랫동안 인터베이스 API의 일부였습니다. 인터베이스를 매우 다양하고 대중적으로 만드는 데 도움이되는 기능 중 하나입니다. UDF를 언급하지 않고 인터베이스에대한 글을 작성하는 것은 생각할 수 없습니다.

 

UDF는 개발자가 필요한 기능을 구현하는 일반적인 네이티브 라이브러리 (예 : DLL)입니다. 인터베이스에 로드되면 표준 호환 SQL 함수와 함께 해당 기능을 사용할 수 있습니다.

 

이것은 흥미로운 데이터 처리 기회를 열어줍니다. Blob 데이터는 전송되기 전에 처리를 위해 기본 함수에 오프로드될 수 있습니다. UDF와 웹 테크놀로지를 결합하여 개발자에게 Oracle PL / SQL과 유사한 시스템을 조립할 수 있는 빌딩 블록을 제공하는 방법을 이해하는 데 큰 도움이되지는 않지만 제한과 비용은 없습니다.

 

UDF의 실제 영향

 

저는 노르웨이 정부에서 개발자로 몇 년을 근무하다가 스칸디나비아에서 가장 큰 의료 소프트웨어 공급 업체의 책임자 자리를 제안 받았습니다.

 

개인적이고 민감한 성격의 의료 문서에  억세스및 조회에 관한 규칙과 규정은  매우 엄격합니다. 잘 알려지지 않아지만 인터베이스가 이 지역에서 가장 널리 보급 된 의료 시스템의 근간이 되었으며 현재까지도 유지되고 있다는 것입니다.

 

이러한 선택의 일부는 인터베이스를 통해 개발자가 낮은 수준에서 데이터베이스 엔진과 직접 확장하고 인터페이스 할 수 있다는 사실을 기반으로합니다. 업계 표준 보안 외에도 인터베이스는 스캔 한 의료 문서를 암호화하기 위해 UDF를 만들어 즉시 사용할 수 있게 함으로써 데이터를 생태계 외부에서 쓸모 없게 만듭니다.

 

저는 이러한 수준의 커스터마이제이션을 매우 간단하게 만드는 데이터베이스 엔진을 아직 찾지 못했습니다.

 

5 : 보안

 

엠바카데로는 인터베이스 2009 릴리스와 함께 AES (Enterprise Level) 암호화를 도입했습니다. 대부분의 데이터베이스 엔진은 파일 수준에서 이진 읽기 / 쓰기 암호화로 작동합니다. 즉,  읽고 쓸때 데이터베이스 파일을 구성하는

데이터 페이지는 그대로 암호화되고 해독됩니다.

 

그러나 인터베이스는 레벨 2 수준의 보안도 지원합니다. 또한 배포 전략에 하나 또는 둘 다를 적용하도록 선택할 수 있습니다.

  • 데이터베이스 레벨 암호화
  • 컬럼 레벨 암호화

 

데이터베이스 레벨 암호화

 

간단히 말해서, 이것은 스토리지 파일을 구성하는 데이터 페이지에 암호를 적용하는 가장 일반적인 유형의 암호화입니다.

 

컬럼 레벨 암호화

 

이름에서 알 수 있듯이 이것은 실제 데이터베이스 컬럼을 보호하기위한 전략입니다. 이 암호화 전략은 데이터베이스 레벨 암호화와 별개이며 추가 보안 계층을 추가한다는 점을 강조 해야합니다.

 

암호 지원

 

인터베이스는 두 개의 암호를 지원합니다. 오래된 산업 표준 DES 알고리즘이 있습니다. 이것은 기밀이 아닌 데이터에 적합한 약한 형태의 암호화입니다. 별도의 라이센스가 필요하지 않다는 장점이 있습니다.

 

AES는 두 번째 암호화 유형입니다. 2002 년에 미국 연방 표준으로 채택되었습니다. AES는 DES보다 더 많은 수의 데이터를 스크램블할 수 있습니다. 미국은 그 강점 때문에 AES의 수출을 규제하고 있습니다.

 

AES 암호화 표준 및 규정 더 자세히 보기.

 

인터베이스 및 해당 암호화 모델에 대해 더 자세한 정보를 참조하십시오.

 

감상

 

인터베이스가 좋은 이유를 서술하는 것은 쉬었으나 이유를 5로 제한하는 것은 어려웠습니다. 인터베이스는 수십 년에 걸쳐 지속적으로 진행되는 기능 향상과 함께 발전해 나가는 풍부한 우수성을 가지고 있는 데이터베이스입니다. 인터베이스의 이런한 장점, 우수성등을 전달하기 위해 점점 더 많은 자료들을 추가하고 싶습니다.

 

인터베이스에 익숙해지는 유일한 방법은 인터베이스에 시간을 투자하여 사용해 보시는 것입니다. 지금까지 글을 읽어 보셨다면 분명히 인터베이스에 관심이 생기셨을 것입니다. 평가판을 다운로드하고 자세히 살펴보아야합니다. 델파이 또는 C++ 빌더로 돌아 오면 RAD Studio가 제공하는 멋진 새 기능들을 살펴보십시오.

 

인터베이스2.png

 

 

제품 웹 사이트에서 인터베이스에 대한 자세한 정보를 확인하십시오.

 

시간 내 주셔서 감사합니다 !

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 7530
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 7280
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 9688
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 14764
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 16477
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 12247
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 31608
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 167202
1220 [10.4 시드니 신기능] 겟잇 패키지 매니저(GetIt Package Manager) 개선 험프리 2020.05.21 468
1219 [10.4 시드니 신기능] 컨트롤 개별 VCL 스타일 적용(Per-Control Style) 적용 험프리 2020.05.19 768
1218 [10.4 시드니 신기능] 새로운 VCL TEdgeBrowser 컴포넌트 험프리 2020.05.18 2097
1217 [10.4] 커스텀 매니지드 레코드(Custom Managed Records) 험프리 2020.05.14 905
1216 [고객 사례- 솔루션, 델파이] Beyond Compare - 데이터, 시스템 비교/병합/관리 프로그램 관리자 2020.05.14 599
1215 델파이, 25년의 혁신 - 버전 1부터 10.3까지 버전별 핵심 기능 [2] 관리자 2020.05.12 1530
1214 [고객 사례- 솔루션, 델파이] AlignMix - 시각화된 세일즈 관리 도구 관리자 2020.05.12 264
1213 [10.4 시드니 신기능] 다시 태어난 '코드 인사이트' [2] file 험프리 2020.05.08 1341
1212 [발표자료] 20200429 델파이 Push 메시지 전송 시스템 구현 방법 with 구글 Firebase [3] file 관리자 2020.05.04 733
1211 헬스케어 분야에서의 델파이 - 코로나에 맞서며 file 김원경 2020.04.29 497
1210 [고객 사례- 의료, 델파이] COVID-19 격리 대상자 상태 관리 앱 관리자 2020.04.28 543
1209 이 달의 기술자료 - 2020년 05월 file 험프리 2020.04.24 288
1208 [사례 소개] 데브기어 마이그레이션 유상 컨설팅 사례 험프리 2020.04.22 382
1207 인터베이스와 FireDac에서 배열필드 사용하기 file 김원경 2020.04.16 320
1206 인터베이스, FireDAC 및 TEMSDataSetResource를 사용하여 RAD 서버에서 자동 증가 필드를 생성하는 방법 file 김원경 2020.04.16 323
1205 델파이용 벡터 컨테이너 file 김원경 2020.04.14 573
1204 [프로그래밍 애피타이저] 개발이 처음이거나 비 전공자 분들을 위한 가장 첫 번째 STEP! 관리자 2020.04.13 1949
» 인터베이스(InterBase) 2020 버전을 사용해야 하는 5 가지 이유 file 김원경 2020.04.09 5876
1202 [프로그래밍 애피타이저] 10장 트랜잭션의 정의 file 김원경 2020.04.09 357
1201 [프로그래밍 애피타이저] 9장 저장프로시저와 트리거 file 김원경 2020.04.09 413