[DB] Redis란? 개념부터 자료 구조까지 한 번에 정리!
·
DB
현재 나는 AI를 활용하여 여행 일정을 자동으로 생성하는 기능을 개발 중이다. 테스트를 진행하는 과정에서, 새로운 장소를 추천할 때 이전에 추천된 장소가 중복 포함되는 문제를 발견했다.이 문제를 해결하기 위해 여러 방법을 고민하던 중, Redis의 캐싱 기능을 알게 되었다. Redis를 활용하면 기존에 추천된 여행 일정의 장소를 저장하고, 새로운 추천 요청 시 중복된 장소가 다시 추천되지 않도록 필터링하는 방식을 적용할 수 있었다.[Python] Redis를 활용한 중복 추천 방지 캐싱 서비스 개발 이 과정에서 Redis의 개념과 특징, 그리고 장점에 대해 깊이 이해하게 되었고, 이를 정리해보고자 한다. Redis란?Remote Dictionary Server의 약자로, 오픈 소스 인메모리(In-Memo..
[DB] MongoDB Atlas 설정 및 삭제 방법 총정리
·
DB
프로젝트에서 MongoDB Atlas를 사용하며 설정하는 과정을 정리하려고 한다. 처음부터 차근차근 진행한 내용을 공유하여, 같은 설정을 하는 분들에게 도움이 될 수 있도록 작성하였다. MogoDB Atlas 설정 방법1. 무료로 시작하기 선택MongoDB Atlas 사이트에서 무료로 시작하기(Free) 버튼을 클릭한다.2. 계정 생성이메일, 비밀번호를 입력하여 새 계정을 만들거나, Google 계정으로 간편 가입이 가능하다. 3. 프로젝트 생성프로젝트 이름을 입력하고 프로젝트 생성(Create Project)을 클릭한다.Tags는 선택 사항이므로 입력하지 않아도 된다. 4. 멤버 추가 및 권한 설정필요하다면 팀원을 추가하고, 역할(Role)을 설정할 수 있다.단독 사용이라면 그대로 넘어가도 무방하다. ..
[DB] ORM(Object-Relational Mapping)이란?
·
DB
개발을 하다 보면 데이터베이스와 객체를 매핑하는 작업이 꽤 번거롭다는 걸 느끼게 된다. SQL을 직접 다루면 코드가 복잡해지고 유지보수가 어려워지는 경우가 많다. 그래서 ORM(Object-Relational Mapping)이라는 개념이 등장했다. 쉽게 말하면 객체와 데이터베이스 테이블을 매핑해서 객체 지향적으로 데이터 조작을 가능하게 해주는 기술이다.  Java 데이터베이스 접근 방식: JPA vs MyBatis 비교1. JPA (Java Persistence API, Hibernate)JPA는 자바에서 대표적인 ORM 기술로, SQL을 직접 작성하지 않고도 객체를 통해 데이터베이스 조작이 가능하다.JPA 사용 예제import jakarta.persistence.*;import java.util.Lis..
[DB] DB 정규화 (Database Normalization)에 대하여
·
DB
나는 프로젝트를 진행할 때마다 DB 설계가 가장 큰 고민이 된다. 어떻게 설계해야 효율적이고, 나중에 문제가 발생하지 않도록 미리 고려할 수 있을지 항상 어려움을 느낀다. 무엇보다 DB 설계가 제대로 이루어지지 않으면 개발 방향이 엉뚱하게 흘러가거나, 나중에 수정해야 하는 번거로움이 생길 수 있다는 점에서 설계의 중요성을 크게 실감하고 있다. 정규화란?중복 데이터를 줄이고, 데이터 무결성(Data Integrity)을 보장하기 위해 테이블을 설계하는 과정이다. 이를 통해 데이터 이상 현상(Anomalies)을 방지하고, 효율적인 데이터 관리 및 업데이트를 가능하게 만든다.정규화의 필요성데이터 중복: 동일한 데이터가 여러 곳에 저장되어 저장 공간 낭비데이터 불일치: 여러 곳에 저장된 데이터 중 일부만 수정..