database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
ㆍFirebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Firebird Q&A 23 게시물 읽기
No. 23
Firebird vs. MySQL
작성자
윤성필
작성일
2005-05-06 12:12
조회수
16,636

Firebird 와 MySQL 중에서 어떤 것을 고를지 고민하고 있습니다. Firebird 가 MySQL 에 비해서

갖고있는 장점은 어떤 것이 있는지요?

 

감사합니다.

 

이 글에 대한 댓글이 총 7건 있습니다.

파이어버드와 MySQL과 비교를 하셧는데.. 저의 개인적인 의견을 적어봅니다..

 

저의 경우 두가지를 모두 사용해봐지만.. 파이어버드를 추천합니다.

 

참고로 전 인터넷을 통해 업무용패키치  프로그램을 개발해서 판매하는 CEO입니다..

 

수천군데 업체에서 파이어버드를 사용하면서 지금까지 데이터베이스가 안깨서 별도의 유지보수비를 못받는게 아쉽지만 데이터베이스 좋게생각합니다..

 

우선 파이어버드는 MYSQL의 장점을 모두 가지고 있습니다.

 

예를든다면 윈도우 리눅스 모두설치가능하고 인정성또한 MYSQL보다 나을거라 생각합니다..

 

그리고 MYSQL 상용목적으로 사용하면 라이센스지불해야하는것으로 알고있습니다... 국내총판 솔빛미디어인가 (최근에 MySQL 국내총판계약을매은것으로 알고있음),,... 그럴겁니다..

 

파이어버드는 100% 무료입니다... 엔드유저에게 무료배포도 가능하고요,,

 

외국에서는 파이어버드로 홈페이지게시판도 있다고 애기는 들었습니다.

 

국내에서는 델파이포럼 싸이드의 게시판을 MySQL에서 파이어버드로 바꾸었고요,,,,(이유는 속도죠,,, MYSQL보다 빠르니가..)

 

또한 MYSQL 설치파일 대략 20메가 적동되는데 파이어버드는 3메가정도,,, 가벼우니까 빠르죠,,,, 그리고,, Mysql보다 뒤늦게 나와서인지 보안성도 뛰어납니다..

 

그밖에 여러가지가 있지만.. 그만 쓸려고 합니다...

 

저도 처음에 MYsQL 사용하려더 파이어버드를 사용하지만 잘했다고 생각됩니다...

 

좀더 자세한 것을 알고싶으신분들은 메일주세요,,,

 

 

김남영님이 2005-05-07 04:10에 작성한 댓글입니다. Edit

PHP ADMIN같은건 있나요?

혹시 파티셔닝 테이블기능이 있나요 MYSQL은 없는데..

LIMT 기능은 스토어프로시져나 트리거기능은..

이홍석(lhs0806)님이 2005-05-08 20:51에 작성한 댓글입니다.

 

limit는 잘 모르겠고 StoredProcedure, Trigger 다 지원하고 있으며

또한, 파티셔닝 테이블? 그건 모르겠고 하나의 데이터베이스를

여러개로 분리(C : 가파일,나파일 D: 다파일) 가능합니다.

단 Stored Procedure 사용방법이 약간 꿀꿀합니다

제가 몰라서 그럴지도 모름.. 제가 아는것은 Stored Procedure를

from절에 쓴다는 ㅠㅠ

특징적으로 Select절에 Sub Select절이 가능하며 From절은 안됨

 

이중철(gosrak)님이 2005-05-14 11:52에 작성한 댓글입니다.

장점만 있는것이 아닙니다. 약점도 있는데 이거땜시 요즘 고민이

많습니다.

가장 큰 약점은 일괄 입력이 안된다는 것인데

Mysql 은 Load인가 뭔가로 SQL에서 파일을 올릴 수 있고

또한, SQL-SERVER도 Bulk Insert로 같은 기능을 제공하며

오라클은 sqlloader 와 Array Insert로 같은 기능을 제공합니다.

그런데 Firebird는 이 기능을 제공하지 않습니다.

혹자는 소스포지에 있는 ibexport로 되지 않나 하실지 모르지만

소스를 분석해보면 Precompiled sql을 사용하여 속도 증가만

하였을뿐 일괄입력이 안됩니다.

즉, 다른 DB에서 초당 3~4만건씩 입력이 되지만 같은 구조의

테이블에 파이어버드는 초당 천건(ibexport)을 넘지 못합니다.

물론 일반 입력은 파이어버드가 속도가 좀 좋습니다. 다른것은

초당 100~200건 정도인데 파이어버드는 약 300건 정도까지

되더군요.

혹시 파이어버드 에서 일괄입력 알고 계신분 있으시면 리플 부탁

드립니다.

이중철님이 2005-05-14 12:47에 작성한 댓글입니다. Edit

fb 에서도 Limit 기능과 유사한 기능을 지원합니다.

FIRST x [SKIP y] 로 사용이 가능합니다. 2.0 에서 부터는 보다 진보된 형태의 ROWS 라는 명령이 지원이 되는데 기능이 LIMIT 보다 훨씬 많은것들을 포함하고 있더군요.

 

일단 두가지 모두를 사용하는 저 같은 입장에서 보자면 (대단히 주관적인 입장에서 적은 글입니다) 다음과 같은 장단점이 있는것 같습니다.

 

1. 설치 (FB > MySQL)

- 일단 용량에서 FB는 2.7MByte 정도 밖에 안됩니다. 설치도 대단히 쉽구요. Windows, Linux, Solaris, HP-UX 를 FB에서도 지원을 합니다.

- 단, 리눅스시스템에서는 SuperServer와 ClassicServer 가 야간씩 다른 기능을 지원하는지라 (SMP의 지원이나 스레드/프로세스모드의 지원) 자신이 원하는 작업형태에 맞는 아키텍쳐를 선택하는데 약간의 수고가 필요합니다.

 

2. 사용법 (FB < MySQL)

- FB 가 사용법에서는 약간 까다로운점이 있습니다. 예를들자면 테이블명이 변경이 안된다던지 (MySQL에서의 rename claus 가 FB에서는 없더군요. 제가 못찾은 건지도 모릅니다)

- MySQL의 Auto_increment 를 구현하기 위해서 FB에서는 별도의 GENERATOR를 만들고 프로그램단에서 코딩을 한다던지 별도의 트리거를 붙여야 하는 문제들

- 테이블이나 릴레이션 관계를 참조하기 위해서는 일일히 시스템테이블들 (RDB$로 시작하는)을 뒤져서 값들을 가져와야 하는 일들이 빈번합니다. 물론 MySQL에서는 이런 시스템 테이블들이 감춰져 있습니다만.. MySQL을 대하다가 FB를 처음 대하는 분들(오라클이나 mssql을  다루었던 분들은 적응이 쉽겠지만)은 좀 어벙벙해 질수도 있습니다.

 

3. 관리 (FB<MySQL)

 - 일단 커맨드라인툴들의 사용법이 좀 까다롭습니다. 특히 gbak 이나 gfix 의 사용법이 MySQL에 비해 크게 직관적이라는 생각이 들지 않습니다.

- 관리툴들이 그리 많지 않습니다. IB/FB-Expert 정도가 거의 유일한 툴이고 오픈소스로는 마라톤이라는 것이 있습니다만 MySQL의 관리툴들과는 수량면에서 많이 딸리는것이 사실입니다.

- 계정(유저)의 관리면에서는 FB가 MySQL 보다 훨씬 직관적이고 편리합니다. 데이터베이스의 생성법은 오라클과 비슷한데 오라클보다는 옵션이 더 작고 더 간편하고 MySQL 보다는 좀 복잡합니다.

 

4. 커뮤니티 (FB<MySQL)

- 뭐 거의 압도적으로 FB 커뮤니티가 작습니다만 이건 시간이 지나면 간극이 점점 메워질것이라 생각이 됩니다.

 

5. 프로그램과의 연동성 (FB<= MySQL)

- 일단 MySQL은 거의 모든 언어에 대한 인터페이스를 지원합니다만 FB에서는 아직은 약간 부족합니다. 하지만 FB가 Interbase와 베이스 코드를 공유한 혜택으로 과거 Interbase 용으로 제작된 콤포넌트와 인터페이스들을 거의 그대로 사용을 할수 있습니다 (ZeosDBO나 php의 ib_ 펑션들, Perl의 interbase-dbd 등을 그대로 사용가능)

또한 FB용 JDBC도 나와있음으로 웬만한 프로그램과의 연동성은 비슷하다고 생각이 됩니다.

- PHP+FB보다는 PHP+MySQL 이 속도거 더 빠릅니다. 물론 Interbase 함수를 사용한것이긴 하지만 현재로써는 PHP+MySQL이 더 빠른건 확실합니다.

 

6. 기능과 보안성(FB > MySQL)

- 압도적으로 FB에 점수를 줄수 밖에 없습니다. 가령 최근 로그기록 테스트를 위해 FB를 사용했었는데 4천만건 (DB파일의 크기가 4.5G정도 되었습니다-싱글파일로 생성) 되었음에도 거의 모든 작업이 처리가 가능했습니다. 초당 약 300건 정도 처리가 가능하다는 윗분의 말씀은 맞습니다. 쓰레드모드로 처리했음에도 불구하고 300~400건 이상은 처리가 잘 안되더군요.

- MySQL에서는 특정 버전에서만 지원되는 기능들 (트리거, 프로시져, User Define Function, 뷰 등등등)이 FB에서는 기본으로 지원이 됩니다.

- 별도의 서버구성이 필요없는 Embeded DB를 기본으로 지원을 합니다. 이거 정말 편리합니다.

- MySQL에는 없는 멀티파일 데이터베이스의 생성이나 쉐도윙기능을 통해서 데이터베이스의 안정성을 보다 높여줍니다. 특히 이 두가지 기능때문에 FB에 많은 점수를 주고 있습니다.

- External Table 기능을 이용하면 해당 테이블의 데이터들은 ASCII 모드로 저장함으로 다른 어플리케이션(엑셀이나 엑세스등)과 다이렉트로 데이터들을 교환할수 있습니다. 물론 사용상의 주의점과 제약이 대단하기는 하지만 경우에 따라서는 편리하게 사용이 가능합니다.

- MySQL 에서는 계정단위로 GRANT가 가능하지만 FB에서는 거의 모든 오브젝트들에 대한 권한설정이 가능합니다 (테이블, 필드, 트리거, 뷰, 프로시저 등등에 대해 세부적으로 권한들을 세팅할 수 있습니다.- 때로는 이것 때문에 머리가 아플지경일 정도로..)

 

 

정리하자면 MySQL이나 FB가 타겟으로 하고 있는 중소규모의 작업에서 사용되는 기능들을 개발자 입장에서 보자면 FB가 공부해야 할것이 MySQL에 비해 두세배는 많습니다. 그런 이유로 FB가 좀 쓰기가 껄꺼러워지기는 하지만 일단 어느 정도 개념이 서게되면 FB가 정말 사랑스러워 집니다. 본인도 웬만한 어플리케이션들은 FB를 기반으로 동작하도록 만들고 기존에 만든것들도 MySQL에서 FB로 포팅을 하고 있는 중입니다.

1.5 에서는 아직 알수없는 데드락이 생긴다던지 하는 문제들이 존재하지만 현재 2.0 알파버전이 올라와있고 2.0에서는 더욱 강력한 모습을 만날수 있을것 같습니다.  이상 제 사견이었습니다.

 

냐웅군님이 2005-05-15 11:29에 작성한 댓글입니다.
이 댓글은 2005-05-15 11:34에 마지막으로 수정되었습니다. Edit

일괄입력 됩니다.

isql.exe에서 지원합니다.

isql -input *.sql

터보파스칼5.5님이 2005-06-17 09:31에 작성한 댓글입니다. Edit
이홍석(lhs0806)님이 2005-12-07 13:48에 작성한 댓글입니다.
이 댓글은 2005-12-07 13:48에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
26특징좀 알려주세요 [1]
학생
2005-05-30
9249
25파이어버드 우째 쓰나요...대략 난감...ㅡㅜ [1]
초짜
2005-05-24
10653
24MS Access와 같은 형식으로 사용하는 방법은? [2]
bluefin92
2005-05-22
8504
23Firebird vs. MySQL [7]
윤성필
2005-05-06
16636
19불새 권한설정 스크립트인데요.
정명곤
2005-04-28
7568
18Firebird..드디어 생겼군요.
윤진화
2005-04-23
7004
17오... 불새 포럼이다... [1]
박성철
2005-04-21
6951
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2021 DSN, All rights reserved.
작업시간: 0.011초, 이곳 서비스는
	PostgreSQL v13.1으로 자료를 관리합니다