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
운영게시판
최근게시물
PostgreSQL Q&A 7446 게시물 읽기
No. 7446
insert 후 select만 일어날때 어떤 DBMS가 가장 빠를까요?
작성자
도재영
작성일
2008-06-21 14:09
조회수
7,566

안녕하세요. 우선 상황을 간략히 설명드리겠습니다. 


우선 원격 DB서버가 있습니다. 그리고 Master 머신이 하나 있고, N 개의 Worker 머신들이 있습니다. 


1) 원격 DB에는 N개의 table이 있습니다. 즉, 한 worker당 한개의 matching되는 table이 있는 것입니다. 각 worker에서는 데이터를을 생성하여(bio 데이터 이므로 양은 꽤 많습니다. ) 자신에게 해당된 table에 data를 insert합니다. 여기서 강조드리고 싶은 점은 원격 DB서버에 동시에 접속해 있지만, 각각의 worker들은 "어느 한 테이블이라도 공유하지 않는다는 것입니다."(이 조건이 cost에 영향을 미칠지는 모르겠습니다.)


2) 각각의 worker가 데이터를 다 insert한뒤엔 worker들은 DB connection을 끊습니다. 그 뒤 Master 머신만 원격 DB서버에 접속한뒤 select 쿼리만을 날립니다. 즉, insert, update, delete가 없습니다.


위와 같은 경우 어떤 DBMS가 가장 유용할까요? 제가 고려하고 있는 DBMS는 postgreSQL, Mysql, SQLLite 이 세가지 인데, 위의 케이스의 경우 어떤 것이 가장 나을지 (혹은 제가 알지 못하는 다른 DBMS가 있다면 추천 부탁드립니다.) 의견들을 알려주실 수 있으신가요?


감사합니다.

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

몇 가지 고려할 사항이 있어 보입니다.


1) tablespace

이런 경우 tablespace 기능을 사용해서 IO를 분산하면 도움이 될 듯 하네요. 지금 정식으로 tablespace 기능을 제공하는 DB는 pgsql 뿐 아닌가요? mysql은 5.1부터인데 아직 RC 버전이고... SQLite에는 없는 것 같습니다.


2) 트렌젝션

insert 작업시 트렌젝션이 필요하다면 pgsql이 유리합니다.


3) 고속 insert

밑의 글에도 있지만 pgsql은 다량의 자료를 고속으로 insert하는 작업에는 mysql이나 sqlite보다 상대적으로 속도가 떨어집니다. 특히 여러 insert 작업을 한 트렌젝션으로 묶지 않고 autocommit인 경우는 더 IO에 부하를 줍니다.


4) 동시 작업

insert 작업이 끝난 후에 select를 마스터만 한다고 했는데 마스터에서 작동하는 프로그램이 다중 프로세스나 다중 쓰레드로 작동해서 동시여 여러 작업을 해야 하는 경우라면 pgsql 쪽이 유리합니다. 다중 작업이 아니거나 다중 작업 수가 많지 않다면 mysql, sqlite쪽이 더 나을 수 있습니다.


5) select query의 복잡도

select만 한다고 하지만 그 select문이 아주 복잡하다면 pgsql이 유리합니다. 단순하다면 mysql이나 sqlite이 더 나을 수 있습니다.


제가 드는 생각은 이정도입니다. ^^


한 줄로 요약하면 "그냥 pgsql 쓰시고 최적화 하세요." ㅡ.ㅡ;;

박성철(gyumee)님이 2008-06-21 16:23에 작성한 댓글입니다.

pgsql은 삽질한 만큼 되돌려주는 DBMS -.-;

pgsql 쓰다 보면 다른 DBMS 못 씁니다 =3=3

신기배(소타)님이 2008-06-21 20:02에 작성한 댓글입니다.

postgresql 상용 제품인 Enterprise DB 기능을 검토 해 보시는 것도 좋을 듯 합니다.
www.enterprisedb.com 으로 가면 advance postgres plus 기능을 검토하시면 됩니다.
Grid 기능을 통해 님의 속도 문제를 해결 할 수 있으리라 봅니다.

곧 한국에서도 Enterprise DB 서비스를 받을 수도록 준비 중인 회사가 있습니다.

이동환(aislu)님이 2008-07-25 11:14에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
7450- [3]
아무개
2008-06-28
6110
7449마이그레이션 : 오라클 to Postgres Plus Advanced Server [1]
윤태영
2008-06-25
8744
7447order by에 관한 질문입니다. [1]
Choi
2008-06-23
6017
7446insert 후 select만 일어날때 어떤 DBMS가 가장 빠를까요? [3]
도재영
2008-06-21
7566
74457.3.4 >> 8.3.3 업그레이드 [1]
김지현
2008-06-19
6757
7443PostgreSQL lib를 이용한 코딩중 PQexec()함수를 쓰는데... [3]
영광
2008-06-17
6480
7442postgreSQL은 MySQL보다 너무 느리다.?? [4]
성실
2008-06-13
7203
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다