전체 글 315

[Real MySQL] 16-1. 복제

"Real MySQL" 책을 정리한 포스팅 입니다 1. 복제한 서버에서 다른 서버로 동기화되는 것 Source Server원본 데이터를 가진 서버변경이 최초로 이루어짐 (데이터 및 스키마) Replica Server복제된 데이터를 가진 서버소스 서버 동기화:소스 서버로부터 데이터를 전달받아 자신의 리포지토리에 반영 목적scale-out트래픽 대응 목적scale-up보다 훨씬 더 유연한 구조 backup데이터 정합성이 깨질 경우 (개발자 실수 or 공격 등)백업 서버의 데이터로 사용함메인 서버가 터질 경우지리적으로 분산된 백업 서버가 메인 서버의 역할을 대신함 데이터 분석용백업 서버에서 대신 담당하여 최적화데이터 분석은 리소스 소모가 큰 연산메인 서버로 데이터를 분석할 경우 클라이언트 요청 처리에 영향을 ..

Database/Mysql 2024.09.07

[Real MySQL] 8-0. 인덱스: Disk

"Real MySQL" 책을 정리한 포스팅 입니다 HDD (Hard Disk Drive)기계식 (플래터)데이터 보관플래터 위를 헤드가 이동하면서 데이터 읽고 씀 인터페이스SATA(소비자용)SAS(고성능) SSD (Solid State Drive)반도체기계식 플래터에 비해 훨씬 빠릅니다. (기계식으로 플래터를 회전시킬 필요 없음)소음 X 플래시 메모리 (NAND)비휘발성: 전원이 공급되지 않아도 데이터 보관 가능 O

Database/Mysql 2024.09.07

[Redis] 2. Understanding Data Types

cachingqueuingevent processing 1. Stringbyte sequence 저장문자열 매핑에 주로 사용됩니다. (key, value 모두 문자열) Data StructureTextSerialized objectBinary array(image, video, audio) Usagecachecountersbitwise operation 더보기SET bike:1 Deimos # key(namespace:id) - valueGET bike:1 # Deimos 2. JSONSyntax: JSONPath UsageAPI Response (cached) 더보기JSON.SET user:1001 $ '{"name": "John Doe", "email": "john.doe@example.com", ..

Database/Redis 2024.09.05

[NoSQL] NoSQL

1. NoSQL이란?Not Only SQL (SQL 지원)RDBMS보다 덜 제한적인 일관성 모델을 사용하는 데이터 매커니즘 유연한 데이터 모델스키마가 고정되어 있지 않음 대규모 분산 데이터클라우드 컴퓨팅 등장에 맞춰 생긴 기술데이터 공유 및 시스템 운용의 효율성 좋음 2. 장점성능latency: 빠르게 데이터 읽고 쓸 수 있음throughput: 다수의 요청을 효율적으로 처리할 수 있음 (수평적 확장) 단순성설계: 논리적, 물리적 설계 스킵clustering: 분산환경에서 사용하기 용이하도록 지원partitioning (horizontal): 분산환경에서 사용하기 용이하도록 지원 3. 종류key-value데이터: key-value 쌍빠른 데이터 접근 가능Redis, DynamoDB, Riak wide c..

Database 2024.09.05

[Spring][Data Access] 5-1. ORM Data Access: Introduction to ORM with Spring

1. Spring - ORM 통합데이터베이스와의 상호작용을 쉽게 처리 가능 (IoC Container 활용)DAO 구현, 트랜잭션 전략, 자원 관리 이점테스트 용이성ORM 관련 코드를 독립적으로 테스트하기 쉬움 (구현체 쉽게 교체 가능)(IoC) 일관된 예외 처리ORM 도구에서 발생하는 예외들을 공통의 계층으로 변환 (DataAccessException) 자원 관리퍼시스턴스 자원들을 쉽게 관리 및 구성 가능 통합된 트랜잭션 관리선언적 트랜잭션 관리 (@Transactional + AOP Proxies) 출처Spring - Introduction to ORM with Spring

Spring/Spring 2024.08.11

[Spring][Data Access] 2. DAO Support

Spring은 다양한 데이터 접근 기술을 일관된 방식으로 사용할 수 있도록 도와줍니다 1. Consistent Exception Hierarchy특정 기술별로 발생하는 예외들을 DataAccessException 계층으로 변환 (Spring 자체)SQLException(JDBC), PersistenceException(JPA) 장점일관된 방식으로 예외 처리예외가 발생했을 때, 원래 예외에 대한 정보를 잃지 않음 2. @RepositorySpring에서 DAO나 Repository 클래스를 정의할 때 사용 (빈으로 등록됨)Spring이 자동으로 예외를 변환해줌 (데이터 접근 계층에서 예외를 일관되게 처리 가능) 3. Dependency Injection관련 데이터베이스 리소스 주입   출처Spring - ..

Spring/Spring 2024.08.11

[Spring][Data Access] 1-7. Transaction Manager: Transaction-bound Events

1. Transaction-bound Eventsevent커스텀 이벤트트랜잭션 경계 내에서 발생더보기이벤트 객체public class OrderCreatedEvent { private final Order order; public OrderCreatedEvent(Order order) { this.order = order; } public Order getOrder() { return order; }} 더보기이벤트 발행@Service@RequiredArgsConstructorpublic class OrderService { private final ApplicationEventPublisher eventPublisher; @Transactio..

Spring/Spring 2024.08.11