DB/MongoDB 5

💻NoSQL이란

💻NoSQL이란 1. NoSQL NoSQL이란(Not Only SQL)의 약자로 말 그대도 위에서 설명한 RDB 형태의 관계형 데이터베이스가 아닌 다른 형태의 데이터 저장 기술을 의미하고 있습니다. 또한 NoSQL에서는 RDBMS와는 달리 테이블 간 관계를 정의하지 않습니다. 데이터 테이블은 그냥 하나의 테이블이며 테이블 간의 관계를 정의하지 않아 일반적으로 테이블 간 Join도 불가능합니다. NoSQL은 말했다시피 2차원 테이블 간의 관계로 정보를 매핑하는 SQL과는 다르다. NoSQL은 “관계형이지 않은”(여집합) DB를 아우르기 때문에 종류가 매우 다양한데 대표적으로는 연관배열을 사용하는 key-value, 기존의 행 대신 열로 데이터를 저장하는 Column-based, Json이나 XML를 데이터..

DB/MongoDB 2022.06.16

mongoDB 백업 및 복구 파일만들기

mongoDB 백업 및 복구 서비스에서 사용되고 있는 DB가 터져버릴 수 있는 상황을 대비하여 백업파일을 만들어두면 좋을것 같아서 이와 같은 내용을 올립니다. 📌mongoDB 백업하기(dump) mongodump -u user_name -p user_password --authenticationDatabase=admin --out /home/ubuntu/dev/teaming_backend --db db_name --collection collection_name --gzip 옵션 설명 -u : 계정명 -p : 계정의 비밀번호 --authenticationDatabase=admin : 인증 --host : 원격 시 IP 주소 및 포트 --out : Dump 받을 폴더 경로 --db : Dump 받을 DB ..

DB/MongoDB 2022.04.12

mongoDB 데이터 모델링

mongoDB 데이터 모델링 1.mongoDB 데이터 모델링이란? 데이터 모델링은 업무 수행 시 발생하는 데이터를 정확하고 효율적으로 데이터베이스에 저장하기 위해 데이터 구조를 설계하는 과정을 의미합니다. 이러한 데이터 모델링 개념에 mongoDB의 특성을 고려하여 데이터 구조를 설계하는 것을 mongoDB 데이터 모델링이라고 합니다. 관계형 데이터베이스 데이터 모델링이 테이블 설계 후 칼럼을 설계하는 순서로 진행된다면, mongoDB 데이터 모델링은 도큐먼트 설계 후 컬렉션을 설계하는 순서로 진행됩니다. 또한 애플리케이션의 처리방안을 고려한 도큐먼트 구조를 어떻게 설계하느냐에 따라 데이터 정합성과 성능에 큰 영향을 주게 되므로 이에 대한 정확한 이해가 필요합니다. 1.1 도큐먼트 구조란? 도큐먼트는 관..

DB/MongoDB 2021.12.28

[mongoDB] 데이터베이스, 콜렉션, 도큐먼트 네이밍 관습

1. 데이터베이스 네이밍 -카멜게이스나 전부 소문자로 작성할 것(소문자 추천) -영문자a-z, 숫자0-9사용 -대소문자 구별에 주의한다. -소문자로 작성하는 것이 좋다 -64바이트 미만 -운영체제에 따라 금지되는 특수문자가 있다. -데이터 베이스 이름은 공백일 수 없다. -널 문자열이나 공백 문자 띄어쓰기를 포함해선 안된다. -가독성 좋게 구분자를 넣는 것을 권유한다. 구분자는 "-", "_"를 쓸 수 있다. 2. 콜렉션 네이밍 -카멜게이스나 전부 소문자로 작성할 것(소문자 추천) -콜렉션의 이름은 $, 공백문자, 널문자, 접두사 사용 금지는 포함되선 안된다. -구분자를 포함하는 것이 가독성이 좋아진다. -120바이트 이하 -복수형을 권장한다.(ex. products, employees) 3. 도큐먼트 ..

DB/MongoDB 2021.12.23

[보안]DB연결 할때 비밀 키(SECRET_KEY) 관리하기

1. 비밀 키(SECRET_KEY) 관리하기 프로젝트를 배포하기 위해 SECRET_KEY를 분리하는 실습을 진행하려고 합니다. 1.1 비밀 값을 관리하는 이유 만약에 설정값에 시크릿 값이 포함되어 있는 상태에서 Github이나 Bitbucket과 같은 버전 관리 시스템에 코드를 공개하는 경우, 자칫하면 시크릿 값을 잘못 관리함으로 인해 큰 피해를 볼 수도 있다. 가령 시크릿 값을 탈취해 남의 서버 자원을 비정상적으로 사용하는 경우도 있고, 암호키 값인 경우 서버 애플리케이션을 향한 악의적 공격이나 해킹 문제로 이어질 수도 있다. 이 SECRET_KEY는 프로젝트마다 유일한 값으로 세팅되어야 합니다. 또한 VCS(Version Control System)에서 제외되어야 하는데 git과 같은 사이트에 올라갔..

DB/MongoDB 2021.12.16