본문 바로가기

DATABASE

(9)
[OSSCA] OSSCA 체험형 마무리 프로젝트 진행 목표 및 과정멘토님께서 Redis라는 큰 오픈소스의 이슈를 해결하기에는 4주라는 기간은 너무 짧다고 판단하여서, 해당 기간 동안 Redis에 대한 학습에 집중하기로 결정하셨습니다. 우선, 프로젝트 시작 전에 2주 동안은 오픈소스 커뮤니티에서 제공하는 유튜브 강의를 시청하여 git에 대한 기본적인 이해를 정리하는 시간을 가졌습니다. Git은 협업 및 버전 관리를 위해 필수적인 도구이며, 오픈소스 프로젝트에 기여할 때 필수적인 요소입니다. 따라서, 기본적인 Git의 개념과 사용법을 숙지하고자 이러한 학습을 진행했습니다. 다음으로, 나머지 4주 동안은 Redis에 대한 깊은 학습에 집중하였습니다. 이 기간 동안에는 Redis의 주요 기능과 용도를 학습하고, 실제로 어떻게 사용되는지에 대한 심도 ..
[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] 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 Week4 이상 현상이 뭘까요?이상현상은 데이터베이스의 테이블을 설계를 잘못하여 데이터를 가공할 때 데이터의 무결성이 깨지는 현상을 말합니다. 그 유형으로는 삽입이상, 갱신이상, 삭제이상으로 구성되어 있습니다. 이상현상정규화를 거치지 않은 릴레이션에서 발생할 수 있는 이상 현상.데이터들이 불필요하게 중복.속성들의 종속관계</..
[JSCode] Database Week2 Week2SQL에 대해서 설명해주세요. C언어와 같은 프로그래밍 언어와 어떤차이가 있나요?SQL은 구조화 질의어로 관계형 데이터베이스 관리 시스템의 데이터를 관리하기 위해 설계된 언어입니다. 이는 자료 검색과 관리, 스키마 생성과 수정 등의 기능이 있고, 데이터 정의 언어인 DDL, 데이터 조작 언어인 DML, 데이터 제어 언어 DCL이 있습니다.C나 자바와 같은 일반 프로그래밍 언어는 절차적 언어로 특징은 프로그..