본문 바로가기

DB

(3)
트랜잭션과 동시성 제어 트랜잭션과 동시성 제어 트랜잭션이란? 갱신은 단일 쿼리가 아닌 복수 쿼리를 연속적으로 수행하는 경우가 대부분 또한 갱신 전에 조회를 포함해서 사용하는일이 많음 이러한 쿼리들을 한 덩어리로 포함하여 다뤄야 함 → 이런 복수 쿼리를 한 단위로 묶은 것 원자성 데이터의 변경을 수반하는 일련의 데이터 조작이 전부 성공할지, 전부 실패할지를 보증하는 구조 예를 들어 A, B, C 작업이 순차적으로 있을 경우 A → B → C 가 하일련의 데이터 조작으로 묶임 그리고 A, B, C 중 하나라도 실패할 경우 전부 롤백 A, B, C 를 하나의 원자 단위로 보는 관점 일관성 기존의 데이터 베이스가 데이터 조작 전후에 그 상태를 유지하는 것을 보증 이를 위해 데이터베이스에서는 오브젝트에 대해 각종 정합성 제약을 추가할 ..
데이터베이스와 아키텍쳐 구성 데이터베이스와 아키텍쳐 구성 DB 서버의 다중화 - 클러스터링 클러스터링이 어려운 컴포넌트로 인식 데이터를 보존하는 '영속 계층' 이기 때문 '데이터의 정합성이 중요하기 때문' 가장 기본적인 다중화 DB 서버 N, 저장소 1 Active-Active : 클러스터를 구성하는 컴포넌트를 동시에 가동 Active-Standby : 클러스터를 구성하는 컴포넌트 중 실제 가동하는 것은 Active, 남은 것은 대기하고 있는다. Active-Active 구성의 장단점 시스템이 다운되어 있는 시간이 짧다 복수의 DB 서버가 동시에 작동하고 있어서 한 대가 다운되어 동작 불능이 되어도 남은 서버가 처리를 계속하기 떄문에 시스템 전체가 정지하는 것을 방지할 수 있음 성능이 좋다 동시에 가동하..
IT 기초 공부 (추가중) IT 기초 자바 기초 자바 메모리 영역 메서드 영역 : static 변수, 전역변수, class정보 스택 : 지역변수, 함수(메서드), LIFO 방식 힙 : 동적할당 객체 gc가 관리함 메모리 상수풀 영역 : 힙영역에 생성, 프록세스 종료까지 계속 유지, 작성한 상수값을 가지고 있음 인터페이스 사용 이유 인터페이스 작성된 책임은 항상 구현되어 있다는 강제성을 가짐 -> 이를 통해 다형성 및 기타 유연한 작업이 가능해짐 Mark 역할을 하여 특정 기능을 표시해줌(Serializable 등) JDBC란? 자바에서 데이터베이스 접속할 수 있도록 하는 자바 api 직렬화란? 스트림을 통해 입출력이 가능할 수 있도록 전달할 수 있는 구조로 변경하는 것 serialVersionUID 선언 이유 직렬화/역직렬화 때 ..