기술면접 대비 8탄 Sql vs NoSql

양진영·2022년 4월 18일
0

데이터베이스에는 크게 두가지 종류가 존재한다. sql과 nosql 두개의 다른 데이터베이스는 상황마다 사용되는 선호도가 달라진다. sql을 먼저 소개하자면 sql은 column과 row의 규격이 뚜렷하여 데이터베이스를 구축하기에 유연성은 많지 않지만 정리에 용이하고 한번 규격을 세워두면 정리하기도 편리하다. sql은 한번 데이터 스키마를 정의 해두면 계속해서 반복해서 사용할수 있기 때문에 서비스에 대한 데이터 설계면에서 Nosql진영의 데이터베이스 보다 이점을 갖는다고 볼수있다. Sql형식을 따르는 데이터베이스는 대표적으로 Mysql, Postgres sql 등이 있다. Sql 쿼리로도 sql을 정리할수 있지만 이는 쿼리문이 길어지고 가독성이 떨어진다는 단점이 있다. 그래서 최근 트렌드는 편리하게 개발자와 데이터베이스를 연결 해주는 ORM을 주로 사용한다. ORM은 object-relational의 줄인말로 언어마다 다른 ORM을 사용한다. 이번 프로젝트를 진행하며 mysql 데이터 베이스를 사용하였고 ORM으로는 typeorm을 사용하여 프로젝트를 진행하였지만 데이터 베이스 마다 다른 ORM을 사용한다. 반면에 nosql은 행과열의 엄격한 규격화에서 벗어나 조금더 유연하게 데이터베이스를 구축할수 있다. 물론 그렇다고 스키마를 정의하지 못한다는 것은 아니지만 안해도 된다는 점이 이점이라고 생각하면 편할것같다. Nosql은 정형화된 데이터베이스는 아니지만 많은 데이터를 빠른 시간안에 처리할수 있다는 이점을 갖고있다. 데이터 설계가 보다 자유로워 비정형데이터 관리에 편하다. MongoDB가 nosql의 대표 데이터베이스 중 하나이다. MongoDB는 데이터를 객체 형태(JSON)로 받아들인다. 데이터가 문서화로 저장되다 보니 점더 이해하기 쉽고 직관적인 형태 그대로 정보를 저장할수있다. MongoDB는 객체형태로 데이터를 저장하는 타입이다 보니 Javascript언어와 호환이 잘되기도 한다.

Sql과 Nosql 둘다 서로 다른 장단점을 갖고있기에 상황상황에 맞는 데이터베이스를 적제 적소에 사용하는것이 좋은 백엔드 개발자가 갖어야할 소양 이라고 생각하며 오늘의 블로그를 마치겠다.

profile
왜? 라는 질문을 중요시하는 서버 개발자입니다

0개의 댓글