IT Diary 54

[ SQL ] 003. 실행계획 보는법

1. 실행계획이란? SQL이 실행되어 데이터를 처리하고 할 때, 옵티마이저에서 수립되는 SQL 실행방법론 가장 안에서부터, 가장 위에서 부터 차례차례 읽으면 된다. 항목 의미 Id Operation의 Id. Predicate Information에 정보가 있다면 Id와 연결된다. Operation 수행되는 일 Name Operation이 수행되는 테이블 혹은 인덱스 --> 오브젝트명 Rows 각 Operation이 끝났을 때 반환되는 예상치 건수 Bytes Access 하는 byte 수 예상치 Cost(%CPU) Operation의 비용 --> 누적치 Time 예상 수행 시간 access Predicate block을 읽기 전에 어떤 방법으로 block을 읽을 것인지 결정. --> index ? full..

IT Diary/# SQL 2022.04.18

[ Knowledge ] Redis(REmote DIctionary Server) 란?

1. redis 의 정의 In-Memory 데이터베이스이며, 다른 제품들과 다르게 다양한 자료구조를 지원한다. String, Set, Sorted Set , Hash ,List key-value 구조 데이터 관리 시스템 쓰기 성능 증대를 위한 클라이언트 측 샤딩(Sharding ) 지원 영속성을 지원한다. (명령어로 명시적으로 삭제, expires를 설정하지 않으면 데이터가 삭제되지 않는다) AOF(Append Only File) 과 RDB(snapshot) 방식을 지원한다. Redis Server는 1개의 Single Thread로 수행된다. ( 딱 하나의 명령어만 실행할 수 있다는 뜻.. ) 장점 : Atomic 보장, race condition 회피 Atomicity(원자성) : Transactio..

JPA ( Java Persistence API ) 의 정의

1. JPA의 정의 JPA(Java Persistence API)는 ORM(Object-Relation Mapping) 전문가가 참여한 EJB 3.0(Enterprise Java Beans) 스펙 작업에서 기존 EJB ORM 표준으로 사용되던 엔티티빈(Entity Bean) 을 대체하여 나온 ORM 표준이다. 기존 엔티티빈이 EJB 컨테이너에 의존하던것에 비해 POJO 방식 프레임워크로 개발되었으며, 이로인해 Java EE 뿐 아니라 JAVA SE 에서도 사용 가능하며 활용도가 높다. 2. JPA 동작원리 자바 ORM 기술에 대한 표준명세 ORM ( Objecet Relational Mapping ) 객체-관계 맵핑의 줄임말 OOP(Object Oriented Programming) 에서 쓰이는 객체라는..

IT Diary/# JPA 2022.01.08

[ Knowledge ] Thread Safe란?

Thead Safe 스레드 안전(thread 安全, 영어: thread safety)은 멀티 스레드 프로그래밍에서 일반적으로 어떤 함수나 변수, 혹은 객체가 여러 스레드로부터 동시에 접근이 이루어져도 프로그램의 실행에 문제가 없음을 뜻한다. 보다 엄밀하게는 하나의 함수가 한 스레드로부터 호출되어 실행 중일 때, 다른 스레드가 그 함수를 호출하여 동시에 함께 실행되더라도 각 스레드에서의 함수의 수행 결과가 올바로 나오는 것으로 정의한다. HashMap는 thread-safe한가? 결론 부터 말하자면 HashMap은 thread-safe하지 않다. 이유는 여러 스레드가 동일한 HashMap 객체에 액세스하고 HashMap(put(), remove() 메서드) 구조를 수정하려고 하면 HashMap의 상태가 일..