4주차 WIL

이기안·2022년 6월 6일
0

WIL

목록 보기
4/5

이제 4주차가 끝났다 오늘의 WIL은 ORM, SQL, noSQL이다

ORM

참고:https://gmlwjd9405.github.io/2019/02/01/orm.html
객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 말한다.

객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용한다.
이때 객체 모델과 관계형 모델 간에 불이치가 존재한는데, ORM을 사용하면 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결 할 수 있따.

ORM의 장점

ORM을 이용하면 SQL Query가 아닌 직관적인 코드(메서드)로 데이터를 조작할 수 있어 개발자가 객체 모델로 프로그래밍하는 데 집중할 수 있도록 도와준다.

객체 모델과 관계형 모델 간에 불일치가 존재한다.
ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한다.

객체 모델과 관계형 모델 간에 불일치가 존재한다.
ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한다.

ORM의 단점

완벽한 ORM 으로만 서비스를 구현하기가 어렵다.

프로시저가 많은 시스템에선 ORM의 객체 지향적인 장점을 활용하기 어렵다

SQL(관계형 데이터베이스)

참고:https://gyoogle.dev/blog/computer-science/data-base/SQL%20&%20NOSQL.html
https://siyoon210.tistory.com/130
SQL은 '구조화 된 쿼리 언어 (Structured Query Language)'의 약자입니다. 그러므로 데이터베이스 자체를 나타내는 것이 아니라, 특정 유형의 데이터베이스와 상호 작용하는 데 사용 하는 쿼리 언어입니다.

SQL을 사용하면 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 저장, 수정, 삭제 및 검색 할 수 있습니다.

SQL의 특징

데이터는 정해진(엄격한) 데이터 스키마 (= structure)를 따라 데이터베이스 테이블에 저장됩니다.
데이터는 관계를 통해서 연결된 여러개의 테이블에 분산됩니다.

SQL 장점

명확하게 정의된 스키마, 데이터 무결성 보장
관계는 각 데이터를 중복없이 한번만 저장

#SQL 단점

덜 유연함. 데이터 스키마를 사전에 계획하고 알려야 함. (나중에 수정하기 힘듬)
관계를 맺고 있어서 조인문이 많은 복잡한 쿼리가 만들어질 수 있음
대체로 수직적 확장만 가능함

NOSQL(비관계형 데이터베이스)

NoSQL은 기본적으로 SQL(관계형 데이터베이스)와 반대되는 접근방식을 따르기 때문에 지어진 이름입니다.

noSQL의 특징

스키마와 관계가 없습니다.

NoSQL 장점

스키마가 없어서 유연함. 언제든지 저장된 데이터를 조정하고 새로운 필드 추가 가능
데이터는 애플리케이션이 필요로 하는 형식으로 저장됨. 데이터 읽어오는 속도 빨라짐
수직 및 수평 확장이 가능해서 애플리케이션이 발생시키는 모든 읽기/쓰기 요청 처리 가능

#NoSQL 단점

유연성으로 인해 데이터 구조 결정을 미루게 될 수 있음
데이터 중복을 계속 업데이트 해야 함
데이터가 여러 컬렉션에 중복되어 있기 때문에 수정 시 모든 컬렉션에서 수행해야 함 (SQL에서는 중복 데이터가 없으므로 한번만 수행이 가능)

profile
node.js 공부중

0개의 댓글