관계형 디비? ORACLE VS POSTGRESQL

just_kid의 이미지

요번에 데이타베이스에 대해서 공부를 할려고 하는데...

우리나라에서 가장 많이 사용되어지는 오라클과

공짜지만 나름대로 멋지다고 알려진 POSTGRESQL 중에서

공부할려고 합니다..

둘 중에 어느 것이 가장 우수하고 좋다라고 말은 못하겠지만...

그래도 통용성 혹은 사회성 이라고 해야하나... 아무튼... 그런 쪽에 관한

것으로 POSTGRESQL보다 지지도도 좋고 용량도 큰 ORACLE을 선택해야

할까요? 음... 용량이 크면 오히려 성능이 더 낮지 않을까요?

알고싶습니다... 어느쪽을 공부하는 것이 더 도움이 될지...

nohmad의 이미지

just_kid wrote:
요번에 데이타베이스에 대해서 공부를 할려고 하는데...

우리나라에서 가장 많이 사용되어지는 오라클과

공짜지만 나름대로 멋지다고 알려진 POSTGRESQL 중에서

공부할려고 합니다..

둘 중에 어느 것이 가장 우수하고 좋다라고 말은 못하겠지만...

그래도 통용성 혹은 사회성 이라고 해야하나... 아무튼... 그런 쪽에 관한

것으로 POSTGRESQL보다 지지도도 좋고 용량도 큰 ORACLE을 선택해야

할까요? 음... 용량이 크면 오히려 성능이 더 낮지 않을까요?

알고싶습니다... 어느쪽을 공부하는 것이 더 도움이 될지...

오라클의 아성도 이미 무너지고 있지 않나요?
지금대로 가다가는 3-4년 후에는 별 볼일 없는 업체로 전락하지 않을까 싶습니다.

오픈소스 시스템이 연구자들에게 특히 좋은 것이...
성능은 떨어지더라도, 표준을 잘 지키고, 벤더-의존적인 부분이 덜 하다는...
뭐 그런 것 아닐까요?
단순히 DBMS를 공부하기 위해 그 무거운 오라클을 개인 PC에 까는 건 낭비 같다는 생각입니다.

서지훈의 이미지

뭐... 다들 나름대로의 장점이 있지만...
일다은 오픈소스의 경우엔 빠른 패치와 달라 진 점을 바로바로 확인이 가능하고...
그리고 자신이 원하는 되로 수정을 해서 사용을 할 수가 있는 장점이 있습니다.
그러나 killer가 되기에는 좀 부족한 면들이 있지 않나 생각을 합니다.
안정성이나 포퍼먼스는 아직 상용에 비해 떨어 지지 않나 생각을 합니다.
물론 다 그런건 아니지만 대체적으로...
오라클 같은 경우만 하더라도 여타 다른 DBMS보다도 성능이나 기능이 다른 어떤거 보다 현재로서는 낫지 않나 보고 있습니다.
제가 뭐 다 써본건 아니지만 여기 저기 벤치마킹 한 정보들이라든지 문서들을 보면은...
근데... 기능이라던지 포퍼먼스 한 가지에 특화를 한것에는 미치지못하나...
역시 여러가지 복합적인 면에서 좋은 성능을 내는것 같습니다.
한 예로 오라클의 포퍼먼스가 여러가지 기능을 갖추고 있으면서도 MySQL과 거의 비슷한 수준입니다(한 벤치 마크에 의하면-이게 아마 MySQL 사이트엔가 있을 겁니다).
여러분들도 알다시피 MySQL은 여러 기능은 버리고 포퍼먼스에 특화를 시킨 DBMS입니다.

<어떠한 역경에도 굴하지 않는 '하양 지훈'>

#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);

jedi의 이미지

제가 생각 하기에는 "기본에 충실해야한다." 이것이 중요하지 않을까합니다.

특히 배우시려고 하신다면 SQL표준을 준수하고 있는 것을 이용하면 표준을 확실히 익히는 것을 먼저해야 할것 같습니다.

표준, 기본을 알면 어느것으로든 적용하는데 어려움이 없지 않을까요?

성능은 그다음에 따져도 늦은것이 아니라고 생각합니다.

어차피 "화무십일홍"입니다. 한곳에 집착하면 자신도 그것과 운명을 같이하게 되죠.

인간이 피조물인 물건과 운명을 같이할순 없지 않겠습니까?

--

나는 독자들에게 <민들레>를 볼 것을 권한다. `삭발 시퀀스' 혹은 <민들레>의
다른 모든 시퀀스에 대한 설명을 부러 생략하는 이유는 바로 그 때문이다.
<민들레>를 보는 우리는 90년대 후반의 정신적 더께를 벗겨낼 수 있다.
<민들레>는 영화가 아니라 현실이다. 우리가 잊고 사는 바로 그 현실말이다.
-- 김규항, <민들레> 중에서, 1999년
민들레 동영상 스트리밍: http://www.cfocus.net/redsnowman/snowman3.asx

+++ 여기부터는 서명입니다. +++
국가 기구의 존속을 위한 최소한의 세금만을 내고, 전체 인민들이 균등한 삶을
영위할 수 있는 착취가 없는 혁명의 그날은 언제나 올 것인가!
-- 조정래, <태백산맥> 중에서, 1986년

hyunuck의 이미지

뭔가 비교가 약간 잘못되었다고 생각합니다. :D

Oracle 은 Enterprise급 DB입니다.
IBM DB2나 Infomix, MsSQL 등도 Enterprise급 DB지요.
이러한 대형DB 들은 몇만건 혹은 몇십만건의 자료를 처리하는데는
일반적으로 잘 알려진 PGSQL 이나 MySQL 보다 당연히 느립니다.
(물론 어떠한 작업을 하느냐에 따라 다르겠지만, 일반적으로 최적화된 작업을 한다고 가정했을때 이야기 입니다.)

PGSQL 이나 MySQL, MS Access 는 중소형 DB입니다.
수천만건의 자료를 수시로 다룬다면 결코 고려의 대상도 아닙니다.
트랜잭션이나 보안, 백업기능도 Oracle 과는 비교 조차 되지 못합니다.

또 대형 DB들은 대부분 표준 SQL을 충실히 지원하고 있고(물론 오픈소스 DB도 마찬가지지요), 퍼포먼스를 말씀하셨는데 그 퍼포먼스 때문에 확장된 쿼리문을 자체 개발해서 적용해 사용하기때문에 제품마다 조금씩 다른 것 입니다.

중요한것은 어떤 작업을 할 것이며, 얼마나 많은양의 데이터를 다루냐는 것 입니다. DBMS별로 특화된 작업에 따른 퍼포먼스도 조금씩 다르기 때문입니다.

그냥 단지 개인적인 용도로 DB를 사용하고싶다면 PGSQL을 공부하시는게 편하실테고,
DB를 체계적으로 공부하고자 하신다면 Oracle 이상은 없다고 생각합니다.

hurryon의 이미지

오라클에 한표을 던집니다.

얼마전에 있었던 일입니다면 프로젝트을 수행하는데 DBMS을 무엇으로
선택할지 결정할때 PG-SQL과 오라클을 고려했었습니다면 결론은
오라클로 나더군요.

ㅡㅡ;

이유는 성능과는 상관없이 대표적인 성공사례가 있는지였습니다. 물론 외국이
아닌 국내에서 말입니다. 또한 오라클을 다룰수 있는 사람은 많습니다. 하지만
PG-SQL을 다룰수 있는 사람은? 저희 주위에는 없더군요.

zltek의 이미지

just_kid wrote:
요번에 데이타베이스에 대해서 공부를 할려고 하는데...

우리나라에서 가장 많이 사용되어지는 오라클과

공짜지만 나름대로 멋지다고 알려진 POSTGRESQL 중에서

공부할려고 합니다..


상관 없는 글입니다만.. '사용되어지는'이 아니라 '사용하는' 이죠..

"no error was found with his codes"

digitie의 이미지

위에 답변을 다신분들께서 말씀하셨지만 포스테그스큐엘(이하 pgsql)과 오라클은 급이 다릅니다. 성능은 물론이고 기능면에서도 아직 부족한게 많습니다.

하지만 SQL을 배우고 싶으시다면 pgsql을 추천합니다. 아무래도 pgsql쪽이 SQL표준을 잘 지키려고 노력을 하지요.
트리거나 view 같은 기능도 맛볼 수 있습니다. 그리고 개인용PC에 깔아서 쓰기엔 오라클이 너무 무겁다는 것도 중요한 이유가 되겠습니다.

다만 pgsql이 native win32 포트가 없어 cygwin으로 써야 하는 불편함이 있기는 합니다. :(

그리고 여담입니다만 3gb가량의 mssql데이터(및 sp)를 pgsql로 성공적으로 옮겼다는 메세지를 메일링 리스트에서 본 기억이 있습니다.
mssql시절보다 속도가 더 잘나와서 놀랬다는 코멘트도 있더군요 8)

showmethemoney

kwon37xi의 이미지

DB를 공부하신다길래 그냥 써봅니다.
기존의 RDBMS말고 XML 데이터베이스도 있습니다.
Sonic Software의 XIS(구 eXcelon)이란건데..
상당히 재밌군요.
우리나라에도 XML관련 서적에 보면 띄엄띄엄 소개돼 있습니다.

XML을주로 다룬다면 한 번 써볼만한 DB입니다. 흠.. 쿼리도 XML로 날리구..

참.. 언어는 주로 JAVA를 지원합니다. 딴거도 지원한다는데 JAVA중심이고 제가 자바밖에 할 줄몰라서..

윈도우와 리눅스 솔라리스 등을 지원합니다.

digitie의 이미지

kwon37xi wrote:

기존의 RDBMS말고 XML 데이터베이스도 있습니다.

http://xml.apache.org/xindice/

http://www.sleepycat.com/products/xml.shtml

이 두곳도 참고하시면 좋을 듯 합니다.

showmethemoney

M.W.Park의 이미지

kwon37xi wrote:
DB를 공부하신다길래 그냥 써봅니다.
기존의 RDBMS말고 XML 데이터베이스도 있습니다.
Sonic Software의 XIS(구 eXcelon)이란건데..
상당히 재밌군요.
우리나라에도 XML관련 서적에 보면 띄엄띄엄 소개돼 있습니다.

XML을주로 다룬다면 한 번 써볼만한 DB입니다. 흠.. 쿼리도 XML로 날리구..

참.. 언어는 주로 JAVA를 지원합니다. 딴거도 지원한다는데 JAVA중심이고 제가 자바밖에 할 줄몰라서..

윈도우와 리눅스 솔라리스 등을 지원합니다.

[제가 쓰면서 직접적으로 느낀점]
느립니다. 안정적이지 못합니다. 클라이언트 사이드에서 transaction 기능 사용못합니다(client session으로는 transaction이 지원되지 않습니다. local session에서만 지원됩니다).
가끔은 접속시도하면 아무 exception도 없이 block상태로 있습니다.
무슨 인코딩으로 입력하든 들어가면 무조건 UTF-8로 바뀝니다.
이거 정말 골때리는(?) DB죠... -_-;

[주위사람들의 간접적 증언]
캐쉬 설정해도 속도가 전혀 향상되지 않거나 오히려 느려진다.
DXEmanager(GUI 클라이언트)에서 디렉토리 생성후 바로 이름을 바꿀때 기존에 있는 이름을 주면, 둘다 날아간다... -_-;; (작위적이지만... 이건 미국 본사에 보고한다더군요.)
웹스피어랑 같이 쓸 때 jar 중에 충돌일으키는 놈이 있다.

[공통된 의견]
공부할 때는 모르겠지만, 실제 프로젝트에선 쓸만한게 못된다(개발기간이라 이거저거 많이 해봐서 그런진 몰라도 상당히 잘 죽습니다).
어디 대학 연구실에서 프로젝트한거 조금 손본 수준이지 DB라고 말하기 힘들다(이건 좀 심한 표현일지도...).

-----
오늘 의 취미는 끝없는, 끝없는 인내다. 1973 法頂