CS 14

[DB] ORM

ORM(객체 관계 매핑) ORM이란? ORM은 Object Relational Mapping의 약자로, 객체 관계 매핑이라고도 한다. 객체는 객체 지향 프로그래밍(OOP)에서 사용하는 객체를 의미한다. 관계는 관계형 데이터베이스를 의미한다. 따라서, 객체와 관계형 데이터베이스를 매핑해주는 개념이다. ORM Idea 원래 관계형 DB를 사용하기 위해선 SQL을 사용했어야 했다. 따라서, 개발자는 코드 뿐만 아니라 Query까지 작성하고 신경써야하는 불편함이 있었다. ORM은 이러한 불편함을 해소했다. 이러한 ORM 기술은 자바, 파이썬과 같은 프로그래밍 언어 별로 기술이 구축되어 있다. 즉, ORM 기술은 개발자로 하여금 코드만 집중할 수 있게 도와주는 친구다 ORM 장점과 단점 장점 직관적이고, 로직에 ..

[DB] Java JDBC

자바 jdbc JDBC란? 자바에서 데이터베이스를 사용하기 위한 절차에 대한 규약을 의미한다. DBMS에 따라 DB를 다루는 방식이 다르다면, 사용자는 알아야 할 것이 매우 많을 것임 그래서 JDBC를 통해 추상화된 인터페이스를 제공하기만 하고, 각 벤더들( Oracle, Mysql 등.. )은 각자의 DBMS에 맞게 구현을 해놓은 상태이다. 따라서, JDBC는 인터페이스를 제공하기 때문에 어떤 종류의 DB(벤더)를 사용하든지 사용하는 방법에는 변함이 없는 것이다. JDBC API 클래스 데이터베이스를 연결하여 테이블 형태의 자료를 참조 SQL 문을 질의 SQL 문의 결과를 처리 JDBC를 이용한 데이터베이스 연동과정 드라이버를 로드 → 그에 따른 Connection 객체를 생성 → 이때 커넥션 객체를 ..

[DB] Database and FileSystem

Database and FileSystem 배경 데이터베이스가 등장하기 전에는 그 역할을 파일 시스템이 담당했다. 여러 문제점들로 인해 데이터베이스가 등장하게 되었다. 데이터베이스 vs 파일처리시스템 파일 처리 시스템의 구조 DBMS의 구조 파일처리 시스템의 문제 새로운 데이터 추가 시에 일일이 경로 따라가서 추가해줘야 한다. 찾고자 하는 데이터를 찾기 어려움 유지보수가 어렵다 DBMS의 특징 및 장점 중복성과 불일치가 감소 시스템 개발 및 유지보수비용 절감 표준화 용이 데이터베이스 회복이 용이 여러 사용자로부터 공유와 접속이 가능 DBMS의 단점 추가적인 하드웨어 구축 비용 발생 직원 교육 비용 발생 DBMS 와 파일처리시스템 정리 파일시스템 DBMS 데이터에 대한 물리적인 접근만 가능 데이터에 대한 ..

[DB] Database Pool

Database Pool 데이터베이스 풀(pool) Connection pool 애플리케이션의 스레드에서 데이터베이스에 접근하기 위해선 Connection이 필요하다. 따라서, 데이터베이스와 Connection한 객체들을 미리 생성하여 Pool에 저장해두었다가, 클라이언트의 요청이 있을 때마다 사용/반환하는 방식이다! 데이터베이스 접근과정 웹 컨테이너 실행 → 데이터베이스와 연결된 Connection 객체들을 미리 생성하여 Pool에 저장 클라이언트 요청 → Pool에서 Connection 객체를 가져와 데이터베이스에 접근 요청 처리가 끝나면 다시 Pool에 Connection 객체를 반환한다. 장점 매 연결마다 Connection 객체를 생성/삭제하는 비용(시간, 자원)의 감소 미리 생성된 Connec..