답변을 올린 지 한달이 넘어서 재질문이 오니 좀 생숭하네요. ;;
컴포넌트의 속도 비교는 상황에 따라 결과가 다르게 나올 수 있습니다. 특히 같은 레코드 건수라고 해도 필드 갯수나 필드의 바이트 수에 따라 다를 수 있습니다. 참고로 말씀드리면 제가 테스트한 결과는 한번 테스트에 총 200만건 정도를 인서트했으며, 단일 인서트문마다 커밋을 하는 경우와 200건 단위로 커밋하는 경우 두가지로 테스트했는데, 물론 말씀하신 것과 마찬가지로 몰아서 커밋하는 경우가 훨씬 빠르기는 했습니다만 FIBPlus가 가장 빨랐다는 데에는 별 차이가 없었습니다.
말씀하신 Zeos는 아예 처음부터 테스트에서 배제를 했는데, 그 이유는 매 버전마다 버그에 대한 논란이 컸기 때문입니다. 그리고 FIBPlus가 가장 빨랐던 이유는 네이티브 액세스를 하기 때문인데, 이 점에서는 IBObjects와 IBExpress도 비슷하기 때문에 이 세가지 사이의 속도 차이는 그다지 크지 않았습니다. Zeos도 마찬가지로 네이티브 액세스를 하도록 구현되어 있다면 이 세가지와 비슷한 속도를 내거나 더 빠른 속도를 낼 수도 있을 것입니다.
말씀드렸던 것처럼, 제가 Zeos를 테스트에서 배제한 이유가 성능이 원체 낮아서 테스트할 가치도 없다고 생각한 것이 아니라 반복된 버그 때문이기 때문에, 지금 사용하시는 상황에서 Zeos에서 별다른 버그가 발견되지 않고 성능도 만족스럽다면 당연히 FIBPlus 등의 상용 컴포넌트를 이용할 이유가 없을 것입니다.
제가 테스트한 결과는 참고할 자료일 뿐 그에 연연하실 필요는 없습니다. 서두에 말씀드렸다시피 상황에 따라 성능은 조금씩 다르게 나올 수 있습니다. 별다른 버그 문제가 없다면, 중요한 것은 "원래 어떤 컴포넌트가 빠르냐?"가 아니라, "지금 프로젝트에서 어떤 컴포넌트가 빠르냐?"이기 때문에, 직접 테스트한 결과에 따르는 것이 당연한 것입니다.
그럼...
변영희 님이 쓰신 글 :
: 1) FIB와 ZEOS 실행 속도
:
: 128 x 128 이미지를 초당 50개정도 저장하는 App를 만들고 있습니다.
:
: 처음에는 이미지 한개 넣을때 마다 트랜잭션을 걸어줬는데 그렇게 하니까 도저히 사용할수 없을것 같더군요
:
: 그래서 이제는 50개 정도 넣고 한번 한번 트랜잭션을 실행해 줍니다.
:
: 이렇게 하니 좀 빨라졌는데.. 실제 같은 루프로 이미지를 넣고 트랜잭션을 실행할때
:
: FIB와 ZEOS가 비슷한 실행 속도가 측정됩니다.
:
: 게시판에 올라와 있는 대부분의 사용자들이 FIB나 IBDac이 빠르다고 해서 속도 측정을 여러번 했는데
:
: 실효성을 찾지 못하고 있습니다.
:
: 제가 트랜잭션을 올바르게 사용하는지 궁금합니다.
:
: 2) 레코드 삭제시 FDB 파일의 용량 변화
:
: 레코드를 무지 많이 삭제 해도 FDB 용량에는 변화가 없습니다.
:
: 이게 원래 FAT를 지우는것과 같이 특정 부분만 지우고 실제로 데이타 영역은 안지우는지 당췌 알수가 없습니다.
:
: 박지훈.임프 님이 쓰신 글 :
: : IBDac의 버전이 낮거나 혹은 fbclient.dll의 버전이 낮아서 그럴 수 있을 거 같네요.
: :
: : 어차피 무료 컴포넌트가 아닌 상용 컴포넌트를 쓰신다면, IBDac보다는 FIBPlus를 추천합니다.
: : 몇달전에 여러가지 성능 테스트를 했었는데, 다른 컴포넌트들보다 탁월한 성능을 내더군요.
: :
: : 참고로, 테스트 결과 빠른 순서는 다음과 같았습니다.
: : FIBPlus > IBObjects > IBExpress > IBDac > dbExpress
: :
: : Zeos는 버전마다 자주 버그 문제가 발생하고 해서 아예 테스트 대상에서 제외켰는데, 아마 IBDac보다 빠르지는 않을 거고, dbExpress보다는 훨씬 빠를 겁니다. (파이어버드에 dbExpress는 다른 어떤 컴포넌트와도 비교조차 안되는 최악의 성능을 보여줍니다)
: :
: : 그럼...
: :
: :
: : 변영희 님이 쓰신 글 :
: : : 2.1에 IBDac을 사용하고자 하는데..
: : :
: : : aaa.fdb connect 후 bbb.fdb를 접속시.. Npt a valid database라고 에러가 나옵니다.
: : :
: : : 물론 aaa.fdb도 bbb.fdb도 다 이상은 없고요..
: : :
: : : 특이한 것은. aaa.fdb connect 후 disconnect 그리고 다시 connect 하는 경우는 아무런 문제가 없는데..
: : :
: : : 다른 db로 접속시.. 에러 메세지가 나옵니다..
: : :
: : : zeos보다 나은것 같아 사용할려 하는데.. 이를 어떻게 풀어야 할까요??
: : :
: : : 읽어 주셔서 감사합니다.
|