대표적인 관계형 데이터베이스 MySQL, OracleDB, Mariadb,
MSSQL, PostgreSQL
데이터를 테이블 구조를 이용하여 보관하고 데이터를 저장,수정,삭제,검색 등을 관리한다.
ORM(Object Relation Mapping)으로 hibernate(자바),sequelize(자바스크립트), typeorm(타입스크립트),
prisma 등을 사용
데이터의 중복을 허용하지 않게해서 정확한 정보를 얻을 수 있고 데이터의 무결성을 보장해서 신뢰성이 있는 데이터를 얻어올 수 있다.
초반에 테이블 설계를 잘못해서 서비스가 확장되고 커진 후에 수정을 하게 된다면 매우 어려워진다.
조인과 같이 테이블의 관계를 지정하여야 하여서 쿼리가 복잡해 질 수 있다.
대표적인 비관계형 데이터베이스 MongoDB, FireBase
noSQL에서는 스키마가 존재하지 않아서 생성이나 수정, 확장 등이 용이하다.
데이터를 문서(객체)형식(컬렉션이라고 부른다고 한다)으로 보관한다.
ODM(Object Document Mapping)으로 mongoose
데이터가 중복이 되어도 알 수가 없다.
데이터의 형식이 불러와서 바로 사용을 가능하므로 처리속도가 빨라진다.
수정을 하게 될 경우 여러 컬렉션에서 수정을 해주어야 한다.