실무에서 어떤 DB가 많이 사용되나요?
주로 오라클 DB로 공부하고 있었는데
오라클 정책 사항 등이 변경되면서 회사들이 주로 mysql이나 mariaDB 등등
다른 데이터베이스로 바꾸고 있다고 들어서요..
현직 개발자이신 분들이 다니시는 회사에서는 어떤 디비를 주로 쓰는지 궁금합니다.
기본적으로 mysql 과 오라클 등은 기본 명령어등은 limit 이나 rownum 등 몇 구문을 제외하고는 거의 비슷합니다. 오라클 등에 pivot 등 강력한 함수들이 추가되긴하지만 이게 얼마든지 커스텀 함수등으로 mysql 등에서도 구현은 가능하구요.
따라서 공부가 목적인 경우 굳이 DB에 크게 구애받지않아도 관계형 DB에서는 충분히 다 도움이 됩니다.
또한 오라클과 mysql 은 한국에서는 프로젝트마다 바뀔정도로 둘다 굉장히 분포도가 높기때문에 굳이 한가지만 죽어라 해야할정도로 점유율이 서로 낮지가 않습니다.
굳이 따지자면 금융권, 대기업 등 덩치가 좀 있거나 안전성이 최우선인 곳들은 비싼 라이센스비를 내더라도 오라클+토드를 선호하는 편이구요.
중소~중견 정도까지는 mysql 을 상대적으로 많이 사용하긴합니다.
다만 말씀드린것처럼 아래의 이유들로 크게 고민하지않으셔도될것같습니다.
오라클 / mysql 둘 다 하나만 할줄알아도 나머지 하나 익히는 시간이 별로 안들어감
둘 다 한국에서 굉장히 높은 수준에 점유율을 가지고있어서 굳이 한쪽을 쓰는곳을 골라가더라도 전혀 지장이 없음
업무 직군마다 조금 상이한 부분이 있습니다.
글로벌이나 국내나 점유율 상으로 보면 아직까진 오라클DB가 많습니다. 다만, 그 추세가 점점 감소하여 조금씩 떨어지는 부분은 있습니다.
제 1/2금융권 경우 아직까지 주요 시스템(기간계 또는 계정계)에는 여전히 오라클 DB는 굳건하다고 생각되고, 2금융권 중 증권사의 경우 주문시스템은 처리속도가 중요하기 때문에 RDBMS 보다는 InMemoryDB 사용률이 높습니다.
오라클 정책 상 Enterprise, RAC 등을 사용을 하면 비용이 높아져 차선으로 국산 DB인 Tibero 검토도 많이 하는 상황이긴 하나, 여전히 점유율은 넘사벽이라고 생각합니다.
오픈소스 DB 로 많이들 넘어간다라는 얘기가 심심치 않게 들리긴 하지만, 그 대상이 비중요 시스템, 단위시스템인 경우가 아직까진 많습니다.
요즘 트렌드에 따라 클라우드시스템으로 넘어가면서 오라클 비용이 만만치 않아 고려가 많이 되긴 하지만, 최근 오라클사에서도 클라우드시장에 뛰어 들면서 그에 맞는 정책을 내놓았기 때문에 쉽사리 내려오진 않을 듯 합니다. (실제로 오라클 클라우드를 사용하면서 RAC 를 쓸 수 있다라는 강점으로 영업을 한다고 합니다...이는 무시 못하지요..)
솔루션 업체에서는 데이터 저장소로 요즘엔 PostgresSQL 을 많이 사용하는 듯 합니다. PostgresSQL 에 대한 언급이나 세미나 등도 많아졌고요.
DB 종류도 많아져서...RDBMS, InMemoryDB, NoSQL 등...업무, 개발목적에 맞는 DB 선택이 되어야 겠죠.
쿠팡 장애 사태에 대해서 조금 찾아보시면 아시겠지만, 문제 원인으로 RedisDB 의 버그라는 얘기가 있습니다.
사례에서 보시듯 오픈소스 솔루션에 대한 도입은 리스크관리가 철저히 되지 않으면, 큰 장애로 이어지기 때문에 충분한 검토가 필요한 부분입니다.
도움이 되었으면 좋겠네요.
문의하신 답변에 대해 답변을 드리자면, 제가 소속된 회사의 경우 오라클을 사용합니다.
그리고...번외로..알려드리자면 회사마다 많이 다를수 있습니다.
회사 사업분류에 따라서 어떻게 나뉘는지 부터 알려드릴께요.
CASE 1. SI
고객사의 규모에 따라 DBMS를 정하는 경우가 있습니다. 오라클을 주로 많이 사용합니다.
그리고, 단가를 높게 내기 위해서 오라클을 사용하는 경우도 많이 있습니다.
(이 부분은 회사마다 틀리지만 개인적인 견해임을 알려드립니다.)
CASE 2. SOLUTION
자체 솔루션을 개발하여 판매를 하거나, 그 솔루션을 커스텀하여 판매하는 회사는
오라클을 사용하는 경우가 드뭅니다.
주로 Mysql계열을 사용합니다. 마리아db나 몽고db 등..
메인터넌스 지원은 안되지만 무료라서 사용하죠. (사실 메인터넌스지원까진 필요없으니....)
SQL-SERVER를 사용하는 회사가 있는 경우가 있는데, 이런 회사의 경우
WINDOW SERVER IIS와 같이 운용하며, 스플라 라이센스로 인해 막대한 비용을 소비하고 있습니다.
그로 인해, 비용감축 등 기업경영에 어려움을 겪는 회사도 많지요.
DB를 공부하실때, 오라클이나 SQL-SERVER(MSSQL)등 다양하게 공부하시는건 좋지만,
그래도..쿼리를 작성하실때, ANSI표준 쿼리로 작성하는 법.. 위주로 공부하시는것을 추천드립니다.
오라클에서만 지원되는 쿼리..MSSQL에서 지원되는 쿼리 등 해당 DBMS에서만 지원되는 쿼리만을
공부하시다간, 이직하셔서 힘드실겁니다.
구글링하실때 항상 ANSI표준쿼리 위주로 찾으시면서 공부하시길 바라며, 공부 하시는데
도움되셨으면 좋겠네요.