본문 바로가기

데이터베이스4

[DB] 인덱스 간략 정리 [1] 인덱스랜덤 & 순차 IO디스크 헤더를 1번, 여러번 옮기느냐? 즉, 디스크의 성능은 디스크 헤더 위치 이동 없이 얼마나 많은 데이터를 한 번에 기록하느냐에 따라 결정Mysql 는 그룹 커밋, 바이너리 로그 버퍼, InnoDB 로그 버퍼 등의 기능으로 개선결국 랜덤 IO 를 줄이는 것이 쿼리를 개선하는 것을 의미정의ArrayList 와 SortedList 의 차이를 아는가?순차적으로 저장 or 정렬하여 저장빠르게 적재 or 느리지만 정렬하여 적재인덱스를 적용한다는 것은 쓰기 성능을 어느 정도 포기하고, 읽기 성능을 택하겠다.B-Tree 에서 인덱스 키 추가 및 삭제 시보통의 경우, 레코드 추가 비용 1 가정 시 인덱스 추가 비용을 1.5 로 예측하는 편.인덱스 키 삭제와 변경의 경우, InnoDB 엔진에 .. 2024. 6. 29.
[가상 면접 사례로 배우는 대규모 시스템 설계 기초] 1장 사용자 수의 따른 규모 확장성 작년 10월 원티드에서 진행한 백엔드 온보딩 챌린지에서 멘토님이 속하신 스터디에서 이 책을 다루셨던 것이 기억난다. 실제로 멘토링 후 백엔드 개발자가 읽어야 할 책들을 여러 개 추천해 주셨는데, 그 중 하나가 이 책이다. 그 책들을 꾸준히 완독해 나가는 중이고, 확실히 백엔드 개발 공부는 책을 통해서 간접 경험을 쌓거나 직접 적용하기에 용이하다고 생각이 들었다. 회사에 이 도서를 요청했고, 오늘 첫 페이지를 펼쳤다. 단일 서버 가장 기초적인 서버 구성 단위 데이터 베이스 서버도 보통 1개를 둔다. RDBMS 많이 사용 비정형 데이터이거나, 직렬화 역직렬화 하거나, 많은 양의 데이터를 저장할 경우 비-관계형 데이터베이스가 바람직함. 모든 트래픽을 하나의 서버가 감당한다. 수직적 규모 확장 & 수평적 규모 .. 2023. 2. 14.
2022.05.17 「@Transactional 옵션 및 성능」 스프링 부트 프로젝트를 하던 도중 Service 클래스에서 @Transactional 사용에 옵션을 설정할 수 있다는 것을 처음 알았다. 옵션을 한번 추가해보라는 피드백을 받고 한번 이 에너테이션에 대해 알아보기로 했다. 프로그램 성능에 직접적인 영향을 끼칠 수도 있는 중요한 옵션이기 때문에 한번 정리를 해보겠다. 트랜잭션(Transaction)의 정의 데이터 베이스의 상태를 변경할 때, 한번에 수행되어야 하는 연산 트랜잭션 ACID 성질 원자성(Atomicity) : 트랜잭션이 DB에 모두 반영되거나, 전혀 반영되지 않거나 해야한다. 일관성(Consistency) : 트랜잭션은 일관성 있는 DB 상태를 유지해야한다. 작업 처리의 결과가 항상 일관되어야 함. 독립성(Isolation) : 동시에 실행되는.. 2022. 5. 17.
2022.1.12의 기록(세미프로젝트 회의) [오늘 할일] JSP 블로그 코딩 세미프로젝트 DB 아웃라인 전체 잡기 [세미 팀플] > 세미 프로젝트에 필요한 DB 아웃라인을 팀장인 내가 전체적으로 짜보기로 결정. > 구체적으로 들여다 보며 테이블을 만들다보니 만만치 않은 작업임을 실감. > 긴급 팀 소집 회의 > 팀 회의 마무리 후 무엇을 식별, 비식별 , N:N 관계에 대해서 할지 논의 함. > 부모, 자식 테이블간의 관계와 erd 모델에서의 관계선 종류와 의미에 대해 공부 함. 관계선의 종류 실선(Identifying): 식별관계 => 부모테이블의 PK가 자식테이블의 FK/PK가 되는 경우 => 부모가 있어야 자식이 생기는 경우 점선(Non-Identifying): 비식별관계 => 부모테이블의 PK가 자식테이블의 일반속성이 되는 경우 => 부모.. 2022. 1. 13.
반응형