인덱싱인덱스를 사용하면 효율적으로 쿼리할 수 있다. 인덱스를 사용하지 않는 쿼리를 컬렉션 스캔(collection scan)이라 하며, 서버가 쿼리 결과를 찾으려면 '전체 내용을 살펴봐야 함'을 의미한다. > db.col3.find({ a: 3 }).explain("executionStats"){ explainVersion: '1', queryPlanner: { namespace: 'test.col3', parsedQuery: { a: { '$eq': 3 } }, // ... executionStats: { executionSuccess: true, nReturned: 59, // 반환받은 결과의 개수 executionTi..
MongoDB프로젝트 초기 설계 당시에는 어떤 DB를 사용하는지 결정하게 된다. 이때 시스템의 특성과 요구사항에 따라 관계형 데이터베이스 대신 NoSQL 데이터베이스를 채택하는 주된 이유는 다음과 같다.대규모 데이터셋이나 매우 높은 쓰기 처리량 달성을 관계형 데이터베이스보다 쉽게 할 수 있는 뛰어난 확장성의 필요관계형 모델에서 지원하지 않는 특수 질의 동작관계형 스키마의 제한에 대한 불만과 더욱 동적이고 표현력이 풍부한 데이터 모델에 대한 바람NoSQL 데이터베이스는 이러한 요구사항에 따라 아래와 같이 크게 4가지 유형으로 구분된다. 이 중에서 MongoDB는 문서 지향(Document-oriented) 데이터베이스의 대표적인 예로 다양한 형태의 데이터를 유연하게 저장하고 확장할 수 있는 기능을 제공한..
트랜잭션트랜잭션은 읽기나 쓰기 작업이 가능한 데이터베이스 작업을 하나 이상 포함하는 데이터베이스의 논리적 작업 단위를 의미한다. 데이터베이스 운영 시 여러 도큐먼트에 관한 읽기과 쓰기 작업이 필요한 경우가 많고, 이러한 도큐먼트들은 하나의 컬렉션에 있을 수도 있고, 여러 컬렉션에 분산되어 있을 수 있다.몽고DB는 비관계형 데이터베이스이므로 전통적인 관계형 데이터베이스의 트랜잭션 방식을 그대로 적용할 수 없다. 몽고DB CRUD 블로그에서 설명했듯이 updateOne, findOneAndDelete, findOneAndReplace, findOneAndUpdate 등 Single Document에 대해서는 원자성을 보장한다. 몽고DB의 경우 insertMany처럼 전체 쿼리에 대해 일부 실패하면 그 시점까..
몽고DB CRUD몽고DB는 위 명령행처럼 몽고DB 인스턴스와 상호작용하는 자바스크립트 셸을 제공한다. 셸은 관리 기능이나, 실행 중인 인스턴스를 점검하거나 간단한 기능을 시험하는데 매우 유용하다. 셸은 시작할 때 몽고DB 서버의 test 데이터베이스에 연결하고, 데이터베이스 연결을 전역 변수 db에 할당한다. 따라서 데이터베이스 선택하기 위해서는 use 명령어를 통해 선택할 수 있다. 그리고 셸에서 데이터를 조작하거나 보려면 생성(create), 읽기(read), 갱신(update), 삭제(delete)의 네 가지 기본적인 작업(CRUD)을 할 수 있다. 삽입삽입은 몽고DB에 데이터를 추가하는 기본 방법이다. insertOneinsertOne 함수는 컬렉션에 도큐먼트를 추가한다. 예를 들어, 영화를 저장..
- Total
- Today
- Yesterday
- socket
- spring webflux
- mdcfilter
- 비관적 락
- 구름톤챌린지
- annotation
- NeXTSTEP
- 넥스트스탭
- Kafka
- 트랜잭션
- TDD
- 카프카
- 분산 락
- Redisson
- sql
- Java
- jvm 메모리 구조
- nginx
- redis session
- EKS
- transaction
- 낙관적 락
- Synchronized
- nginx configuration
- pessimistic lock
- postgresql
- 람다
- 구름톤 챌린지
- mysql
- spring session
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
