아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
하얀고슴도치236
하얀고슴도치23620.11.09

데이터베이스 시스템간 차이점이 궁금합니다.

데이터베이스 시스템간 차이점이 궁금합니다.

같은 RDBMS 여도 Oracle , MySQL, MS-SQL, MariaDB 등 종류가 여러가지인데

각각의 장단점 및 주요 차이점이나 서로간의 호환성 등이 궁금합니다.

특히나 대부분 소규모 시스템의 경우 MySQL 이나 MariaDB 등 무료 오픈소스 RDB를 사용하는데

규모가 어느정도 큰 시스템은 유료인 Oracle DB를 사용하는 경향이 있는것으로 압니다.

보통 사용해보면 약간씩의 문법차이를 제외하면 크게 와닿는 성능 차이를 느끼지 못하는데...

그렇다고 해당 오픈소스들이 불안정한것도아니고...

굳이 수천만원씩 라이센스비를 주고 유료 데이터베이스를 쓰는 이유는 무엇인가요??

55글자 더 채워주세요.
답변의 개수3개의 답변이 있어요!
  • 안녕하세요 답변 드립니다.

    성능의 큰 차이는 소규모 시스템에 활용할 때는 별로 느끼지 못합니다.

    대용량 데이터 처리를 할 때 그 차이를 확 느끼게 되지요.

    대용량 데이터의 처리효율은 오라클이 더 낫습니다.

    그리고 복잡한 릴레이션을 가진 데이터를 호출할 때 성능이 서서히 떨어지기 시작하는데요,

    오라클리 이 경우 더 좋은 성능을 발휘합니다.

    그 이유로 핵심 설계가 조금 다르기 때문이라고 봐도 되겠네요.

    MySQL 은 nested loop join 이라는 기법을 가진 코어 처리알고리즘을 가지고 있습니다.

    이런 경우 대용량 데이터를 호출해야 되는 상황에서 서브쿼리를 사용했을때

    오라클과 MySQL의 차이가 확연하게 드러납니다.

    nested loop join에 대해서는 상세 설명 내용이 방대해지므로 구글링해보시기를 권장드립니다.

    그리고 라이센스의 문제도 있습니다.

    MySQL은 오픈소스 라이센스로 출발했기 때문에 성능에 문제 발생시 유지보수를 사실상 엔지니어가 자체적으로 합니다. 오라클은 오라클사에서 지원을 해주지요. 그래서 대기업, 공공기관 등에서는 오라클을 선택하는 수순을 밟았던 거구요.

    MS-SQL도 마찬가지로 오라클과 궤를 같이 하는데, 사용자가 늘어나게 된 계기로 주로 닷넷 같은 마이크로소프트 제품군 소프트웨어로 개발하고 서비스할 때 호환되는 경우가 많았습니다.

    결국 구축하려는 시스템의 비용과 성능효율성의 문제가 사용에 주요 영향을 미친 셈이죠.


  • 질문에서처럼 규모가 어느정도 큰 시스템의 경우 데이터베이스가 한개가 아닌 여러개의 데이터베이스를 사용하는 경우가 있습니다.

    읽기 전용으로 사용하는 데이터베이스, 쓰기 전용으로 사용하는 데이터베이스 등으로 부하를 나누는 것이죠

    이럴때 쓰기 전용 데이터베이스에서 데이터가 추가 되거나 변경이 되게 되면 읽기 전용 데이터베이스에 동기화를 해야하는 문제가 생기게 됩니다.

    오라클 데이터베이스는 이런 기능을 쉽게 제공한다고 알고 있습니다.

    물론 다른 데이터베이스도 불가능한 것은 아니지만 개발자가 설정해야하는 부분이 많은 것으로 알고 있습니다.

    DB을 전문적으로 다루지 않다보니 정확하지는 않을 수 있습니다.

    그외에도 오라클이 고급 기능이나 성능면에서 더 좋은 것으로 알고 있습니다.


  • 안녕하세요~! 아하(Aha) 지식답변자 다라닝입니다.

    질문하신 내용에 대하여 아래와 같이 답변 드립니다.

    유지관리에서 제공받는 서비스나 사소한 자동완성부터 성능측정, 프로파일러등에서 차이가 있습니다.

    굳이굳이 찾아서 한다면 없지는 않지만

    제공하는 툴에서 확실히 차이가 나기 때문입니다.

    관리자의 입장이라면 저렴한 데이터베이스가 좋지만

    실무자의 입장이라면 사용하기편한 데이터베이스가 좋죠.

    입장차이가 있습니다. (이부분은 업무효율로 연결됩니다.)

    부족하지만 도움이 되셨기를 바라며 추가적인 문의가 필요하시면 답변 부탁드려요!