on
짜장면과 짬뽕 (SQL과 NoSQL)
데이터 베이스란?
데이터베이스는 일반적으로 컴퓨터 시스템에 전자적으로 저장되는 구조화된 정보 또는 데이터의 모음이라고 할 수 있다. 데이터베이스는 일반적으로 데이터베이스 관리 시스템(DBMS)에 의해 제어되는데 이때 데이터와 DBMS를 하나로 묶어 데이터베이스 시스템이라고 하며 단축하여 데이터베이스라고도 부른다.
마치 엑셀 스프레드 시트와 같이 열과 행의 형태로 정보를 관리, 수정, 업데이트를 할 수 있는 시스템이라고 생각할 수 있다.
SQL(관계형 데이터 베이스)
관계형 데이터베이스는 1980년대 부터 현재까지 사용되는 데이터 베이스이다. 관계형 데이터베이스의 항목은 엑셀처럼 열과 행이 있는 테이블 집합으로 구성되어 있습니다. 일반적으로 DB, 데이타베이스 라고 부를 경우 관계형 데이터 베이스를 지칭하는 경우가 많다.
SQL(관계형 데이터 베이스) 장점)
- 관계형 데이터베이스 관리 시스템의 장점
단순하지만 강력한 관계형 모델은 광범위한 정보 요구를 해결하기 위해 유형과 규모에 관계 없이 모든 조직에서 사용됩니다. 관계형 데이터베이스는 재고를 추적하고, 전자 상거래 트랜잭션을 처리하고, 엄청난 양의 미션 크리티컬한 고객 정보를 관리하는 데 사용됩니다. 데이터 포인트를 서로 연결하고 규칙을 기반으로 안전하고 일관된 방식으로 관리하기 위해 필요한 모든 정보에서 관계형 데이터베이스를 고려할 수 있습니다.
관계형 데이터베이스는 1970년대부터 사용되어 왔습니다. 관계형 모델은 이러한 장점 덕분에 오늘날에도 데이터베이스에서 가장 널리 채택되는 모델로 계속해 자리매김하고 있습니다.
NoSQL(비관계형 데이터 베이스)
말그대로 관계형 DB의 반대인 데이터 베이스이다.
SQL과 차이점이 있는데, SQL은 정해진 스키마를 따르지 않으면 데이터 추가가 불가능했다. 하지만 NoSQL에서는 다른 구조의 데이터를 같은 컬렉션에 추가가 가능하다. 문서(documents)는 Json과 비슷한 형태로 가지고 있다. 관계형 데이터베이스처럼 여러 테이블에 나누어담지 않고, 관련 데이터를 동일한 ‘컬렉션’에 넣는다.
어떤 데이터 베이스를 사용해야 하는가?
관계형 데이터베이스와 비관계형 데이터 베이스는 누가 더 좋고 나쁨의 관계가 아니다. 그래서 정보의 유형이나 서비스의 종류에 따라 적합한 데이터베이스를 선택하여 사용하는 것이 중요하다.
SQL 데이터베이스 사용이 더 좋을 때
- 관계를 맺고 있는 데이터가 자주 변경되는 서비스 인 경우
- 변경될 여지가 없고, 명확한 스키마가 사용자와 데이터에게 중요한 경우
NoSQL 데이터베이스 사용이 더 좋을 때
- 정확한 데이터 구조를 알 수 없거나 변경/확장 될 수 있는 경우
- 읽기를 자주 하지만, 데이터 변경은 자주 없는 경우
- 데이터베이스를 수평으로 확장해야 하는 경우 (막대한 양의 데이터를 다뤄야 하는 경우)