DB6 [Redis] Redis-Sentinel 구축해보기 센티널이란? 레디스의 자체 고가용성 기능이다. 센티널은 데이터를 저장하는 기존 레디스 인스턴스와는 다른 역할을 하는 별도의 프로그램이며, 페일오버 기능을 사용하면 마스터 인스턴스에 장애가 발생하더라도 레디스를 계속 사용할 수 있도록 동작해 레디스의 다운 타임을 최소화할 수 있다. 센티널의 기능 1. 모니터링 마스터, 복제본 인스턴스의 상태를 실시간으로 확인한다. 2. 자동 페일오버 마스터의 비정상 상태를 감지해 정상 상태의 복제본 중 하나를 마스터로 승격시킨다. 3. 인스턴스 구성정보 안내 센티널은 클라이언트에게 현재 구성에서의 마스터 정보를 알려준다. 페일오버가 발생하면 변경된 마스터 정볼르 재전달하기 때문에 페일오버가 발생하더라도 레디스의 엔드포인트 정보를 변경할 필요가 없다. 센티널 인스턴스 배치 .. DB 2024. 2. 18. [MySQL] Index - 인덱스 사용법 MySQL 인덱스를 공부하고 알기 쉽게 정리하기 위해 글을 작성하게 되었습니다. 1. 인덱스를 왜 사용할까? 다음 두 개의 순서가 적힌 표가 있습니다. 1. 3 1 2 6 4 2. 1 2 3 4 6 1번 표는 3, 1, 2, 6, 4 2번 표는 1, 2, 3, 4, 6 1번과 2번 중에 5가 없다는 것을 알기 쉬운 것은 정렬되어 있는 2번 표라고 생각합니다. 인덱스는 정렬된 자료구조로써 이를 통해 탐색범위를 최소화하게 됩니다. MySQL에서 인덱스 또한 테이블이며 인덱스를 생성시 정렬된 데이터를 가진 테이블을 확인할 수 있습니다. 데이터 주소 이름 종류 가격 1 햄버거 음식 100 2 피자 음식 200 3 콜라 음료 50 4 치킨 음식 300 위와 같은 데이터가 있다고 가정합니다. 가격이 가장 싼 데이터.. DB 2023. 12. 7. MySQL - 락과 격리 수준 트랜잭션은 하나의 논리적인 작업에 대해서 몇 개의 쿼리가 실행되든 관계없이 논리적인 작업 자체가 100% 적용되거나(COMMIT을 실행했을 때) 아무것도 적용되지 않아야 (ROLLBACK 또는 트랜잭션을 ROLLBACK 시키는 오류가 발생했을 때) 함을 보장해 주는 것이다. MySQL에서의 잠금은 테이블 데이터 동기화를 위한 데이블 락 이외에도 테이블의 구조를 잠그는 메타데이터 락, 그리고 사용자의 필요에 맞게 사용할 수 있는 네임드 락이라는 잠금 기능을 제공한다. 글로벌락 글로벌락은 FLUSH TABLES WITH READ LOCK 명령으로 획득할 수 있으며 제공하는 잠금 가운데 가장 범위가 크다. 일단 한 세션에서 글로벌 락을 획득하면 다른 세션에서 SELECT를 제외한 DDL문장이나 DML문장을 실.. DB 2023. 7. 28. [DB] 함수(FUNCTUIN) 단일 행 함수의 주요 특징 ① SELECT, WHERE, ORDER BY 절에 사용 가능하다. ② 각 행(Row)들에 대해 개별적으로 작용하여 데이터 값들을 조작하고, 각각의 행에 대한 조작 결과를 리턴 한다. ③ 여러 인자(Argument)를 입력해도 단 하나의 결과만 리턴 한다. ④ 함수의 인자(Arguments)로 상수, 변수, 표현식이 사용 가능하고, 하나의 인수를 가지는 경우도 있지만 여러 개의 인수를 가 질 수도 있다. ⑤ 특별한 경우가 아니면 함수의 인자(Arguments)로 함수를 사용하는 함수의 중첩이 가능하다 단일 행 함수의 종류 단일 행 문자형 함수 사용 --단일행 문자형 함수 예시 SELECT LOWER('SQL Developer') AS "LOWER('SQL Developer')".. DB 2022. 8. 23. [DB] 인덱스란? 인덱스란? 데이터베이스에서 인덱스는 특정 칼럼 값에 대한 목차입니다. 책을 보면 맨 앞에 목차를 두어 빠르게 찾아갈 수 있게 하도록 도와주는데 이와 비슷한 개념이 INDEX입니다. 테이블의 검색 속도는 데이터가 적으면 상관없지만 10만 개 100만 개 1억 개 점점 데이터가 방대해질수록 속도가 떨어지게 됩니다. 이때 미리 데이터들에 목차가 되는 형태의 index를 설정해두면 검색 속도를 향상할 수 있습니다. 예를 들어 사용자가 무수히 많은 티스토리에서 블로그 제목이 'abc;라는 블로그를 찾고자 한다면 다음과 같은 이 쿼리를 짜야할 것입니다. SELECT title FROM tistory WHERE title = 'abc'; 인덱스가 없다면 예를 들어 티스토리의 글 개수가 100만 개라면 데이터를 모두 .. DB 2022. 7. 9. H2 데이터베이스 설정 초기화 하기 안녕하세요. 영양호입니다. 이미 설정해둔, 저장한 설정이 변경되었을때 H2를 초기화 하는 방법을 알아보겠습니다. 1. H2 데이터 베이스 초기화면입니다. 2.자신의 로컬 사용자 폴더로 이동합니다. "C:\Users\사용자이름" 에서 아래처럼 해당파일들을 수정하고 삭제합니다. 우선 삭제할 파일은 test.mv.db, jpashop.mv.db , jpa.trace.db 등 자신이 사용했던 데이터베이스 파일들을 삭제합니다. 3.그리고 h2.server.properties 파일을 메모장으로 열어서 아래에 내용으로 변경하시면 완료됩니다. #H2 Server Properties #Fri Jun 22 19:02:35 IST 2018 0=Generic JNDI Data Source|javax.naming.Initial.. DB 2022. 5. 8. 이전 1 다음