답변 감사합니다.
저희 자체 프로젝트에 함 사용해봐야 겠네요.
온라인 게임쪽에서 한번도 사용해 본 경험이 없어서 많이 불안한 것도 사실입니다. 일단 프로젝트에서 사용하여 볼 예정입니다. 당분간은 주력 RDBMS로 사용하기는 힘들 것 같네요 내부 테스트 거치고 외부 용역에 투입해서 게임 업계에 불사조의 저력을 보여야겠군요 ㅎㅎ
가장 중요한 것들은 자료를 모아야하는 일이네요 제대로 사용하기 위해서 여러 가지 준비를 해야할 것 같습니다.
아, 가장 중요한 몇 가지 질문 있습니다.
1. 2~3GB 정도의 DB 운영이 가능한지요?
2. MMDB 형태로 해서 좀 더 빠르게 운영할 수도 있는지요?
3. 게임 서버처럼 빈번하게 데이터를 리얼타임으로 주고 받는 시스템에도 적당한지요?
사실 innodb를 쓰기에도 짜증나고 그렇다고 ms-sql를 쓰자니 비용 문제가 대두되서 여러가지로 곤란한 점이 있습니다.
이번에 한번 테스트하고 점차 게임 업계로 퍼트려 볼 생각입니다. ^^
그럼 수고하세요 ^^
박지훈.임프 님이 쓰신 글 :
: 장점은, 많은데.. 금방 생각나는 것만 몇가지 써보겠습니다.
:
: 먼저, 가장 큰 장점은 완전히 무료다! 라는 거죠. MySQL처럼 어떻게 하면 유료고 불법이다, 그런 거 전혀 없습니다.
: 무조건 무룝니다.
:
: 두번째, 작습니다. 설치를 위해 필요한 파일도 불과 2~3메가 정도로 작고, 메모리를 차지하는 용량도 작습니다.
: 이게 RDBMS라고는 믿기지가 않을 정도로 작습니다. 필요하면 다른 애플리케이션을 배포할 때 설치 프로그램에 같이
: 넣어서 배포하기도 쉽습니다. 또 데이터가 RLE 압축이 되기 때문에 데이터 파일도 작습니다.
:
: 세번째, 빠릅니다. 이건 관점에 따라 다를 수도 있고 또 테스트하는 방법에 따라 다르겠지만, 써보시면 금방 느끼실 겁니다.
: 외국 MySQL 사용자들이 하는 말로는 트랜잭션 지원을 위해 MySQL에서 InnoDB를 사용하게 되면 파이어버드가
: MySQL보다 더 빠르다고 하더군요. (아시다시피 파이어버드는 MySQL과 달리 기본 상태에서 트랜잭션 지원합니다)
: 그리고 로컬 디비인 액세스보다도 빠르다는 것은 일반적으로 인정되는 사실인 것 같습니다. (파라독스보다는 느립니다)
:
: 네번째, 필요하다면 로컬 디비로 쓸 수도 있습니다. 파이어버드 임베디드 서버라는 걸 쓰면 됩니다.
: RDBMS를 로컬 디비로 써야 할 경우는 몇가지 있을 수 있는데, 예를 들면 로컬 디비처럼 외부에서 네트워크로 접근할 수
: 없고 특정 애플리케이션에서만 독점적으로 접근해야 하면서도 업무의 특성상 고급 SQL이 필요한 경우입니다.
: 임베디드 서버의 기능이나 성능은 일반 파이어버드 서버와 완전히 똑같고, 배포도 가볍게 할 수 있습니다.
:
: 다섯번째, UDF라고 하여 사용자 정의 함수를 dll로 만들어 쓸 수 있습니다. 이건 델파이나 C++빌더, 비주얼 C++로 할 수
: 있고 그리 어렵지 않습니다. (MS SQL은 이번 2005 버전에서 지원하기 시작한다고 들은 것 같네요)
:
: 여섯번째, MySQL만큼 다양한 플랫폼 버전이 나와있습니다. 윈도우나 리눅스는 말할 것도 없고 HP UX나 매킨토시,
: 솔라리스 등등등 사용자가 어느정도 되는 플랫폼에는 다 포팅되어 있습니다.
:
: 일곱번째, 백업이 정말 간편합니다. 파이어버드 디비로 일반 서비스를 하는 동안에도 백업을 해도 되고, 그 경우에도
: 그렇게 큰 부하가 추가되지 않으므로 아주 러시아워 시간대만 피한다면 백업은 수시로 해도 됩니다.
:
:
: 물론 단점도 없지 않습니다.
:
: 첫번째, 아직 대중화가 덜 되어 기술 자료가 적은 편입니다. 하지만 최근 들어 파이어버드가 급속도로 전파되고 있더군요.
: 올해 초 에반스 데이터 그룹의 조사에 따르면, 파이어버드가 급성장해서 MySQL을 위협하는 정도라고 합니다.
: 이렇게 성장세를 이어가면 자료의 부족은 계속 나아질 것으로 생각되고요.
:
: 두번째, 서브 쿼리가 안됩니다. 이건 꽤 불편한데... 현재 알파테스팅이 진행중인 파이어버드 2.0에는 추가되었습니다.
: (하지만 알파 테스트 버전은 계속 버그 패치중이므로 불편하다고 쓰기에는 위험이 너무 큽니다)
:
: 세번째, 사소할 수도 있고 심각할 수도 있는 문제지만, 스토어드 프로시저 안에서 트랜잭션을 쓸 수 없습니다.
: 트랜잭션은 무조건 프로시저를 호출하는 클라이언트 프로그램쪽에서 시작하고 커밋해야 합니다.
: 이건 2.0에서 개선 예정인지 어떤지는 알아보지 않았습니다.
:
: 네번째, 이건 어떤 디비이든 주력 디비를 바꾸려면 어쩔 수 없는 부분이긴 하지만 현실적인 부분이죠. 다른 RDBMS와
: 표준 안시 SQL 문법 외의 다른 문법들이 꽤 다릅니다. 물론 MS SQL과 오라클도 이정도로 다르고, MySQL도 마찬가집니다.
: MS SQL을 쓰셨다면 스토어드 프로시저에서 쓰는 문법이 많이 달라서 특히 불편을 많이 느끼실 수 있습니다.
:
:
: 안정성 부분은....
: 지금까지 파이어버드나 그 전신인 인터베이스가 실행중에 뻗는다든지 하는 문제는 들어보지 못했고, 제가 쓰면서도
: 전혀 겪어보지 못했습니다. 하지만 예전 버전의 인터베이스를 썼던 개발자들중 일부가 디비 파일이 깨지는 경우가 있다는
: 얘기가 몇번 나온 적 있습니다. 하지만 이 경우는 모두 서버가 갑작스레 전원이 나간 경우였습니다. 더 안정적인 디비도
: 있을 수 있지만 기본적으로 하드웨어가 갑자기 꺼져버리는 데 대해 완벽한 해결책은 어디에도 없겠죠. 물론 복구 방법은
: 있습니다.
:
:
: 그럼...
:
:
:
: 김호광 님이 쓰신 글 :
: : 파이어버드로 온라인 게임 RDBMS로 사용하려고 합니다.
: :
: : MySQL과 MS-SQL만 사용해서 그러는데 어느 정도 안정성과 성능을 가지고 있는지 궁금합니다.
: :
: : 1. 장점
: :
: : 2. 윈도우 플랫폼에서의 안정성
: :
: : 3. 단점
: :
: : 4. 유지 보수의 특징
: :
: : 사용하는 개발 환경은 .net 2003과 BCB 6( 서브 툴) 입니다.
: :
: : 제가 지식 검색이 약하네요 ...-;;;
: :
: : MS-SQL에서 RDBMS를 변경하려고 시도하는 중이랍니다.
: :
: : 잘 되면 외주 나가는 모든 프로젝트를 변경할 생각입니다.
: :
: : 고수님들의 좋은 답변 부탁 드립니다.
|