Firebird(데이터베이스 서버)

Firebird (database server)
파이어버드
Firebird logo.svg
스크린샷
Turbobird screenshot.png
원저작자볼랜드
개발자파이어버드 재단
초기 릴리즈2000년(2000년)
안정된 릴리스
4.0.1[1] / 2021년 12월 22일; 7개월 전 (2021년 12월 22일)
저장소
기입처C++
운영 체제크로스 플랫폼
유형RDBMS
면허증.IPL, IDPL
웹 사이트www.firebirdsql.org Edit this at Wikidata

Firebird는 Linux, Microsoft Windows, macOS기타 Unix [2]플랫폼을 지원하는 오픈 소스 SQL 관계형 데이터베이스 관리 시스템입니다.데이터베이스는 2000년 볼랜드의 인터베이스 오픈 소스 에디션에서 분리되었지만, 코드는 Firebird 1.5 [3]이후 대부분 다시 작성되었다.

역사

2000년 [4][5]7월 25일 Borland가 InterBase 6.0 소스를 출시한 지 일주일 만에 Firebird 프로젝트[6][7]SourceForge에서 생성되었습니다.Firebird 1.0은 2002년 [8]3월 11일 Linux, Microsoft Windows 및 Mac OS X용으로 출시되었으며 이후 2개월 [9]동안 Solaris, FreeBSD 4, HP-UX에 대한 포트를 제공합니다.

C에서 C++로의 코드 베이스의 이식 작업은 2000년에 시작되었습니다.2004년 2월 23일 Firebird 1.5가 [10]출시되었으며, 이는 새로운 코드베이스의 첫 번째 안정적인 릴리스였다.버전 1.5에서는 향상된 쿼리 최적화 기능, SQL-92 조건식, SQL:1999 세이브 포인트 및 명시적 [11]잠금 지원이 제공되었습니다.Firebird 2.0은 2006년 [12]11월 12일에 출시되었으며 64비트 아키텍처, FROM 구에 중첩된 테이블 및 트랜잭션 [13]차단프로그래밍 가능한 잠금 타임아웃 지원이 추가되었습니다.

이전의 안정된 릴리스는 2.1.6 버전이었고, 여기에는 절차 트리거, 재귀 쿼리 및 SQL:2003 MERGE [14]지원 의 새로운 기능이 추가되었습니다.

Firebird 2.5는 향상된 멀티스레딩, 정규 표현 구문, 원격 데이터베이스 [15]쿼리 기능 등의 새로운 기능을 도입했습니다.

최신 안정 버전은 성능과 보안에 중점을 두고 2016년 4월 19일에 출시된 Firebird 3.0입니다.SuperServer [16]버전을 사용할 때 코드의 주요 재구축으로 SMP 머신을 완전히 지원할 수 있었습니다.

Google Summer of Code 2013을 통해 LibreOffice [17][18]Base에서 HSQLDB를 대체하는 Firebird 통합 작업이 시작되었습니다.

Mozilla Firefox 이름 충돌

2003년 4월 Mozilla Organization은 [19]Phoenix Technologies와의 상표권 분쟁 후 웹 브라우저 이름을 Phoenix에서 Firebird로 변경했다고 발표했습니다.

이 결정은 [20][21]Firebird라는 이름을 사용하는 데이터베이스와 웹 브라우저에 의해 사용자와 인터넷 검색 엔진이 혼동된다는 가정 때문에 Firebird 데이터베이스 프로젝트 내에서 우려를 야기했습니다.Mozilla 개발자들은 성명서를 [22]발표하면서 그들의 소프트웨어 패키지는 "Firebird"[23][24]가 아니라 "Mozilla Firebird"라고 불리고 있음을 분명히 했다.성명은 또한 Mozilla Firebird 이름이 프로젝트 코드명이라고 말했다.

이 분쟁은 2004년 2월 9일 Mozilla가 브라우저 이름을 Mozilla Firefox로 변경함으로써 [25][26][27]해결되었습니다.

주요 기능

  • 저장 프로시저 및 트리거[28] 대한 완전한 지원
  • ACID 준거 트랜잭션
  • 참조 무결성
  • 멀티 제너레이션아키텍처([29]MVCC라고도 불립니다)
  • 외부 기능 지원(UDF)
  • SQL 액티비티는 클라이언트에 비동기 통지 이벤트를 전송할 수 있습니다.
  • GUI 관리 도구 및 레플리케이션 도구를 포함한 서드파티 도구
  • 신중한 쓰기 - 신속한 복구, 트랜잭션 로그 불필요
  • 네이티브/API, dbExpress/FireDAC 드라이버, ODBC, OLE DB 등 다양한 액세스 방법.NET 공급자, JDBC 네이티브 타입 4 드라이버, Python 모듈,[31] PHP, Perl
  • 증분 백업
  • PSQL에서의 완전한 커서 실장

스토리지 및 인덱스 테크놀로지

멀티 제너레이션 아키텍처(MGA)

Firebird는 Interbase의 스토리지 아키텍처를 계승했습니다.트랜잭션의 ACID 속성을 보장하기 위해 데이터베이스 엔진은 활성 사용자에 의해 변경된 각 레코드의 다른 버전을 데이터베이스에 유지합니다.트랜잭션이 커밋되면 변경된 모든 레코드의 마지막 버전이 최종 버전으로 표시됩니다.트랜잭션이 롤백된 경우 데이터베이스 엔진은 원래 레코드 버전에 표시를 유지하고 변경되지 [32]않은 상태로 유지합니다.그 결과 기존 트랜잭션 로그 아키텍처를 사용하는 데이터베이스에 비해 Firebird Disk 쓰기가 매우 줄어듭니다.[33]트랜잭션 쓰기는 각 데이터베이스의 [34]고유한 버전을 보기 때문에 읽기를 방해하지 않으며, 그 반대도 마찬가지입니다.단점은 오래된 레코드 버전을 정리하고 디스크 [35]공간을 확보하기 위해 때때로 유지 보수('스위핑')가 필요하다는 것입니다.

멀티 제너레이션아키텍처에서는, OLTP 와 DSS/OLAP 의 조작을 동시에 실행할 수 있기 때문에, 다른 [36]제품에서 볼 수 있는 잠금 메카니즘에 의한 지연이 발생하지 않습니다.

인덱스

Firebird는 데이터베이스의 모든 인덱스를 다른 아키텍처에서 사용하는 잘 조정된 "클러스터된 인덱스"처럼 동작시킵니다.Firebird 인덱스 버킷에는 2상 잠금이 적용되지 않으며, 부울 "and" 및 "또는" 연산은 최소 비용으로 중간 비트맵에 대해 수행될 수 있으므로 옵티마이저가 대체 [37]인덱스 중에서 선택할 필요가 없습니다.

변종

  • Firebird SuperServer에는 공유 캐시를 사용하여 멀티스레드된 모든 클라이언트 접속용 데몬/서버가 1개 있습니다.
  • 또한 Firebird SuperClassic은 모든 클라이언트 접속에 대해 단일 데몬/서버가 있으며 별도의 캐시를 사용하여 멀티스레드됩니다.
  • Firebird Classic은 inetd를 사용하여 SMP 시스템에 권장되지만 방화벽을 통해 액세스하는 경우 이벤트 알림 문제가 발생할 수 있습니다.
  • Firebird Embedded로 CD-ROM 카탈로그, 단일 사용자 또는 평가판 애플리케이션 생성 가능

라이선스

Firebird 데이터베이스 엔진 및 해당 모듈은 Mozilla Public License(MPL) 버전 1.1의 변형인 초기 개발자 공용 라이센스(IDPL)로 출시됩니다.개발자가 Firebird를 사용하거나 소스 코드에서 만들어진 커스텀 파생상품을 사용하여 제품을 열 필요는 없지만 개발자가 그렇게 하기로 결정한다면 몇 가지 약관을 따라야 합니다.IDPL을 통해 개발자는 Firebird를 사용하거나 Firebird를 [38]기반으로 하는 독점적인 클로즈드 소스 애플리케이션을 만들 수 있습니다.

접속 API

저레벨 Firebird 네이티브 API, 서비스 API 및 임베디드 SQL

Firebird 네이티브 API는 Firebird 데이터베이스에 접속하는 애플리케이션 또는 미들웨어에 의해 직간접적으로 사용됩니다.Windows 시스템에서는 클라이언트라이브러리 fbclient.dll에, Unix 시스템에서는 [39]libfbclient.so에 실장되어 있습니다.

Services API는 사용자 관리, 백업/복원, 통계 수집 등의 서비스 관리 태스크에 액세스하고 제어하기 위한 특수 기능 세트입니다.

임베디드 SQL은 호스트 언어의 [40]소스 코드에 SQL 문을 직접 삽입할 수 있는 gpre라는 프리프로세서를 사용하여 C/C++ 및 COBOL Firebird 응용 프로그램의 개발을 단순화하는 기술입니다.

어워드

  • 2007. Source Forge Community Choice Award: 기업 대상 최우수 프로젝트, 최우수 사용자 지원.[41]
  • 2009. Source Forge 커뮤니티 초이스 어워드: 기업 대상 최우수 프로젝트.최우수 프로젝트 및 [42]정부 대상 최우수 프로젝트 최종 후보

「 」를 참조해 주세요.

레퍼런스

  1. ^ https://firebirdsql.org/en/firebird-4-0-1/ 를 참조해 주세요.
  2. ^ "Firebird: A powerful, cross platform, SQL database system". SourceForge. SourceForge Media, LLC. 25 April 2018. Retrieved 2 May 2018.
  3. ^ "Firebird 1.5.5 Release Notes". Retrieved 29 September 2009. Firebird 1.5.5 C에서 C++ 언어로 다시 쓰기 위한 일반 참고 사항
  4. ^ "Inprise/Borland Introduces InterBase 6.0 Now Free and Open Source on Linux, Windows, and Solaris". 16 July 2000. Archived from the original on 6 December 2004. Retrieved 29 January 2009.
  5. ^ "Borland.com: Inprise/Borland Introduces Interbase 6.0 Now Free and Open Source on Linux". Linux Today. Retrieved 29 January 2009.
  6. ^ "Firebird History". Retrieved 14 March 2014.
  7. ^ Paul Reeves. "What's happening to InterBase". Borland User Group. p. 2. Retrieved 14 March 2014.
  8. ^ "IBPhoenix Community News Archive". 11 March 2000. Retrieved 29 January 2009.[영구 데드링크]
  9. ^ "IBPhoenix Community News Archive". 11 April 2000. Retrieved 29 January 2009.[영구 데드링크]
  10. ^ "Firebird Relational Database 1.5 Final Out". Slashdot. 23 February 2004. Retrieved 31 January 2009.
  11. ^ Helen Borrie (5 October 2009). "Firebird 1.5.6 Release Notes". Firebird Project. Retrieved 10 June 2012.
  12. ^ Dmitry Yemanov. "Firebird 2.0 Final Release Launches in Prague". Retrieved 5 February 2009.
  13. ^ Helen Borrie (5 April 2012). "Firebird 2.0.7 Release Notes". Retrieved 10 June 2012.
  14. ^ Helen Borrie (20 July 2014). "Firebird 2.1 Release Notes". Retrieved 20 July 2014.
  15. ^ Helen Borrie (19 November 2015). "Firebird 2.5.5 Release Notes". Retrieved 19 November 2015.
  16. ^ Gray, James (29 July 2016). "The Firebird Project's Firebird Relational Database Linux Journal". www.linuxjournal.com. Linux Journal. Archived from the original on 1 March 2020. Retrieved 1 March 2020.
  17. ^ mariuz (14 February 2012). "Firebird Embedded and LibreOffice is the killer combination to scale from a single file application to a client/server approach". Firebirdnews.org. Retrieved 8 July 2013.
  18. ^ ahunt (28 May 2013). "GSOC 2013: LibreOffice Firebird SQL Connector". Retrieved 8 July 2013.
  19. ^ Dotzler, Asa (14 April 2003). "Phoenix and Minotaur to be renamed Firebird and Thunderbird". MozillaZine. MozillaZine. Retrieved 29 January 2016.
  20. ^ Mozilla browser becomes Firebird, IBPhoenix, archived from the original on 23 April 2003, retrieved 29 January 2016
  21. ^ Bishop, Alex (21 April 2003). "Firebird Database Project Admin Ann Harrison Interviewed". MozillaZine. MozillaZine. Retrieved 29 January 2016.
  22. ^ "mozilla branding". The Mozilla Organization. 25 April 2003. Archived from the original on 26 April 2003. Retrieved 31 January 2016.
  23. ^ Festa, Paul (7 May 2003). "Mozilla's Firebird gets wings clipped". CNET. CBS Interactive. Retrieved 29 January 2016.
  24. ^ Bishop, Alex (14 May 2003). "Christopher Blizzard of mozilla.org speaks on the Firebird naming conflict". MozillaZine. MozillaZine. Retrieved 29 January 2016.
  25. ^ Paul Festa (9 February 2004). "Mozilla holds 'fire' in naming fight". CNET. CBS Interactive. Retrieved 29 January 2016.
  26. ^ "Mozilla Firebird Renamed Firefox, Version 0.8 Released". MozillaZine. MozillaZine. 9 February 2004. Retrieved 29 January 2016.
  27. ^ "Mozilla Firefox - Brand Name Frequently Asked Questions". mozilla.org. Mozilla Foundation. Retrieved 29 January 2016.
  28. ^ "Get to know Firebird in 2 minutes".
  29. ^ Roman Rokytskyy. "A not-so-very technical discussion of Multi Version Concurrency Control". Retrieved 21 November 2011.
  30. ^ "Connect to Firebird (FireDAC)".FireDAC
  31. ^ "FDB: The Python driver for Firebird".
  32. ^ "Multi-generational architecture (MGA) and record versioning". HK-Software. Archived from the original on 1 October 2011. Retrieved 14 July 2011.
  33. ^ "Interview with Jim Starkey from InterBase World". Marina Novikova, InterBase World. Retrieved 14 July 2011.
  34. ^ "What is Multi Generational Architecture (MGA)?". The Firebird FAQ. Retrieved 14 July 2011.
  35. ^ "Database Housekeeping And Garbage Collection". The Firebird Project. Retrieved 14 July 2011.
  36. ^ "What is Multi Generational Architecture (MGA)?". The Firebird FAQ. Retrieved 14 July 2011.
  37. ^ "Interview with Jim Starkey from InterBase World". Marina Novikova, InterBase World. Retrieved 14 July 2011.
  38. ^ "Firebird: Initial Developer's Public License Version 1.0". Firebird Project. Retrieved 13 July 2011.
  39. ^ "The Firebird client library". The Firebird Project. Retrieved 14 July 2011.
  40. ^ "Application development". The Firebird Project. Retrieved 14 July 2011.
  41. ^ "SourceForge.net 2007 Community Choice Awards Winners". SourceForge.net. Retrieved 13 July 2011.
  42. ^ "SourceForge.net: 2009 CCA: Winners". SourceForge.net. Retrieved 13 July 2011.

외부 링크