본문 바로가기

분류 전체보기

(174)
[Redis] Redis 기본 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁RedisKey-Value Store의 하나의 DBRemote Dictionary Server의 약자로, 원격 Dictionary 자료구조 서버라는 뜻Key로 올 수 있는 자료형은 기본적으로 String이지만, Value는 다양한 타입을 지원함.메모리 기반 데이터베이스이기 때문에, Disk를 기반으로 하는 RDBMS보다 read가 빠름.💡 잠깐! RDBMS도 쿼리를 통해 조회해오면, 메모리에 존재하는 Buffered Cache를 이용한다고 알고 있어요. (= Cache Hit)        Buffered Cache를 활용할 때의 RDBMS와 레디스는 조..
[OSSCA2024] 과제 4 해설 제가 공부한 내용을 정리하는 블로그입니다. 아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁과제 4 설명echo2 abc라고 보내면 abc가 응답이 아닌 echo2_abc가 응답으로 오도록bulk 단위Respv2 기준 하나의 명령을 나타내는 blockex) $4\r\npong\r\necho abc 라고 명령을 입력했을 때c → argc = 2 =>명령어의 길이c → argv[0] = “echo” => 첫번째 명령어c → argb[1] = “abc” => 두번째 명령어robj(server object)type: 4bit2^4 ⇒ 16개의 타입 가능encoding: 4bitlru: 24bitlru, lfu 쓸때 모두 사용.type + encodin..
[OSSCA2024] Redis 과제4 실패.. 제가 공부한 내용을 정리하는 블로그입니다. 아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁이번 과제는 지난 과제 3이였던 echo 명령을 개선하는 과제이다.이번 힌트는 sds 구조체 분석이다. 과제 3 세팅먼저 이전 과제 3번을 세팅하면이전 과제에서는 직접 command.def 파일에 정의했다면 json 파일을 통해 정의하는 방법으로 진행하겠다.src/commands 아래에 echo2.json 파일을 다음과 같이 생성한다. document와 함께 def 파일을 정의하기 위해 redis에서는 다음과 같이 json으로 빌드 시에 def 파일에 정의할 수 있도록 하였다.{ "ECHO2": { "summary": "Returns t..
[OSSCA2024] Cache - 2주차 온라인 미팅 제가 공부한 내용을 정리하는 블로그입니다. 아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Cache 적용 후 Select Query 비교캐시는 얼마나 Hit 되는지가 중요한 요소SELECT는 캐시 Hit 이후 평균 시간이 급격하게 감소UPDATE는 캐시 Hit가 있을 수 없으므로 캐시 적용 전과 비슷.CPU 사용량서비스에 따라 다르지만 SELECT가 DB에 도착하지 않으므로(캐시를 사용하므로) CPU 사용량이 줄어듦.DB에 레플리카를 만들어서 SELECTWRITE에는 다른 트릭을 적용해서 CPU 사용량을 줄일 수 있음.💡 Performance Toolgatling, locust, 엥그라이드, jmeter가 존재. 최근에는 gatling, l..
[OSSCA2024] 3주차 Redis 과제 3번 해설 제가 공부한 내용을 정리하는 블로그입니다. 아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁2024년 4월 27일 온라인 강의 내용레디스의 echo 명령: 받은 내용 그대로 전달.set a 123/* * set a 123이라는 명령이 들어올 때.. * argv[0]: set * argv[1]: a * argv[2]: 123 * argc: 2 */Redis 실행 flowServerCommandArgServerCommandgenerate-command-code.py해당 파일에서 make_cmd를 자동적으로 만들어줌.comand_list에 들어가는 내용과 JSON을 읽어와서 명령어를 추가.Document와 함수를 한번에 처리하기 위해 JSON을 추가..
[Redis] NoSQL이란 제가 공부한 내용을 정리하는 블로그입니다. 아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁NoSQL을 제대로 알기 전에 RDBMS의 특징을 제대로 알고 가보자! RDBMS의 특징Column과 Row가 두개 이상의 테이블Row: 정보를 나타냄Column: 이름, 주소 등 특정한 유형의 정보를 정렬스키마: 테이블과 필드 타입 간의 관계관계형 데이터베이스에서 스키마는 정보를 추가하기 전에 명확하게 정의되어 있어야 함.테이블과 필드의 설계를 확실히하고 데이터를 저장해야함.데이터 중복을 최소화, 데이터 정합성을 맞춰야 함.데이터의 유연성이 떨어지는 상황도 발생하기도 함.SQL데이터베이스 설계자가 관계형 데이터베이스를 설계하는데 사용하는 프로그래밍 언어..
[OSSCA2024] Redis 과제 3 제가 공부한 내용을 정리하는 블로그입니다. 아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁과제 3받은 내용을 그대로 다시 돌려주는 echo{영어이름} 명령을 만들어보자과제 시작 전 배경지식..Redis에 명령은 어디에 저장되어 있을까?src/ 디렉토리 밑에 commands 시작하는 파일이 존재.src/commands.hsrc/commands.csrc/commands.def 추가: def 파일 정리 echo 명령은 어떻게 실행될까?기본적으로 echo 명령은 받은 문자를 그대로 반환하는 명령이다. 과정// commands.h// commands.c#define MAKE_CMD(name,summary,complexity,since,doc_flags..
[JSCode] Database 면접 스터디 회고록 Database 면접 스터디를 시작하게 된 계기컴퓨터 공학과를 나왔지만 Database 수강을 실패하여 개인적으로 Database의 책을 찾아보고 공부하여 정리하였지만, Database의 개념이 부족하다고 생각이 들었다. 그때 인프런을 통해서 JSCode에서 진행하는 Database 면접 스터디를 확인하였고, 주저없이 신청하게 되었다.각 주차별로 큰 주제가 있으며 그 주제 안에서 면접에서 충분히 질문이 가능한 항목들을 미리 운영진 분들께서 추려주어 해당 부분에 대해 한 주동안 학습해오고 스터디날 면접 스터디를 역할을 나누어 진행하는 것이 프로세스였다. 스터디를 해보..