SMAIVNN
article thumbnail
[AWS] aws 리소스 개념 잡기
Infra 2023. 5. 15. 10:04

시작 새로운 프로젝트를 들어가며 AWS에 서비스, 개발 서버를 배포하기위해 aws의 인프라에 대해서 공부하게 되었다. 이에 대해 공유하고자 한다. 본 게시글에서는 어떻게 직접 구현하는지 보다는 여러가지 리소스에 대한 개념적인 내용에 대해서만 정리하도록 한다. VPC (virtual private cloud) VPC에 대해 알기 전 네트워크에 대해 알아야 한다. 네트워크란? 인프라 관리자가 주체가 되어 관리하는 장소이다. 네트워크 내의 기기는 서로 자유롭게 통신이 가능해야 하며 이런 네트워크를 우리는 LAN(local area network)라고 부른다. VPC VPC는 물리적인 기기를 이용하지 않고 가상의 네트워크를 구축하는 것이다. 사용자가 설정한 IP주소 범위 내에서 격리된 네트워크를 생성한다. VP..

article thumbnail
[mongoDB] 집계 프레임워크
Database 2023. 3. 25. 18:08

집계 프레임워크란? 집계 프레임워크의 설명을 보고 사실 잘 이해가 가지 않았다. 그래서 나는 조금더 쉬운 설명을 위해 bing AI에게 물어보았고, 답을 얻을 수 있었다. 결론적으로 집계 프레임워크는 컬렉션에 있는 여러 도큐먼트의 데이터를 다양한 방식으로 결합해서 새로운 데이터를 만드는 쿼리 언어라고 이해했다. 집계 프레임워크는 파이프라인 개념을 기반으로 한다. 파이프라인이랑 위 사진에도 나와 있듯이 데이터 처리를 여러 단계로 나누어 처리하는 방식이며, 각 단계에서 입력 데이터를 처리하여 출력 데이터를 만들어 다음 단계로 전달한다. 파이프라인에는 대표적으로 일치, 선출, 정렬, 건너뛰기, 제한 단계가 있다. 사용하는 방법 집계 쿼리를 사용하기 위해서는 aggregate라는 메서드를 호출해야 한다. 파이프..

article thumbnail
[mongoDB] 인덱스
Database 2023. 3. 24. 22:14

인덱스란? 인덱싱은 책의 목차와 같다. 원하는 데이터를 찾고자 처음부터 끝까지 찾는게 아닌, 목차를 보고 원하는 부분으로 바로 가서 찾는 것으로 이해하면 좋다. 이처럼 자주 조회되는 필드(데이터)에 대해 따로 저장을 진행하여 탐색 속도를 빠르게 한다. 따로 저장을 진행하므로 일정 용량을 차지한다. 언제 사용하는가? 정의만 보면 좋아보이지만, 단점이 명확히 있다. 인덱싱 된 필드에 쓰기(삽입, 갱신, 삭제)작업은 오래 걸린다는 것이다. 쓰기 작업 이후 데이터가 변경될 때 마다 도큐먼트만이 아닌 모든 인덱스를 갱신한다. 적합한 쿼리 구성 인덱스를 진행할 필드의 선정은 자주쓰는 쿼리, 빨리 수행해야 하는 쿼리를 조사해 공통적인 키 셋을 찾아 진행하도록 한다. 독특한 쿼리, 관리자에 의해 실행되는 쿼리 등 소요..

article thumbnail
[mongoDB] 쿼리
Database 2023. 3. 17. 23:06

조건 쿼리 $lt, $lte, $gt, $gte 각각 =에 대응한다. // 18세에서 30세 사이의 사용자 model.find({"age" : {"$gte" : 18 "$lte" : 30}}); $ne not equal로 같지 않음을 표현 // john이 아닌 모든 사용자 model.find({"name" : {"$ne" : "john"}}) $in, $or 조건에 일치하는 도큐먼트를 찾는다. $in은 다른 데이터형도 사용 가능하다. 반대로 배열 내 조건과 일치하지 않는 도큐먼트는 $nin // $in // 이름이 smaivnn이거나 potpae인 사용자를 찾는다. model.find({"name" : {"$in" : ["smaivnn", "potpae"]}}) $or은 조건들의 배열을 취한다. 또한 다..