SQL은 테이블 아래 필드(콜럼 즉 속성 종류들)과 레코드(로우 여러 항목들이 있다)
아래로 추가되는 새로운 레코드들은 이전의 레코드들과 동일한 필드값을 가져야한다. 비록 그게 빈값일지라도.
즉 모든 레코드들이 동일한 스키마를 가져야 한다. 즉 같은 데이블의 레코드들은 모두 동일한 스키마를 가져야 하는데, 이제 여기서 릴레이션이란 개념이 나온다.
여러 서로 다른 테이블은 각각의 스키마를 갖는다. 그리고 아래처럼 Users 테이블과 Products 테이블 각각에서 정보를 이용해 Orders 테이블의 레코드를 특정할수 있다.
즉 SQL은 strict schema와 relation이 가장 큰 두가지 특징이다.
여기서 릴레이션 즉, 테이블과 테이블 사이의 관계는 매우 다양한 조합이 있다.
그니까 시쿠얼한 데이터들을 이용해 릴레이션을 통해 원하는 조합을 찾고 만들어내는것.
음 그니까 중요한게 같은 collections 아래에 documents에 있는 데이터들은 같은 스키마를 가질 필요가없다.
정해진 스키마가 없어서, 새로운 데이터 추가가 매우 쉽다.
그리고 릴레이션이 없다. 그냥 콜렉션만 있다.
장점은 필요한 데이터를 콜렉션에 맘대로 넣을수 있긴한데, 릴레이션이 적어서, 쿼링이 빠르겠지.
단점은 중복되는 데이터가 존재할수 있음.
리드는 많고, 라이트가 적으면 좋은 방법일수 있다.
음 정확히 잘모르겠다. 릴레이션이 없는게 sql 단점같은데, 그게 어떤 결과를 내는지 모르겠고 , 음? 중복 관리가 안되는건가 그래서.
nosql이 읽기 쓰기가 매우 빠른건 알겠다.