RDBMS
- 관계형 데이터 베이스
명확한 데이터 형식과 구조로 데이터 무결성 보장
데이터 중복제거로 메모리 절약 가능
But, MariaDB등 오픈소스도 많이 나오고 있지만 아직까지는 유료인 경우가 많음
시스템이 복잡해질수록 설계도 어렵고 쿼리가 복잡해짐에 따라 성능도 저하됨
추후 확장 시 한계에 부딪힐 수 있음.
NoSQL
- 말그대로 관계가 없음
복잡한 테이블 구조를 신경쓰지 않음. 즉 특정 형식을 정하지 않아도 됨.
분산처리로 RDBMS보다 빠른 처리 가능.
자주 변경하지 않는 데이터들이 많을 시 유리.
시시각각 많은 양의 트래픽과 글들이 쏟아지는 SNS는 대부분 NoSQL을 사용하는 추세.
But, 가장 유명한 MongoDB 등 오픈소스로 무료 사용 가능하나, 분산처리(병렬)을 위한 하드웨어 초기 구성비용이 많이 듬.
또한 TeraByte 이상의 데이터 처리시 실질적인 속도의 차이를 느낄 수 있음.
형식과 구조에서 자유롭지만, 사실상 데이터의 형식을 어느정도 맞춰줘야 사용 가능. 맞춰주지 않을 시 추후 처리 로직이 필요해 NoSQL의 장점인 빠른 속도가 의미가 없어짐.
그동안 여러 프로젝트를 진행하면서 RDBMS와 NoSQL 모두 사용해 보았는데,
NoSQL이 개발속도는 좀더 빠를 수 있으나 트래픽이 적은 개인 프로젝트에는 딱히 필요성을 느끼지 못했다.
속도의 차이를 느낄만큼 복잡한 구조의 프로젝트들도 아니였고 NoSQL은 익숙하지 않다보니 중복데이터가 많이 들어가는 현상도 발생했다.
개인적인 생각이지만 하루 이틀만에 뚝딱 할 만큼 작은 토이프로젝트가 아닌 이상
학생이나 배우는 입장에서는 RDBMS가 좀더 편한 것 같다.