Computer Science/DataBase 8

Spring Mongo Transaction 적용기 Condition 회사에서 신규프로젝트 개발에 있어서 Mongo를 DB로 채택하였습니다. Local과 Dev에서 테스트 환경에서 Mongo를 Single Pod로 구성하였습니다. 4.0 버전부터 지원하는 Multi-Document Transaction을 적용하기 위해서 ReplicaSet 구성의 필요성을 느꼈습니다. Single Mongo Instance는 Transaction을 사용할 수 없습니다. 최소 3개의 ReplicaSet을 구성해야 합니다. 트랜잭션은 WiredTiger 스토리지 엔진에서만 지원됩니다. 그리고 MongoDB 4.0 이후의 버전에서는 WiredTiger가 기본 스토리지 엔진으로 사용됩니다. Authentication Failed. Issue Single Pod로 운영되던 Mong.. Computer Science/DataBase 2023. 9. 25.
[MySQL] Datetime 기준으로 조회하기 1. 특정 날짜 데이터 조회하기 SELECT * FROM [TABLE] WHERE DATE([DATE_COLUMN]) = '2021-11-01'; SELECT * FROM [TABLE] WHERE [DATE_COLUMN] >= '2021-11-01' AND [DATE_COLUMN] = '2021-11-01' AND [DATE_COLUMN] Computer Science/DataBase 2021. 11. 19.
[DataBase] 무결성 데이터 무결성이란 데이터의 정확성과 일관성을 유지하고 보장된 상태를 의미합니다. 여기서 정확성이란 중복이나 누락이 없는 상태라고 말할 수 있습니다. 또 일관성이란 원인과 결과의 의미가 연속적으로 보장되어 변하지 않는 상태라고 설명됩니다. 데이터베이스에서 데이터 무결성이 갖는 중요성은 데이터 가치와 데이터 신뢰성 측면으로 설명할 수 있습니다. 데이터 가치는 업무에서 사용자에게 의미 있는 정보를 제공하는 것이 목적입니다. 또 데이터 신뢰성은 항상 정확하고 오류가 없는 데이터가 데이터베이스에 저장되어 있어 신뢰성 있는 데이터를 제공한다는 의미를 가지고 있습니다. 데이터 무결성 설계를 안 했을 때의 문제점 모든 데이터 무결성을 DBMS로 보장 받을 수 없습니다. 어차피 업무적인 데이터 무결성은 애플리케이션 로직.. Computer Science/DataBase 2021. 10. 28.
[DataBase] 데이터베이스란? 데이터베이스란? 여러사람이 공유하고 사용할 목적으로 통합 관리되는 정보의 집합입니다. 몇 개의 자료 파일을 조직적으로 통합하여 자료 항목의 중복을 없애고 자료를 구조화하여 기억시켜 놓은 자료의 집합체라고 할 수 있습니다. 데이터베이스의 특징 실시간 접근성 수시적이고 비정형적인 질의(조회)에 대하여 실시간 처리에 의한 응답이 가능해야 합니다. 지속적인 변화 데이터베이스의 상태는 동적입니다. 즉 새로운 데이터의 삽입(Insert),삭제(Delete),갱신(Update)로 항상 최신의 데이터를 유지합니다. 동시 공유 데이터베이스는 서로 다른 목적을 가진 여러 응용자들을 위한 것이므로 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야 합니다. 내용에 대한 참조 데이터베이스에 있는 데이터를 참조할 때.. Computer Science/DataBase 2021. 9. 4.
[MySQL] DELETE DELETE는 행 단위로 삭제합니다. WHERE이 생략되면 전체 데이터를 삭제합니다. //예시 테이블// CREATE TABLE person ( name VARCHAR(5) NOT NULL, -- ex) 홍길동 height INT NOT NULL, -- ex) 178 address VARCHAR(2) NOT NULL -- ex) 서울, 경기, 강원, 경남, 경북, 전남, 전북, 충청 ); DELETE FROM [테이블 이름] WHERE [조건] -> DELETE FROM person WHERE height > 170 -> DELETE FROM person WHERE height > 170 LIMIT 5 출처 이것이 MySQL이다 Computer Science/DataBase 2021. 8. 10.
[MySQL] UPDATE 기존에 입력되어 있는 값을 변경하기 위해서 UPDATE문을 사용합니다. UPDAT도 사용법은 간단하지만 주의할 사항이 있습니다. WHERE은 생략이 가능하지만 WHERE을 생략하면 테이블의 전체의 행이 변경됩니다. //예시 테이블// CREATE TABLE person ( name VARCHAR(5) NOT NULL, -- ex) 홍길동 height INT NOT NULL, -- ex) 178 address VARCHAR(2) NOT NULL -- ex) 서울, 경기, 강원, 경남, 경북, 전남, 전북, 충청 ); UPDATE [테이블 이름] SET [열1 = 값1, 열2 = 값2, ...] WHERE [조건] -> UPDATE user SET name='김동환', height=178 WHERE name.. Computer Science/DataBase 2021. 8. 10.
[MySQL] INSERT INSERT는 테이블에 데이터를 삽입하는 명령어 입니다. //예시 테이블// CREATE TABLE person ( name VARCHAR(5) NOT NULL, -- ex) 홍길동 height INT NOT NULL, -- ex) 178 address VARCHAR(2) NOT NULL -- ex) 서울, 경기, 강원, 경남, 경북, 전남, 전북, 충청 ); 하지만, 생략할 경우에 VALUES 다음에 나오는 값들의 순서 및 개수가 테이블이 정의된 열 순서 및 개수와 동일해야 합니다. 열의 순서를 바꿔서 입력하고 싶을 땐 꼭 열 이름을 입력할 순서에 맞춰 나열해 줘야 합니다. INSERT [INTO] [테이블 이름(열1, 열2, 열3, ...)] VALUES (값1, 값2, 값3, ...) -> INSE.. Computer Science/DataBase 2021. 8. 10.
[MySQL] SELECT SELECT문은 가장 많이 사용하는 구문입니다. 한마디로 데이터베이스 테이블에서 원하는 정보를 추출하는 명령입니다. //예시 테이블// CREATE TABLE person ( name VARCHAR(5) NOT NULL, -- ex) 홍길동 height INT NOT NULL, -- ex) 178 address VARCHAR(2) NOT NULL -- ex) 서울, 경기, 강원, 경남, 경북, 전남, 전북, 충청 ); 테이블 전체 출력 SELECT * FROM [테이블 이름] -> SELECT * FROM person 특정 열만 보이도록 출력 SELECT [열 이름1, 열 이름2] FROM [테이블 이름] -> SELECT name, height FROM person 조건에 부합하게 출력 SELECT [.. Computer Science/DataBase 2021. 8. 10.