BE/Database

[DB] About ORM - ORM이란? ( TypeORM 은 뭐지? )

Bans 2022. 7. 15. 01:11

 

ORM - Object Relational Mapping

 

DBS (Database System)은 크게

RDB - Relational DataBase ( 관계형 데이터베이스)

NoSQL (Non SQL  or  Not only SQL) Database

 

두 가지의 유형으로 나뉘어 있다.

 

RDB 는 테이블 형식의 2차원 배열로 표현되며 (테이블)

NoSQL은 문서(document), collection 등 여러 방식으로 표현된다.

 

간단한 차이점으로는

RDB는 수직 확장 (서버 용량의 확장) 이 용이하며

NoSQL은 수평 확장 (서버 갯수의 확장) 이 용이하다.

 


그래서 ORM 이 뭔데?

 

프로젝트는 전체적으로

 

데이터베이스 서버

백엔드 서버

프론트엔드 서버

(+클라이언트 서버)

 

로 이루어져 있고,

데이터베이스 서버에서는 각 서버에 맞는 QUERY 명령어를 사용하여

데이터베이스 내부의 정보를 관리한다.

 

백엔드 서버에서 객체 (Object) 데이터를 다룰 때,

그 서버에서 사용되는 언어와,

DB QUERY 명령어를 이중으로 사용하지 않고,

객체 (Object) 와 DB data (RDB or NoSQL) 를 매핑 (Mapping) 하여

백엔드 서버에서 DB 명령어(Query)를 자동으로 생성해 주는것을

 

ORM - Object Relation Mapping

ODM - Object Document Mapping....

 

이라고 한다.

 

클라이언트, 프론트엔드, 백엔드, 데이터베이스의 소통방식

1. 브라우저 (클라이언트) 에서 백엔드로 요청 (API) 을 보내면,

2. 요청을 받은 백엔드가 DB 서버와 소통하기 위해 ORM / ODM 을 사용하게 되며

각각 3 - RDB, 4 - Document(Collection) 형식의 NoSQL 과 소통하게 된다.

 


TypeORM

 

그렇다면 TypeORM은 무엇인가.

 

출처 : TypeORM 공식 페이지 - https://typeorm.io/

NodeJS 를 비롯한 Javascript, Typescript 플랫폼에서 활용 가능한 ORM 이라고

써있는 공식 페이지의 소개글에서 볼 수 있듯

위의 플랫폼들에서 RDS 를 사용할 때,

DB 명령어들을 자동으로 생성해주기 위한

ORM 모듈이라고 할 수 있을 것이다.

 

다음 포스팅은

실제 TypeORM을 사용해볼 때

실질적인 사용방법을 포스팅할 예정이다

 


출처 :

TypeORM - https://typeorm.io/

TypeORM 기본개념 - https://dkant.net/2019/06/17/typeorm/

 

TypeORM - Amazing ORM for TypeScript and JavaScript (ES7, ES6, ES5). Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server,

 

typeorm.io

 

TypeOrm 기본개념

TypeOrm (object Relational Mapping) TypeORM 에서 ORM 기본, NativeScript, 박람회 및 전자 플랫폼 반응, NodeJS, 브라우저, 코르도바, 폰갭, 이온 성에서 실행할 수 있으며, 타이프 라이터와 자바 스크립트 (ES5, ES6,

dkant.net