DataBase
몽고디비 인덱스 정리
몽고디비 인덱스 정리
2024.11.03인덱싱 소개인덱스를 사용하지 않은 쿼리를 컬렉션 스캔이라고 한다. 인덱스를 선택할때는 자주 사용되는 열을 적용하는것이 효과적이다. 예를들어, 자주 중복되지 않은 ID나 이메일 컬럼에 인덱스를 설정하면 좋다. 인덱스 생성인덱스가 생성된 후에 아래와 같이 쿼리해보면 executionTimeMillis 가 1s로 쿼리 시간을 단축시켜준다. 하지만, 인덱싱은 필드를 변경하는 쓰기 작업은 오래 걸린다. 데이터가 변경될때 도큐먼트만 아니라 모든 인덱스를 갱신해줘야 하기 때문이다. (인덱스는 필드의 순서값을 유지하기 때문이다.) 복잡한 인덱스 소개아래 쿼리는 email 로 정렬한 후에 name으로 정렬한다. 우리가 미리 만들어둔 name으로 정렬하는건 크게 도움이 되지 않는다. 정렬을 최적화하기 위해서는 email,..
Mongo : Transaction
Mongo : Transaction
2024.03.24몽고DB 8장 대체 Transaction 몽고 디비 단일 문서에 대해 Atomic 처리가능 → 데이터 일관성 보장 관련 데이터를 하나의 문서에 저장함으로써 복잡한 트랜잭션 처리 없이도 데이터의 일관성과 무결성을 유지 여러 문서라면? 여러 문서에 걸쳐 일관성을 유지해야 하는 상황에서는 MongoDB의 분산 트랜잭션 기능을 사용하여 여러 작업을 하나의 트랜잭션으로 묶어 처리 transactions API 트랜잭션을 시작합니다. 지정된 작업을 실행합니다. 결과를 커밋하거나(또는 에러 시 중단합니다). 콜백 API는 특정 에러에 대해 재시도 로직을 포함 TransientTransactionError 또는 UnknownTransactionCommitResult 커밋 에러 후에 트랜잭션을 다시 시도 MongoDB ..
Database01 :: TOPIC01
Database01 :: TOPIC01
2018.12.31DBMS(DataBase Management System) *Purpose of a Database The purpose of a database is : to store data to provide an organizational structure for data to provide a mechanism for querying, creating, modifying, and deleting data ☆A database can store information and relationships that are more complicated than a simple list. * 4 basic ways of interacting with data Create, Read, Update, Delete hierar..