NoSQL인가 SQL(RDBMS)인가… 그것이 문제로다

최근의 데이터베이스 분야는 NoSQL이 엄청 떠오르고 있습니다.
(뭐 이것은 NoSQL이다. 이것은 관계형 DB다 이런 구분을 딱딱하게 하자는 내용은 아닙니다.)
그런데 문제는 서비스를 시작할 때, 트렌드인 NoSQL을 할 것인가.
아니면 레거시 시스템 느낌이 나는 RDMBS를 돌릴것인가.
결정하기 어렵다는 것입니다.

인터넷 정보나 책을 찾아보면 좋은 말들은 잘 나옵니다.

RDBMS(SQL)의 장점

스키마가 명확하다.
데이터 무결성이 보장된다.
관계 설정 잘하면 정규화된 데이터를 관리할 수 있다. (데이터 낭비가 없다)
.
.
.

RDMBS(SQL)의 단점

(상대적으로) 유연성이 낮은편이다.
데이터스키마 설계가 정확하게 이뤄져야 한다.
데이터 조회 조건에 따라, JOIN 혹은 SUB QUERY가 매우 복잡하고 느린 쿼리가 만들어진다.
.
.
.
.

이에 반해 NoSQL의 장단점은 거꾸로 생각하시면 됩니다만,
구조가 다르다보니 장단점이 1:1로 정확하게 매칭이 되진 않는 것 같아요.
예를 들면, NoSQL은 Collection 과 Document 기반으로 돌아가다보니, 데이터변경 방식이 다를 수도 있고,
서비스 시작할 때 데이터 설계와 서비스 구조 자체가 아예 다를 수 있습니다.

자 그럼 진짜 중요한 것. 뭘 선택할 것인가.

이 글을 읽으시는 정도면 아마도 학생, 혹은 투잡을 상상하는 컴퓨터공학과 출신이 아닌 프로그래머 등
어거지로 어떻게든 서비스를 만들어나가는 분이 아니실까 싶어요.
(실은 저희 팀 구성원도 뭐 비슷한 수준입니다… ㅠㅠ)

이 분들께 저희의 시행착오와 시간낭비를 경험하고 드리는 말씀입니다.

뭐든 익숙하고 쉽게 되겠다 싶은걸로 시작하세요!

서비스를 빨리 시작해서 자리 잡으세요.
이건 저희 미래클 팀에서는 진리라고 보는 문장인데.

설계를 변경해야 할 만큼 이용자가 많으면, 그건 이미 대박이고 설계 변경할 자본력이 쌓여있을 것이다.

고민마시고, 본인이 아시는 걸로 빨리 시작!
모르겠으면, 인터넷보고 따라하실 수 있는 가장 쉬운것으로 빨리 시작.

(이건 비밀인데, SQL의 장단점, NoSQL의 장단점도 그걸 제대로 잘 쓸 때 얘기지… 우리 수준에선 Don’t care 입니다.)

Categories:

dev

No Responses

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다