본문 바로가기

Database11

트랜잭션과 ACID 트랜잭션과 ACID 트랜잭션은 작업수행의 논리적 단위, query를 하나의 묶음으로 처리해서 오류가 생기면 Rollback하고 오류가 없으면 commit을 하는 즉 한 묶음의 query가 전부 다 수행되거나 수행되지 않는 작업수행의 논리적 단위 트랜잭션을 사용하는 이유는 데이터 정합성을 위해서입니다. 병렬성을 유지하면서도 데이터의 정합성이 깨지지 않게 하기 위해 이런 논리적 단위를 사용합니다. 트랜잭션의 4가지 특성으로는 ACID 가 있습니다. A 원자성 (Atomicity) 트랜잭션의 작업이 부분적으로 실행되거나 중단되지 않는 것을 보장하는 것 All or Nothing의 개념으로 작업 단위의 일부만 실행하지 않는다는 것을 의미 C 일관성 (Consistency) 트랜잭션이 성공적으로 완료되면 일관적인.. 2022. 5. 31.
MongoDB Query 날짜 조건으로 조회하기 MongoDB 에서 날짜 조건으로 검색하는 경우가 많습니다. 한방에 정리 했습니다. 데이터 적재 db.items.insertMany([ { 'name' : 'zzai_sang', 'createdAt' : new ISODate('2022-05-26T00:00:00.000Z') }, { 'name' : 'sang_zzai', 'createdAt' : new ISODate('2022-05-23T15:23:00.000Z') }, { 'name' : 'sangjae_kim', 'createdAt' : new ISODate('2022-05-24T10:55:00.000Z') }, { 'name' : 'kim_sangjae', 'createdAt' : new ISODate('2022-05-28T00:00:00.000Z.. 2022. 5. 26.
[MongoDB 개념] MongoDB 데이터 조회 MongoDB_Query MongoDB 데이터(Document) 조회 아래와 같은 데이터가 적재되어 있다고 가정 (collection Name : inventory) [ { "item": "journal", "qty": 25, "size": { "h": 14, "w": 21, "uom": "cm" }, "status": "A" }, { "item": "notebook", "qty": 50, "size": { "h": 8.5, "w": 11, "uom": "in" }, "status": "A" }, { "item": "paper", "qty": 100, "size": { "h": 8.5, "w": 11, "uom": "in" }, "status": "D" }, { "item": "planner", "qty.. 2022. 4. 21.
[MongoDB] Docker-compose로 세팅하기 MongoDB_docker-compose 세팅 사용할 이미지는 docker-hub에서 찾으셔서 맞는 버전 사용하시면 됩니다. https://hub.docker.com/_/mongo docker-compose.yml 설정 version: '3.7' services: mongodb: image: mongo:5.0.5 #사용할 mongoDB version container_name: mongodb #컨테이너 이름 restart: always #컨테이너 실핼 시 재시작 environment: #MongoDB 계졍 및 패스워드 설정 - MONGO_INITDB_ROOT_USERNAME=root - MONGO_INITDB_ROOT_PASSWORD=root1234! ports: - 26017:27017 #port 설정.. 2022. 4. 21.
[MongoDB 개념] CUD Operations MongoDB CUD Operations Create(insert) Operation Document가 _id 필드를 지정하지 않으면 MongoDB는 ObjectId 값이 있는 _id 필드를 새 문서에 추가합니다. _id 필드는 중복키를 허용하지 않습니다. (PK) 단일 insert (insertOne) db.inventory.insertOne( { item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } } ) 다중 insert (insertMany) db.inventory.insertMany([ { item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w.. 2022. 4. 19.