redis-cli 명령어 각 Key는 고유하고, 거기에 대응하는 Value 값에는 Strings, Lists, Hashes 등 다양한 데이터 타입이 저장될 수 있습니다. Redis 커맨드 명령어도 데이터 타입에 따라 쓸 수 있는 것이 달라집니다. Strings # SET : Key에 대응하는 Value에 문자열을 저장합니다. > SET key1 value1 # GET : Key에 대응하는 Value 값을 가져옵니다. > GET key1 "value1" # INCR : Key에 대응하는 Value 값을 Integer로 취급하여 1증가 시킵니다. > SET num 10 > INCR num (integer) 11 # DECR : Key에 대응하는 Value 값을 Integer로 취급하여 1감소 시킵니다. > ..
Redis: Remote Dictionary Server Redis는 메모리 내(In-Memory)에서 데이터를 저장하고 관리하는 오픈 소스 데이터 구조 서버입니다. Redis 특징 1. In-Memory Store Redis는 메모리 내에 데이터를 저장할 수 있는 In-Memory DB 입니다. 디스크보다 메모리에서 데이터를 읽고 쓰는 것이 빠르기 때문에 데이터에 빠르게 액세스 할 수 있습니다. 이러한 특징으로 Redis는 캐시 역할도 하여 다른 DB의 부하를 줄이고 응용 프로그램의 성능을 향상시킬 수 있습니다. Redis는 In-Memory 즉, 휘발성인 RAM에 저장하기 때문에 데이터가 영속성을 갖지 않는 문제가 있습니다. 2. 휘발성 Redis는 메모리 내에 데이터를 저장하기 때문에 시스템을 다시..
Aggregation MongoDB의 aggregation은 데이터를 처리하고 변환하기 위한 강력한 도구입니다. Aggregation 파이프라인은 여러 단계의 데이터 처리 단계를 포함하며, 각 단계는 데이터를 조작하고 변환하여 원하는 결과를 생성합니다. 즉 위에서부터 각 단계마다 입력한 Operators에 따라 데이터가 처리되고 처리 된 데이터가 다음 단계로 넘어간다는 것입니다. Aggregation은 SQL의 GROUP BY와 유사한 작업을 수행할 수 있으며, 데이터의 그룹화, 정렬, 필터링, 변환, 계산 등 다양한 작업을 지원합니다. https://www.mongodb.com/docs/manual/reference/operator/aggregation-pipeline/ Aggregation Stage..
배열 내 숫자 조건으로 필터링: $elemMatch 배열 내의 숫자를 조건으로 필터링하기 위해선 MongoDB의 배열 쿼리 연산자인 $elemMatch를 사용해야 합니다. # 초기 데이터 { "name": "Kim", "numbers": [5, 10, 15, 20, 25] } $elemMatch 사용하지 않은 경우 db.users.find({ numbers: { $gte: 17, $lte: 19 } }) 이 쿼리는 배열 안에 있는 요소들 중 17이상이고 19이하인 요소가 있는 document를 찾고싶습니다. 위 조건대로 본다면 요소엔 17이상 19이하인 요소는 없기 때문에 위 document는 포함되지 않아야한다 생각합니다. 하지만 결과는 위 document가 결과에 포함됩니다. 그 이유는 위 쿼리는 배..
SQL vs MQL SQL에 익숙한 사람은 SQL과 비교하여 학습하면 좀 더 MQP을 쉽게 이해할 것이라 생각합니다. https://www.mongodb.com/docs/manual/reference/sql-comparison/ SQL to MongoDB Mapping Chart — MongoDB Manual Docs Home → MongoDB Manual In addition to the charts that follow, you might want to consider the Frequently Asked Questions section for a selection of common questions about MongoDB.The following table presents the various S..
MongoDB 배포 형태: Replica Set와 Sharded Cluster Replica Set Replica Set은 고가용성(HA)과 데이터 복제를 위해 사용되는 구성입니다. 여러 각 노드는 독립적인 데이터베이스 인스턴스로서 역할을 수행합니다. 때문에 예를 들어 Primary 노드에 장애가 발생하더라도 Secondary 노드들은 여전히 서비스를 제공할 수 있습니다. 이는 시스템의 가용성을 높이고, 사용자가 중단 없이 서비스를 이용할 수 있도록 해줍니다. Primary 노드 Replica Set 중 단 하나의 노드입니다. Primary 노드는 데이터 Read / Write 요청을 모두 처리할 수 있습니다. 다른 Secondary 노드들에게 데이터를 복제합니다. Secondary 노드 Replica ..