반응형

분류 전체보기 164

몽고DB에 문서 대량 삽입하기

MongoDB에 더미파일을 넣으려고 하는데 MongoDB Compass로는 한계가 있어 Java Maven 프로젝트를 활용하여 집어넣어보려고 한다.Maven 프로젝트에서 Java 드라이버를 사용하여 만든다. 이후 클래스 파일을 하나 만들었다.public class InsertLargeData { public static void main(String[] args) { //ip에 따라 localhost의 값이 변경되어야함 String uri = "mongodb://localhost:27017"; try (MongoClient mongoClient = MongoClients.create(uri)) { Document pingResult = mongoC..

공부/DB 2025.08.06

MongoDB 4장(MongoDB 모델링)

데이터베이스 스키마MongoDB는 관계형 데이터베이스와 같은 데이터베이스 스키마 개념이 없다. 이것이 바로 몽고DB를 포함한 많은 NoSQL데이터베이스를 스키마리스 또는 유연한 데이터베이스라고 불리는 이유이다.--> 스키마가 전혀 없다는 뜻은 아니다.MongoDB는 CREATE TABLE과 같이 컬렉션(Collection, RDBMS의 테이블)의 모든 필드 이름, 데이터 타입, 제약 조건을 정의할 필요가 없다.- 특징 - 문서별 유연성 : 같은 컬렉션 안의 문서라도 서로 다른 필드들을 가질 수 있다. 어떤 문서는 특정 필드를 가지고, 다른 문서는 그 필드가 없을수도 있으며, 필드의 데이터 타입이 다를수도 있다. - 즉각적인 사용 : 데이터를 삽입하면 컬렉션이 자동으로 생성되며, 스키마 정의 과..

공부/DB 2025.08.01

MongoDB 3장

문서지향 데이터베이스MongoDB는 BSON(Binary JSON)형식으로 문서를 저장한다. BSON은 JSON과 거의 동일한 구조를 가지며, 필드-값 쌍으로 구성되고, 배열이나 중첩된 객체를 포함할 수 있어 유연하다. 문서 기반의 저장 방식 덕분에 MongoDB는 다음과 같은 주요 특징과 장점을 모두 가진다.- 유연한 스키마 : 데이터를 저장하기 전에 엄격한 스키마를 저장할 필요가 없으며, 문서마다 다른 구조를 가질 수 있다.- 직관적인 데이터 모델링 : 애플리케이션의 객체 모델과 유사하여 개발자가 다루기 쉽다.- 수평적 확장성 : 데규모 데이터와 트래픽을 처리하기 위해 서버를 쉽게 추가하여 확장할 수 있다.- 고성능 읽기 : 관련 데이터가 하나의 문서에 내장되어 있어 조인 없이 빠르게 데이터를 조회할..

공부/DB 2025.07.31

MongoDB 2장

데이터량이 한정되었을때는 관계형데이터베이스를 가지고 처리가 가능했다.데이터 양이 점점 많아지고 복잡도가 증가함에 따라 관계형데이터베이스가 처리할 수 있는 한계가 있었다.더 많은 데이터 양을 처리하기 위해 NoSQL이 떠올랐다. NoSQL(Not Only SQL)특징- 전통적인 관계형 데이터베이스보다 덜 제한적- 일관성 모델을 이용하는 데이터의 저장 및 검색을 위한 매커니즘 제공- 디자인의 단순화, 수평적 확장성 추구- 단순 검색 및 추가 작업을 위한 매우 최적화된 키값 저장 공간으로, Latency와 throughput관련하여 상당한 성능 이익 제공- 빅데이터와 실시간 웹 애플리케이션용 NoSQL의 장점- 확장성 : NoSQL 데이터베이스는 수평적 확장에 매우 강력하다. 더 많은 서버를 추가함으로써 쉽게..

공부/DB 2025.07.30

MongoDB 1장

이번 프로젝트에서 몽고DB 제품을 QA하게 되어 급작스럽게 MongoDB를 배우게 되었다.NoSQL이라 그런지 생각보다 강의도 적고, 정보량이 많지 않아 삽질을 할 것 같다. chapter 01. 데이터베이스 기본데이터베이스- 데이터베이스는 여러 응용 시스템들의 통합된 정보를 저장하여 운영할 수 있는 공용 데이터들의 묶음이다.- 여러 사람이 공유하고 사용할 목적으로 통합 관리되는 정보의 집합이다.- 논리적으로 연관된 하나 이상의 자료의 모음으로 그 내용을 고도로 구조화함으로써 검색과 갱신의 효율화를 꾀한 것이다.- 몇개의 자료 파일을 조직적으로 통합하여 자료 항목의 중복을 없애고, 자료를 구조화하여 기억시켜 놓은 자료의 집합체라고 할 수 있다. 데이터베이스는 다수의 사용자가 함께 사용하기 때문에 데이..

공부/DB 2025.07.28

주문 도메인 개발

구현 기능- 상품 주문- 주문 내역 조회- 주문 취소 순서- 주문 엔티티, 주문상품 엔티티 개발- 주문 리포지토리 개발- 주문 서비스 개발- 주문 검색 기능 개발- 주문 기능 테스트 주문, 주문 상품 엔티티 개발@Entity@Getter@Setter@Table(name = "orders")public class Order { @Id @GeneratedValue @Column(name = "order_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "member_id") private Member member; @OneToMany(mappedBy = "order", casca..

공부/JPA 2025.07.03

상품 도메인 개발

구현 기능- 상품 등록- 상품 목록 조회- 상품 수정 순서- 상품 엔티티 개발(비즈니스 로직 추가)- 상품 리포지토리 개발- 상품 서비스 개발, 상품 기능 테스트 상품 엔티티 개발(비즈니스 로직 추가)@Entity@Getter@Setter@Inheritance(strategy = InheritanceType.SINGLE_TABLE)@DiscriminatorColumn(name = "dtype")public abstract class Item { @Id @GeneratedValue @Column(name = "item_id") private Long id; private String name; private int price; private int stockQuanti..

공부/JPA 2025.06.30

애플리케이션 구현 준비

회원 도메인 개발구현 기능- 회원 등록- 회원 목록 조회 순서- 회원 엔티티 코드 다시 보기- 회원 리포지토리 개발- 회원 서비스 개발- 회원 기능 테스트 회원 리포지토리 개발@Repositorypublic class MemberRepository { @PersistenceContext private EntityManager em; public void save(Member member) { em.persist(member); } public Member findOne(Long id) { return em.find(Member.class, id); } public List findAll() { return em.createQu..

공부/JPA 2025.06.30

애플리케이션 구현 준비

- 회원 기능 - 회원 등록 - 회원 조회- 상품 기능 - 상품 등록 - 상품 수정 - 상품 조회- 주문 기능 - 상품 주문 - 주문 내역 조회 - 주문 취소 예제를 단순화 하기 위해 다음 기능은 구현하지 않는다.- 로그인과 권한 관리 X- 파라미터 검증과 예외 처리 X- 상품은 도서만 사용- 카테고리는 사용 X- 배송 정보는 사용 X 계층형 구조 사용- controller, web : 웹 계층- service : 비즈니스 로직, 트랜잭션 처리- repository : JPA를 직접 사용하는 계층, 엔티티 매니저 사용- domain : 엔티티가 모여있는 계층, 모든 계층에서 사용 패키지 구조- jpabook.jpashop - domain - exce..

공부/JPA 2025.06.27

도메인 분석 설계

요구사항 분석기능 목록은 다음과 같다.- 회원 기능 - 회원 등록 - 회원 조회- 상품 기능 - 상품 등록 - 상품 수정 - 상품 조회- 주문 기능 - 상품 주문 - 주문 내역 조회 - 주문 취소- 기타 요구사항 - 상품은 재고 관리가 필요하다. - 상품의 종류는 도서, 음반 영화가 있다. - 상품을 카테고리로 구분할 수 있다. - 상품 주문 시 배송 정보를 입력할 수 있다. 도메인 모델과 테이블 설계 회원, 주문, 상품의 관계 : 회원은 여러 상품을 주문할 수 있다. 그리고 한번 주문할 때 여러 상품을 선택할 수 있으므로 주문과 상품은 다대다 관계이다. 하지만 이런 다대다 관계는 관계형 데이터베이스는 물론이고 엔티티에서도 거의 사용하지 ..

공부/JPA 2025.06.26
반응형