[DB] JAVA 개발자라면 알아야 하는 SQL Best Practice
·
DB
https://www.baeldung.com/ 여기서 다음 글을 찾아서 좋은 내용이라고 생각해 한번 글을 작성해보려고 한다.https://foojay.io/today/sql-best-practices-every-java-engineer-must-know/ 여기서는 Java Engineer라면 모두 알아야 하는 SQL 모범사례에 대해서 얘기하고 있는데 대부분의 내용들은 좋지만 SubQuery에 대한 부분은 사람들이 인정하지 못하는지 댓글로 다양한 얘기들을 하고 있는 모습을 볼 수 있다.또한 이러한 내용은 RealMysql 2권에서도 1장에 쿼리최적화 부분과 상당히 일치하는 부분이 많은데 이 블로그에서 요약으로 정리해 보도록 하겠다.주로 이 글에서는 인덱스를 활용할때 어떻게 해야 하는지에서 다루고 있다. T..
[DB] Redis Cluster Docker Compose로 구축하기
·
DB
https://kiru-dev-study.tistory.com/20 [DB] Redis Cluster먼저 이글은 "실전 레디스" 라는 책을 읽고 나서 적은 글이다.24년 5월에 발행한 따끈따끈한 책이기도 했고 시중에 생각보다 redis에 대한 내용으로 책이 없었는데 마침 redis에 빠져서 공부를 하다kiru-dev-study.tistory.com먼저 Redis Cluster에 대한 이해도를 높이기 위해서 다음글을 먼저 보고 오는 것을 추천드린다.그리고 Redis cluster를 Docker compose로 구성하기 위해서는 다음의 내용을 조금 아는 것이 좋다고 생각한다.도커도커 네트워크의 구성도커로 실행할때 컨테이너 네임에 관한 DNS 방식도커 컴포즈Redis Cluster의 구조Redis cluste..
[DB] Redis Cluster
·
DB
먼저 이 글은 "실전 레디스"라는 책을 읽고 나서 적은 글이다.24년 5월에 발행한 따끈따끈한 책이기도 했고 시중에 생각보다 redis에 대한 내용으로 책이 없었는데 마침 redis에 빠져서 공부를 하다 보니 생각보다 좋은 내용들이  많으니 읽어보시는 것을 추천드린다.Redis Cluster란?레디스 클러스터는 여러 캐시노드를 연결하여 일부 장애가 발생해도 시스템을 계속 운영할수 있도록 자동 Failover 기능을 지원한다. 또한 샤딩을 통해 레디스 서버가 실행중일때 노드 사이의 키를 옮길 수 있다. 레디스 클러스터는 failover와 sharding을 통해 높은 가용성을 보장하며, 읽기 쓰기 작업의 확장성을 높일 수 있다.모두 여기서 들어왔을때는 CPA 이론에 대해서 어느 정도 알고 있다고 가정하겠다...
[DataBase] 트랜잭션에 대해서 얼마나 알고있는가?
·
DB
RealMysql 1권에서 트랜잭션부분에서 읽고 쓴 글입니다. 이 책을 추천받고 매우 흥미롭게 지식을 쌓을수 있었는데 여러분들도 꼭 읽어보시길 추천드립니다.먼저 트랜잭션이란?작업의 완전성을 보장해주는 것을 뜻한다고 하는데 하나의 트랜잭션으로 묶인 모든것들이 완벽하게 일을 끝내는것, 혹은 실패시에 모든것을 되돌려 놓는것 (roll back)을 뜻합니다. 여기서 RDBMS의 ACID중 원자성에 일을 맡게 하는 친구입니다.여기서 Lock의 기능과 주의하셔야 하는데 트랜잭션이란 작업의 단위를 하나로 묶어서 데이터의 정합성을 보장, 즉 끝냈을때 일을 완벽히 처리하는것을 목적으로 하며, Lock은 데이터의 동시성을 제어하기 위한 기능입니다. 우리의 어플리케이션은 여러 트랜잭션이 동시에 발생하고 있기 때문에 트랜잭션..