에이콘아카데미 회고/5회차) 자바기반 풀스택 개발자 양성과정
JAVA, SQL) 51번째 회고
유쨈미
2024. 7. 6. 18:56
1. Map.Entry
Map.Entry는 Java의 Map 인터페이스에서 키-값 쌍을 표현하는 내부 인터페이스이다.
이는 Map의 개별 항목을 다룰 때 사용되며, 키와 값에 대한 접근과 조작을 가능하게 한다.
💡 상세 개념
- Map.Entry는 Map 인터페이스의 내부 인터페이스이다.
- 각 Entry 객체는 Map 내의 하나의 키-값 쌍을 나타낸다.
- 이를 통해 Map의 내용을 반복하거나 조작할 수 있다.
- immutable한 Map의 경우, Entry의 setValue() 메소드는 UnsupportedOperationException을 던진다.
💡 주요 메소드 상세 설명
1️⃣ K getKey()
- 이 엔트리의 키를 반환한다.
- 반환된 키는 null일 수 있다 (Map이 null 키를 허용하는 경우).
2️⃣ V getValue()
- 이 엔트리의 값을 반환한다.
- 반환된 값은 null일 수 있다 (Map이 null 값을 허용하는 경우).
3️⃣ V setValue(V value)
- 이 엔트리의 값을 지정된 값으로 바꾼다.
- 이전 값을 반환한다.
- Map이 수정 불가능하거나 값 변경을 지원하지 않는 경우 UnsupportedOperationException을 던진다.
[개발일지] 230516 Java Map.Entry 사용하기
오늘 새로 배운 내용 Map.Entry Map.Entry를 이용하면 Map에 저장된 모든 key-value 쌍을 각각의 key-value를 갖고 있는 하나의 객체로 얻을 수 있다. 간단한 예시를 보면 이해하기 편하다. 기존 Map에 저장된
seungjjun.tistory.com
- 참고 : seungjjun
2. PostgreSQL
강력하고 확장 가능한 오픈 소스 객체-관계형 데이터베이스 관리 시스템(ORDBMS)이다.
1996년에 첫 출시된 이후 지속적으로 발전해 왔으며, 엔터프라이즈급 기능과 성능을 제공한다.
🚀 아키텍처
- 클라이언트/서버 모델을 사용한다.
- 멀티프로세스 아키텍처를 채택하여 안정성을 높인다.
- 공유 메모리를 사용하여 프로세스 간 통신을 효율적으로 처리한다.
- Write-Ahead Logging (WAL)을 통해 데이터 무결성을 보장한다.
💡 주요 특징
1️⃣ ACID 준수
- Atomicity
트랜잭션은 전체가 성공하거나 전체가 실패한다. - Consistency
트랜잭션 전후로 데이터베이스는 일관된 상태를 유지한다. - Isolation
동시 실행되는 트랜잭션들은 서로 영향을 주지 않는다. - Durability
완료된 트랜잭션의 결과는 영구적으로 저장된다.
2️⃣ 확장성
- 테이블 파티셔닝을 지원하여 대용량 테이블을 효율적으로 관리할 수 있다.
- 병렬 쿼리 실행을 통해 복잡한 쿼리의 성능을 향상시킨다.
- 수평적 확장(읽기 전용 복제본)과 수직적 확장(하드웨어 업그레이드)을 모두 지원한다.
3️⃣ 데이터 타입
- 기본 타입
integer, numeric, varchar, text, date, time, timestamp 등 - 고급 타입
array, hstore, json, jsonb, xml, uuid - 사용자 정의 타입
CREATE TYPE 명령을 통해 생성이 가능하다.
4️⃣ 인덱싱
- B-tree
기본 인덱스 타입, 대부분의 상황에 적합하다. - Hash
등호 비교에 최적화되어 있다. - GiST (Generalized Search Tree)
기하 데이터와 전문 검색에 사용된다. - SP-GiST (Space-Partitioned GiST)
비균형 데이터 구조에 적합하다. - GIN (Generalized Inverted Index)
복합 값(ex : 배열)에 대한 검색에 유용하다. - BRIN (Block Range Index)
대용량 테이블의 순차적 데이터에 효율적이다.
PostgreSQL이란 무엇입니까? | IBM
PostgreSQL은 속도, 안정성, 유연성 및 개방형 표준 지원 측면에서 좋은 평가를 받고 있는 오픈 소스 데이터베이스입니다.
www.ibm.com
- 참고 : http://www.ibm.com