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
운영게시판
최근게시물
CUBRID Files 177 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 177
인터넷 쇼핑몰에서의 DBMS 벤치마크 테스트
작성자
정병주(cubrid)
작성일
2006-08-27 10:33ⓒ
2006-08-28 11:38ⓜ
조회수
7,903
첨부파일
파일이름크기Info 
cubrid_bmt.zip298.95 KB  

첨부 문서는 연세대학교 산학협력단 박상현 교수팀이 인터넷 쇼핑몰에서의 DBMS 벤치마크 테스크 수행 결과를 정리한 것으로, 리눅스 상에서 CUBRID, 최상으로 알려진 대표 상용 DB, MySQL을 대상으로 하였습니다. 


벤치마크 항목은 1) DB 사이즈에 따른 초당 실행되는 트랜잭션의 수, 2) 사용자 수에 따른 초당 실행되는 트랜잭션의 수, 3) Query 형태에 따른 트랜잭션 단위의 성능 분석으로, 총 7개의 테스트 set (A~G)으로 구성되어 있습니다.


이 중 A~C set은 10 user로 사용자를 고정하고, A set는 1,000 item, B set는 10,000 item, C set는 100,000 item을 대상으로 테스트를 진행 하였으며, D~F set는 item을 10,000으로 고정하고 D set는 1 user, E set는 10 user, F set는 100 user을 대상으로 테스트가 수행 되었습니다.


자세한 벤치마크 테스트 결과는 첨부 자료를 참고하시기 바랍니다.


* P.S: 첨부 파일을 클릭했을 때 "열기"로 하면 에러가 발생합니다. 무슨 이유인지 잘 모르겠는데, 로컬에 "저장"하여 보시기 바랍니다.

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


테스트에 대해 뭔가 조금 부족한 면이 보이는것 같습니다.
각각의 디비에 따른 적절하고 최적화 된 방법으로 디비를 구현할 것 같은데,
그런 부분이 빠진 테스트가 진정한 의미가 있을지요?
각각 해당db의 전문가들이 어떤업무를 할때 어떤 비슷한 방법으로
제안해서 테스트를 했을때 어떤 결과가 나왔다. 이런것도 재미 있을듯 합니다. 

대표 상용db 는 뭘 말하는 건지요? db2? oracle? sybase? mssql?
뭘 말하는지 모르겠습니다. 

또한 큐브리드가 db2 의 다중서버구성 쿼리 같은것도 큐브리드에서 가능한지요?  mssql 과 같이 SSIS(etl), reporting service, full text , analysis service, 2005의 서비스 브로커 등등의 환상적인 기능에 부합한 기능은 있는지요? 

엔터프라이즈의 기준은 무엇인지도 궁금합니다. 선전하실때 엔터프라이즈급 이며 무료 이다. 라고 선전해서 무엇이 엔터프라이즈의 기준인지 궁금합니다. 잠깐 써보기는 유저 인터페이스가 친숙하지 않아서 이겠지만 상당히 열악해 보였습니다.

* 제가 잠깐 cubrid 를 보았을때 ordb 인것으로 아는데(잠깐 깔아보고 테스트 해봐서 잘 모릅니다.) , 아닌지요? 그럼 ordb 를 그냥 rdb 로 보고 테스트 했다 이말인지요?
* 인덱싱 방법등등 hash join 이 없던것 같은데, 이런거 없이 그냥 nl 조인과 sort merge 조인만 되는건지 ?  왠지 국산 디비라 좀 관심이 갑니다.
* online db reindex 도 가능한지요? 아니면 업무서비스를  다운 시키고 해야 하는지요? 
* mssql 의 페이지나 oracle 의 블락 단위는 큐브리드에서 어느정도 크기인지요?
* io 단위는 어느정도 크기 인지요?
* 큐브리드 디비의 개발에 주안점은 무었인지요? 
(예를 들면 mssql 이 배우기 쉽고 마스터 하기는 어려운 디비이다. 셀프튜닝지원 )

궁금한 점이 있어서 이렇게 글 남깁니다.
친절한 설명좀 부탁 드리겠습니다. 
앞으로 무궁무진한 발전 있기를 바랍니다.

석이님이 2006-08-29 13:36에 작성한 댓글입니다.
이 댓글은 2006-09-15 13:09에 마지막으로 수정되었습니다. Edit

집에와서 방앗간(?)을 지나다가 질문이 있어 그냥 못지나가고 답변을 달아 봅니다.  도움이 되었으면 합니다. 이런 생산적인 질의와 답변이 양성화 되어 큐브리드의 경쟁력을 키우는 요소들이 많이 도출되기를 바래 봅니다.


각각의 디비에 따른 적절하고 최적화 된 방법으로 디비를 구현할 것 같은데, 그런 부분이 빠진 테스트가 진정한 의미가 있을지요?
[답변] 지적하신 부분이 맞습니다. 일반적으로 특정 프로젝트에서 BMT를 한다고 하면 특정 과제를 제시하고 그 환경에 맞추어 최적의 성능을 낼 수 있도록 DB별로 튜닝을 하겠지요. 그러나 큐브리드에 관심을 가지고 있는 고객들의 요구에 의해 공개한 본 BMT 자료는 정부기관에서 학교에 의뢰해 진행한 결과이므로 DB별로 최적의 환경으로 튜닝하고 다이니믹한 결과를 볼 수 있도록 한것이 아니라, TPC-W 인터넷 쇼핑몰 케이스의 시험결과라고 받아 주시면 좋겠습니다. 다음에 기회가 닿으면 말씀하신 방법으로 각 DBMS별로 진행하는 것도 흥미있을 것 같습니다.


대표 상용db 는 뭘 말하는 건지요?
[답변] 대표 상용 DB라고 표기한 것은 DBMS 라이센스 조건에 동의 없는 BMT 결과에 제품명을 표기하는 것을 제한하고 있어 실제 제품명을 표기하지 못한 것입니다. MySQL같은 경우는 그런 제약이 없어 기술하였고요. 이점 양해 바랍니다.


큐브리드가 db2 의 다중서버구성 쿼리 같은것도 큐브리드에서 가능한지요?
[답변] DB2는 다뤄보지 못해 정확한 답변이 안될 것 같습니다.  DB2 Query Patroller를 말씀하시는지 DB2아키텍처 관점에서 프로세스 모델을 말씀하시는지 잘 모르겠습니다. 관련하여 한가지 말씀드릴 수 있는 것은 CUBRID는 멀티 서버인스턴스와 DB인스턴스 구성을 지원합니다. 그리고 여러 DB를 하나로 통합해 즉 Proxy 개념으로 접근할 수 있는 MDBC 기능을 지원합니다.


mssql 과 같이 msis(etl), reporting service, full text , analysis service, 2005의 서비스 브로커 등등의 환상적인 기능에 부합한 기능은 있는지요?
[답변] MS SQL Server는 유저 편의성 측면에서 우수한 DB입니다. 서로 다른 DB를 한쪽의 잣대로 비교한다는 것은 어려운 얘기겠지만 CUBRID도 DB를 개발 운영 관리한는데 필요한 모든 기능은 있다고 말씀드릴 수 있습니다. 그리고 개발자, 고객 관점에서 요구되는 기능들은 계속 계승 발전시켜 나갈 것입니다. 특히 진단 및 모니터링 및 ETL 그리고 상태 Reporting과 같은 기능들은 내년 3월 출시 예정인 7.0에서는 새로운 모습의 CUBRID Manager를 통해 지원될 것입니다.


엔터프라이즈의 기준은 무엇인지도 궁금합니다
[답변] 일반적으로 Personal Edition, Workgroup Edition, Standard Edition, Enterprise Edition 이런 용어를 많이 쓰고 있습니다. 구분은 사용 규모, 지원 Resource 정도 등등에 의해 부분됩니다. 이 측면에서 엔터프라이즈란 것은 기업 환경에서 사용 규모나 리소스에 특별한 제한 없이 사용할 수 있는 것을 말한다고 보면 될 것으로 봅니다. 이 측면에서 엔터프라이즈라고 얘기했다고 보면 될 것입니다. '


제가 잠깐 cubrid 를 보았을때 ordb 인것으로 아는데 아닌지요?
[답변] 큐브리드의 처음 출발은 ORDB로 출발 한 것이 맞습니다. 그래서 처음에는 OO개념을 강조하고 특화된 그리고 앞선 분야로 접근하고 시장을 보았습니다. 그러나 시장은 RDB가 주도를 하고 더욱 견고해 지고 있어 저희도 OR(Object Relation)에서 R쪽으로 선회하고 그 중심으로 제품을 발전시켜 왔습니다. 그래서 지금은 RDBMS라고 합니다. 단지, 이전 고객과 제품의 호환성을 위해 O개념은 그대로 유지되고 있다고 보면 됩니다.


그럼 ordb 를 그냥 rdb 로 보고 테스트 했다 이말인지요?
[답변] 시험은 세DB 모두 동일한 쿼리 즉 RDB로 테스트 되었습니다.


인덱싱 방법등등 hash join 이 없던것 같은데, 이런거 없이 그냥 nl 조인과 sort merge 조인만 되는건지 ? 
[답변] 현재 사용자 측면에서 사용할 수 있는 조인 방법은 Nested Loop Join과 Sort Merge Join에 HINT와 USING INDEX를 통한 질의 최적화를 지원합니다. 말씀하신 Hash Join은 현재 지원되고 있지 않습니다. 향후 로드맵에서 지원되게 되면 자사 홈페이지 PM코너를 통해 알릴 수 있도록 할 것입니다. (참고로 아직 PM코너는 개설되어 있지 않고 현재 작업중입니다. )


online db reindex 도 가능한지요? 아니면 업무서비스를  다운 시키고 해야 하는지요?
[답변] 당연히 Online Reindex가 가능하지요.

 
mssql 의 페이지나 oracle 의 블락 단위는 큐브리드에서 어느정도 크기인지요?
[답변] 큐브리드에서도 Page라는 개념으로 지원합니다. Default 크기는 4K이며 8K 16K 이렇게 변경할 수 있습니다. 이 페이지 크기는 DB를 생성하는 시점에 결정되고 운영 중간에는 변경할 수 없습니다. 만약 변경하고자 할 경우는 unload/load에 의한 재구축 작업을 통해 할 수 있습니다.


io 단위는 어느정도 크기 인지요?
[답변] IO단위는 페이지 크기와 같습니다. 참고로 페이지 크기는 OS IO단위와 데이터의 Page Chain발생하지 않는 정도로 결정하는 것이 좋습니다.


큐브리드 디비의 개발에 주안점은 무었인지요?
[답변] 질문의 의도가 광범위 하여 2가지 측면에서 말씀드리겠습니다.
1. 개발자 측면:
기존 DB 즉 Oracle, MS SQL 등과 같은 DB와 같이 표준 SQL을 그대로 준수하기 때문에 이질감 없고 배우기 쉽습니다. 특히 관리 운영 측면에서 Windows나 Linux 그리고 Unix 계열 모두 쉽게 접근할 수 있다고 볼 수 있습니다. 질문의 본질로 다시 돌아가서 말씀드리면, 큐브리드 DB의 개발의 주안점은 성능이고 성능 측면에서 쿼리가 Index 활용을 잘 할 수 있도록 하는 것이 개발의 주안점이라고 말 할 수 있습니다.

2. 큐브리드 DB개발 측면
큐브리드 DBMS의 개발은 다음과 같은 단계로 개발되고 있습니다.
7.0 : 2007년 3월 발표 예정 : 개발자 편의성 극대화
- 이관점에서 개발자 인터페이스인 CUBRID Manager를 확장 재개발하고 있으며, 여기에는 기존의 Easy-Manager기능 Visual-SQL기능 그리고 진단 및 모니터링, Multi Server Instance관리 등등 기능이 통합 관리 될 것입니다.
- Java Stored Procedure를 지원하여 자바코드를 직접 DB엔진내에서 처리할 수 있도록 지원할 것입니다.
- 그밖에 많은 부분에서 발전된 모습으로 나갈 것입니다. 

8.0 : 2008년 3월 발표 예정 : 인터넷 최적의 DBMS
- 인터넷 환경에서 요구되는 최적의 DBMS를 목표로 합니다.
- 관련하여 대용량 처리 및 극한의 트랜잭션 처리 그리고 클러스터링 등등이 지원될 예정입니다. 

이상으로 급하게 답변을 달아 보았습니다. 큐브리드에 몸담고 있어 알고 있는 몇가지로 답변을 달았는데 혹 추가적으로 더 궁금하신 점 있으시면 댓글 바랍니다. .. ^^

 

백정한(cubrid)님이 2006-08-30 00:53에 작성한 댓글입니다. Edit

잘 모르지만 느낀바를 이야기하고자 적습니다.


현재까지 RDBMS 개발사 중 유일한? 한국 개발인거 같습니다. 맞나요?

(MMDBMS등 임베딩쪽을 제외한다면)


그렇다고 로컬 네임벨류만 가지고 우의를 점하는것은 위험하다고 생각하였습니다.


기존의 UniSql 과는 확실히 다른 면들을 보여주고 계서서 나름 기대가 큽니다.


고객의 소리에 귀를 기울이는 회사 치고 망하는 회사는 보지 못한거 같습니다.


또한 어떤 DB 개발사가 일일이 개발자의 의견을 수립하여 차기버전에 적용하려 할까요?

나름대로 국산DB에서의 장점이라 생각합니다.


거대한 기존의 상용DB(Oracle,DB2,Ms-sql등)과 대등하게 경쟁하기 위한

필수요소로 또는 마케팅의 한수단이라 할지라도

개발자나 엔드유저 모두에게 좋은일 같습니다.



결론은.. 능동적인 대처와 빠른답변들, 뭔가 틀리다는 인식을 주기에는 충분한거 같습니다.


당골이 늘어나면 날수록 ~ 회사는 커지기 마련일테니까요

이창민(Prosper)님이 2006-08-30 11:44에 작성한 댓글입니다.

석이님께서 질문하신 내용 중 많은 부분은 백정한님에 의해 답변이 되었으나, 몇가지 첨언하고자 합니다.

[벤치마크의 적합성에 대하여]
백정한님이 답변하셨듯이 큐브리드가 직접 수행한 것이 아니라는 점에서 저희 제어권 밖이었다는 것도 있지만, 사실 저희는 타제품과의 벤치마크 업무에 우선순위를 두고 있지는 않습니다. 표준 벤치마크는 실제 업무와 많이 다르고, 튜닝에 따라 결과가 크게 다를 수 있어, 큰 신뢰감을 주지 못합니다. TPC의 경우도 이제는 기록깨기 정도의 의미가 있을 뿐, 이 결과를 토대로 제품선정을 하는 경우는 드믄 것 같습니다. 물론, 업무 적용 전에 업무특성을 고려한 커스텀 벤치마크는 중요할 수도 있습니다. 이러한 이유로 저희의 NHN 적용에도 표준 벤치마크가 아닌 NHN용 벤치마크를 별도로 수행하고 있습니다.

[대표상용DB에 대하여]
국내의 경우, 오라클이나 SQL 서버가 벤치마크 결과에 포함되어 발표되는 것을 가끔 봅니다. 이는 별도로 해당사와 협의가 없었다면 명백한 라이센스 위반입니다. 두 제품 뿐만 아니라 대부분의 상용DB는 별도의 허락없이 벤치마크 결과를 발표하지 못하도록 라이센스에 규정하고 있습니다. 앞에 언급한 벤치마크의 허구성 때문에 만든 안전장치라 할 수 있지요. 제가 MS의 SQL서버 엔진팀에 있을 때에도 한번도 오라클과 벤치마크를 수행한 적이 없습니다. 단지 TPC 기록깨기에 최선을 다할 뿐입니다. 최상의 대표상용DB라고 표현한 것은 누구나 짐작하는 DBMS이지만 그래도 문자화할 수 없는 라이센스를 준수하기 위함이었습니다.

[환상적인 기능에 대하여]
말씀하신 기능은 거의 모두 현재 계획되어 있지 않습니다. 그 보다는 우리는 DB 엔진, 관리도구, 개발API에 집중할 것이고, reporting services, full text, analysis services, integration services 등은 제3의 패키지회사 (실은 이 영역에 별도의 회사가 이미 수도 없이 많습니다)와 공생하는 전략으로 나갈 것입니다.

[엔터프라이즈 기준]
여러 가지 기준과 수준이 있겠지만, 단순한 질의, 모델링, 저장 차원을 넘어서서, 대용량, 가용성, 보안, 확장성 등을 꼽을 수 있습니다. 적용 규모 측면에서 오라클에 비해 떨어질지는 모르겠으나, DB크기, 동시사용자규모, HA, row-level 잠금, transaction log에 기반을 둔 incremental online backup, 사용자 권한 관리, 내부자 보안, 64bit 등, 큐브리드는 이러한 측면에서 엔터프라이즈급이라 할 수 있습니다. 예를 들어, NEIS 적용사례는 서버 및 DB 규모, 가용성, 보안 등의 측면에서 엔터프라이즈급이라 할 수 있습니다.

[ORDB/RDB에 대하여]
이 부분은 해묵은 논쟁입니다. 이제는 ORDB가 아닌 RDB가 없습니다. 단지 정도의 차이일 뿐입니다. 그러니, ORDB라는 말도 굳이 사용하지 않습니다. 한가지 주의할 것은 ORDB는 RDB를 내포하고 있다는 점입니다. 같은 것을 다르게 한다는 뜻이 아니고, RDB로 할 수 있는 것은 RDB 기능으로, ODB로 해야하는 것은 ODB 개념으로 한다는 뜻입니다. DBBench는 RDB 업무이기 때문에 ORDB를 사용하든 RDB를 사용하든 RDB 기능을 시험하는 것이지요. 예를 들어, 만약, DBBench에 ADT 기능이 포함되어 있다면, 오라클을 사용해도 ORDB 기능의 시험이 되겠지요.

[큐브리드 DB개발의 주안점에 대하여]
저는 DBMS는 플랫폼으로서 이미 그 기능이 성숙되었다고 봅니다. 즉, 10년이 지나도 지금과 크게 다르지 않은 기능일 것으로 봅니다. MySQL5.0 및 몇가지 괜찮은 공개 DBMS의 성장은 DBMS 기능의 commodity화를 재촉할 것입니다. 큐브리드의 기능은 이미 MySQL 차원을 넘어서서 오라클, SQL서버에 근접하고 있습니다. 향후 2년 정도면 기능, 성능 면에서 제품을 선택하는 것이 아니라 서비스(이것도 따지고 보면 제품임)로 선택하는 사례가 늘어날 것으로 봅니다. 기능의 commodity화는 극심한 경쟁을 유발하고, 결국 가격정책과 서비스정책으로 판가름 날 것으로 봅니다. 이러한 점에서 큐브리드 DB개발의 주안점은 commodity화에 일조하면서 그 대열에 서는 것입니다. 이를 위해 제품측면에서는 현재 DBMS 수요가 폭발적으로 늘어나고 있는 인터넷 서비스 분야(주로 MySQL이 사용되다보니 매출규모의 시장분석에서는 잡히지도 않고 있지만)에서 최적의 DBMS를 만들고, 서비스 경쟁력 확보를 위해 고객중심의 제품개발, 고품질 서비스 상품 등에 노력하고 있습니다.

하여튼, 석이님 감사드리고, 항상 관심있게 개선점을 제시해주시기 바랍니다.

김평철님이 2006-08-30 14:12에 작성한 댓글입니다. Edit

두분의 답변 잘 들었습니다.
정말 멋진 우리나라 디비 이군요
빨리 배워서 한번 써보고 싶습니다. ^^

정성어린 답변 감사합니다.

석이님이 2006-09-02 11:56에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
234큐브리드 7.0 출시 및 제품 다운로드 안내 [1]
정병주
2007-04-12
7392
211CUBRID 6.6 출시 및 제품 다운로드 안내
백정한
2006-12-13
6926
194큐브리드용 제로보드 4.1
정병주
2006-10-11
6293
177인터넷 쇼핑몰에서의 DBMS 벤치마크 테스트 [5]
정병주
2006-08-27
7903
175[필독] CUBRID 다운로드 공지
정병주
2006-08-14
6387
165CUBRID 6.5 for Linux
정병주
2006-06-18
6229
164CUBRID 6.5 for Windows
정병주
2006-06-18
6307
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.048초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다