Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

엘라의 개발 스케치 Note

[TIL] 내일배움캠프 94일차(23.08.16.) - Java 자료형 vs. MySQL DB Type, PUT vs. PATCH, NoSQL vs. RDBMS 본문

내일배움캠프/TIL

[TIL] 내일배움캠프 94일차(23.08.16.) - Java 자료형 vs. MySQL DB Type, PUT vs. PATCH, NoSQL vs. RDBMS

엘라랑이 2023. 8. 16. 21:38

To-do

  • 최종 프로젝트 발제
  • 최종 프로젝트 회의 및 S.A.(API 명세, ERD, 와이어프레임 등) 작성 -> 제출
  • 기술면접 대비 공부
  • 알고리즘 문제 풀이

 


TIL

< Java 자료형 ->  MySQL DB Type >

Java 자료형 MySQL 데이터베이스 타입
int INT
long BIGINT
String VARCHAR, TEXT
boolean BOOLEAN, TINYINT(0 또는 1)
float FLOAT
double DOUBLE
Date (java.util.Date 또는 java.sql.Date) DATE, DATETIME, TIMESTAMP
byte[] BLOB, VARBINARY
BigDecimal DECIMAL, NUMERIC
Enum ENUM, VARCHAR
List 또는 Set (대개 사용자 지정 객체 컬렉션) 별도의 테이블을 만들거나, JSON 형식으로 저장 (MySQL 5.7 이상)
Map (대개 사용자 지정 객체 맵) JSON 형식으로 저장 (MySQL 5.7 이상)

 

< Http 메소드 중 리소스 업데이트 -  PUT과 PATCH의 특징과 차이점 >

* PUT 메소드

- PUT은 전체 리소스를 업데이트하는 데 사용됩니다. 즉, 요청된 데이터로 대상 리소스를 '완전히 대체'합니다.
- 클라이언트가 모든 필수 데이터를 가지고 있으며, 전체 리소스가 수정되어야 할 때 유용합니다.
- 서버는 요청된 리소스의 내용을 제공된 데이터로 바꿉니다. 기존 데이터가 없는 경우 새로운 리소스를 생성합니다.

* PATCH 메소드

- PATCH는 리소스의 부분적 업데이트에 사용됩니다. 즉, 리소스의 '일부분만 수정'하거나 추가합니다.
- 리소스의 변경된 부분만을 전송하고자 할 때 유용하며, 전체 리소스를 보내는 것보다 경제적입니다.
- 서버는 요청된 변경사항만을 리소스에 적용하여 업데이트합니다. 나머지 부분은 변경되지 않습니다.

 

< 요약 >
 " PUT은 전체 리소스를 대체하고, PATCH는 리소스의 일부분만 업데이트합니다. PUT은 완전한 데이터를 요구하며, PATCH는 변경된 부분만 요구합니다. "
 " 최근 웹 개발에서는 PATCH 메소드의 사용이 증가하는 추세입니다. 이는 대부분의 경우 리소스의 부분 업데이트가 필요하기 때문입니다. PATCH 메소드는 리소스 전체를 보내지 않아도 되므로 네트워크 자원과 대역폭을 더 효율적으로 사용할 수 있습니다. 또한 RESTful API 설계에서도 리소스의 부분 업데이트를 보다 명확하게 표현하는 방식으로 PATCH 메소드를 선호하는 경향이 있습니다. "
 " 결론적으로, PUT과 PATCH 중 어떤 메소드를 선택할지는 사용하는 데이터와 요구사항에 따라 달라지며, 리소스 업데이트 방식에 따라 적절한 메소드를 선택하는 것이 중요합니다. "

 

< 데이터베이스 시스템의 두 가지 주요 유형 - NoSQL과 RDBMS의 특징과 차이점 >

* NoSQL (비관계형 데이터베이스)

  • 특징
1. 유연한 데이터 모델: NoSQL은 스키마를 미리 정의하지 않고 데이터를 저장할 수 있으므로 데이터 모델을 유연하게 조정할 수 있습니다.
2. 확장성: NoSQL 데이터베이스는 수평 확장이 용이하며, 대규모 데이터 처리에 적합합니다.
3. 다양한 모델: 다양한 유형의 NoSQL 데이터베이스가 존재하며, 각각의 모델은 특정 사용 사례에 더 적합한 방식으로 데이터를 저장하고 관리합니다.
  • 장점
1. 유연성: 데이터 모델의 유연성으로 인해 데이터 구조 변경이 간단하며, 새로운 필드 추가나 삭제가 쉽습니다.
2. 확장성: 대규모 데이터 처리에 적합하며, 클라우드 환경에서 효과적으로 확장할 수 있습니다.
3. 빠른 속도: 일부 NoSQL 데이터베이스는 단순한 데이터 구조로 데이터 조회 및 저장 속도가 빠를 수 있습니다.
  • 단점
1. 제한된 쿼리 기능: SQL과 비교하여 쿼리 기능이 상대적으로 제한적일 수 있습니다.
2. 일관성 유지의 어려움: 분산 환경에서 데이터 일관성을 유지하기 어려울 수 있습니다.
3. 부족한 표준화: NoSQL 데이터베이스 간에 표준화가 부족하며, 사용자마다 다른 언어 및 API를 사용할 수 있습니다.

 

* RDBMS (관계형 데이터베이스)

  • 특징
1. 정형 데이터 모델: RDBMS는 사전에 정의된 스키마에 따라 데이터를 구조화하고 관리합니다.
2. ACID 트랜잭션 지원: RDBMS는 트랜잭션 처리를 통해 데이터 일관성과 안정성을 보장합니다.
3. 강력한 쿼리 언어: SQL을 사용하여 복잡한 쿼리를 수행하고 데이터를 추출할 수 있습니다.
  • 장점
1. 데이터 일관성과 안정성: ACID 트랜잭션을 지원하여 데이터 일관성과 안정성을 보장합니다.
2. 강력한 쿼리 기능: 복잡한 데이터 조작과 질의를 수행하는데 강력한 SQL 쿼리 언어를 사용할 수 있습니다.
3. 표준화: RDBMS는 SQL 표준을 준수하며, 다양한 벤더에서 동일한 SQL 언어를 지원합니다.
  • 단점
1. 스키마 변경의 어려움: 데이터 모델의 변경이 어려울 수 있으며, 대규모 확장이 상대적으로 어려울 수 있습니다.
2. 수직 확장의 한계: 대부분의 RDBMS는 수직 확장만 지원하며, 대량의 데이터 처리에 한계가 있을 수 있습니다.
3. 복잡한 조인: 복잡한 조인 작업은 성능에 영향을 줄 수 있습니다.

 

< 요약 >
 " NoSQL과 RDBMS는 데이터베이스 시스템으로, NoSQL은 유연하고 확장 가능한 데이터 모델로 비정형 데이터에 적합하며, 분산 환경에서 대용량 데이터 처리에 유리합니다. 하지만 쿼리 기능이 제한되고 일관성 유지가 어려울 수 있습니다. 반면, RDBMS는 정형 데이터를 강력한 쿼리와 ACID 트랜잭션으로 처리하며 데이터 일관성과 안정성을 보장합니다. 그러나 스키마 변경이 어렵고 대규모 확장에 한계가 있을 수 있습니다. "

Next...

  • 최종 프로젝트 회의
  • CS 공부
  • 기술면접 대비 공부
  • JPA 강의 듣기
  • 알고리즘 문제 풀기
  • 뚜까패 스터디 발표 자료 정리
Comments