본문 바로가기
728x90

넓고 얕은 데이터베이스 지식/NoSQL6

Redis의 RESP에 대해 간단히 알아보자 🤖 RESP(Redis Serialization Protocol)란?Redis 서버는 클라이언트와 통신할 때 RESP(Redis Serialization Protocol)라는 간단한 텍스트 기반 프로토콜을 사용한다.일반적인 서버와 클라이언트가 JSON 형식으로 데이터를 주고받는 것처럼 클라이언트가 명령을 보낼 때와 Redis 서버가 응답할 때 모두 정해진 포맷으로 문자열을 주고받는 방식이다. 😗 간단한 예시# 클라이언트$ set email gildong@email.email클라이언트에서 사용자가 입력하는 명령어이다. # RESP로 변환되어 서버에는 아래와 같이 전송됨*3\r\n$3\r\nSET\r\n$5\r\nname\r\n$19\r\ngildong@email.email\r\nRedis 서버로 전송될.. 2025. 5. 21.
Valkey 오픈 소스를 직접 빌드하고 나만의 명령어를 추가해보자 💡 설명 : C언어를 전혀 모르는 자바 개발자가 최대한 이해하기 쉽게 풀어쓴 실습 기록입니다.🌀 목표 : Valkey의 소스 코드에서 echo 명령어를 참고하여 나만의 echo 명령어 만들어보기- 커맨드 이름 : echoX3- 커맨드 설명 : 입력 문자열을 세 번 반복하는 echo 명령어- 커맨드 입력 예시 : "helloworld!"- 커멘드 출력 예시 : "helloworld! helloworld! helloworld!" 👨🏻‍🔬 사전 준비🧪 Valkey GitHub 저장소 Fork & Clone아래 링크로 접속:👉 https://github.com/valkey-io/valkey오른쪽 상단의 Fork 버튼 클릭👉 본인의 GitHub 계정으로 복사본 생성됨 (예: github.com/yo.. 2025. 5. 13.
Redis & Valkey에 대해 알아보자 - 원자성과 자료구조(Siphash, Skiplist) 💡 공부하며 작성한 내용으로 잘못된 내용이 있을 수 있습니다.🌀 Valkey는 Redis의 포크 버전으로 기본 개념과 동작방식은 동일하기 때문에 명칭 생략했습니다. 💧 Redis의 원자성(Automicity)Redis는 모든 명령어가 원자적으로(Atomic) 실행되도록 설계되어 있습니다.즉, 하나의 명령어는 중간에 끼어들거나 나뉘지 않고, 완전히 실행되거나 아예 실행되지 않습니다.예를 들어 INCR counter 명령어는 다른 클라이언트의 명령어가 중간에 끼어들 수 없이 한 번에 실행되기 때문에, 여러 클라이언트가 동시에 이 명령을 실행해도 값이 정확하게 증가합니다.INCR counter 명령어는 특정 키의 숫자 값을 1 증가시키는 명령어입니다.이러한 동작이 가능한 이유는 Redis가 단일 스레드 .. 2025. 5. 11.
Redis & Valkey에 대해 알아보자 - 개념, 역사, 캐싱, 사용 분야 💡 공부하며 작성한 내용으로 잘못된 내용이 있을 수 있습니다. 🟥 Redis란? Redis는 "REmote DIctionary Server"의 약자로, 메모리 기반의 고성능 키-값(key-value) 데이터 저장소입니다. NoSQL 계열의 데이터베이스 중 하나로 분류되며, 빠른 읽기/쓰기 성능을 위해 데이터를 디스크가 아닌 메모리에 저장합니다. 🟥 개발 배경 Salvatore Sanfilippo는 LLOOGG라는 실시간 로그 분석 툴을 개발 및 운영하던 중, 기존 MySQL의 확장성에 한계를 느끼고 이를 해결하기 위해 2009년에 Redis를 개발하였습니다. 이후 Redis는 빠르게 성장하며 전 세계적으로 널리 사용되었고, 2015년부터는 Redis Labs(현 Redis Inc.)가 프로젝트의.. 2025. 5. 9.
속성으로 익히는 mongoDB (관련 용어 & 명령어 요약 정리) MongoDB 문서 지향 데이터 모델을 사용하는 오픈 소스 NoSQL 데이터베이스 관리 시스템이다. 유연한 JSON과 유사한 문서에 데이터를 저장한다. 주요 용어 문서(Document) mongDB에서의 기본 데이터 단위로 일반적으로 JSON 형식으로 표시된다. 문서는 관계형 데이터베이스의 행 또는 레코드와 유사하다. 데이터베이스(Database) 여러개의 컬렉션으로 구성되며 컬렉션의 집합이다. 컬렉션(Collection) mongoDB의 문서 집합이다.(그룹으로 묶은 것) 컬렉션은 관계형 데이터베이스의 테이블과 유사하다. 문서 ID(Document ID) 각 컬렉션 내 문서에 대한 고유 식별자이다. 기본적으로 몽고DB는 각 문서에 _id 필드를 자동으로 생성한다. 쿼리(Query) 특정 기준을 바탕으로.. 2023. 8. 11.
macOS에서 mongoDB를 설치해보자 mongoDB 공식문서를 통해 macOS 환경에 mongoDB를 설치해 보자. 구글에 "mongodb 공식 문서"라고 검색하면 공식문서 웹사이트가 나온다. 왼쪽 메뉴에 MongoDB Manual을 통해 버전을 확인한다. 안정된 6.0 현재 버전을 다운로드할 생각이다. 이 글을 보는 시점에서 적절한 버전을 선택하면 된다. mongoDB Community Edition이 오픈소스 라이선스(무료 버전)이므로 선택한다. 아주 친절하게 운영체제 및 컨테이너 별 설치 방법이 나와있으므로 로컬 환경에 맞는 링크로 들어가면 된다. 나는 macOS로 들어갔다. 설치방법을 확인해 보니 Xcode 명령어나 Homebrew를 이용하여 다운로드할 수 있다고 나온다. 가장 기본적인 Homebrew를 이용하겠다. 위의 스크린샷에 .. 2023. 8. 10.
728x90