데이터베이스(Database)
데이터베이스는 구조화된 데이터를 저장, 관리 및 검색할 수 있는 시스템이다.
데이터베이스는 일반적으로 관계형 데이터베이스(RDBMS)와 NoSQL 데이터베이스로 구분할 수 있다
관계형 데이터베이스
테이블과 같은 개체를 사용하여 데이터를 구조화한다.
SQL를 사용하여 데이터에 접근 및 조작을 수행한다.
대표적으로 MySQL, PostgreSQL, Oracle 등이 있다.
NoSQL 데이터베이스
비관계형 구조를 가지며 문서, 그래프, 키-값 쌍 등 다양한 데이터 모델을 사용한다.
NoSQL 데이터베이스는 확장성이 뛰어나고, 대용량 데이터를 처리하기에 적합한 경우가 많다.
대표적으로 MongoDB, Redis 등이 있다.
ORM(Object Relational Mapping)
ORM은 객체 지향 프로그래밍 언어와 관계형 데이터베이스 사이의 호환성 문제를 해결하기 위한 프로그래밍 기법이다.
ORM을 사용하면 개발자는 객체 관계형 데이터베이스의 테이블 간의 매핑을 설정해 데이터베이스에 대해 직접 쿼리를 작성하지 않아도 객체를 사용해 데이터를 관리할 수 있다.
ORM 장점
코드 간결성 : 데이터베이스 관련 코드가 줄어들며 가독성이 향상된다.
유지 보수성 : 객체 지향 방식을 사용해 코드의 재사용성 및 유지 보수성이 향상된다.
데이터베이스 독립성 : ORM을 사용하면 데이터베이스 변경 시 애플리케이션 코드에 미치는 영향이 최소화 된다.
ORM 단점
성능 : ORM의 추상화로 인해 SQL 쿼리 최적화가 어렵다.
복잡한 쿼리 작성의 어려움 : ORM은 간단한 CRUD 작업에는 적합하지만 복잡한 쿼리 작성에는 제한이 있다.
자바스크립트에서 Sequelize가 대표적이고 타입스크립트는 TypeORM이 대표적이다.
'과거공부모음' 카테고리의 다른 글
웹 보안 (0) | 2023.04.19 |
---|---|
자료구조 알고리즘 (0) | 2023.04.18 |
RESTful API (0) | 2023.04.17 |
HTTP와 HTTPS (0) | 2023.04.17 |
call by value와 call by reference (0) | 2023.04.17 |