Dev/database6 PACELC Theorem(패슬씨 정리) PACELC 정리는 CAP 정리의 한계를 보완하기 위해 등장한 분산 시스템 설계 프레임워크로, **네트워크 장애 상황(Partition)**과 **정상 상황(Else)**을 구분해 시스템 특성을 분석한다. CAP 정리가 파티션 발생 시 일관성(C)과 가용성(A)의 선택에 초점을 맞췄다면, PACELC는 정상 상황에서 **지연 시간(Latency)**과 **일관성(Consistency)**의 추가적 트레이드오프를 고려한다. PACELC 이론의 구조1. 두 가지 시나리오 분리P(Partition) 상황: 네트워크 단절 발생 시 CAP과 동일하게 Availability(가용성) vs Consistency(일관성) 선택.E(Else) 상황: 정상 운영 시 Latency(낮은 지연 시간) vs Consistenc.. 2025. 6. 12. CAP Theorem(CAP 정리) CAP 정리란?CAP 정리(CAP Theorem)는 분산 데이터베이스 및 분산 시스템에서 동시에 만족시킬 수 없는 세 가지 핵심 특성, 즉 일관성(Consistency), 가용성(Availability), 분할 허용성(Partition Tolerance) 사이의 트레이드오프로 인해 세 가지 특성을 모두 만족시킬 수 없으며, 최대 두 가지 특성만 제공할 수 있다고 설명하는 이론이다. 이 이론은 2000년 Eric Brewer에 의해 제안되었고, 2002년 MIT의 Seth Gilbert와 Nancy Lynch에 의해 증명되었다. 🧩 CAP 정리의 세 가지 요소요소설명C (Consistency) 일관성모든 노드가 같은 시점에 같은 데이터를 보여줌 (Strong consistency).A (Availabil.. 2025. 6. 12. 콘솔 mysql 접속 방법 local 접속 명령어 : mysql -u 유저이름 -p 예 : mysql -u root -p remote 접속 명령어 : mysql -h 호스트주소 -P 포트번호 -u 유저이름 -p 예 : mysql -h 10.10.0.10 -P 3306 -u root -p (P 의 대소문자에 주의) 2023. 11. 2. Database Index 종류 B-tree index B-tree : 이진 트리를 확장해 하나의 노드가 가질 수 있는 자식 노드의 최대 숫자가 2보다 큰 트리 구조이다. B+ tree : B트리와 대조적으로 B+트리는, 모든 레코드들이 트리의 가장 하위 레벨에 정렬되어있다. 오직 키들만이 내부 블록에 저장된다. B* tree : 노드의 2/3 이상이 채워지는 B-tree (B-tree 삽입/삭제 시 노드분리를 줄이려고 고안됨) B-Tree인덱스의 문제점 B-TREE인덱스에서는 실제 컬럼 값을 인덱스에도 보관하고 있어야 한다는 점이 대용량 데이터를 관리할 때 부담 B-TREE인덱스 컬럼값의 분포도가 좋아야 한다는 점 결합인덱스에서 조건을 사용하지 않는 컬럼이나 =조건이 아닌 컬럼이 결합인덱스 중간에 있으면 액세스효율성이 떨어진다는 점 .. 2023. 8. 9. 웹 앱 API 개발을 위한 GraphQL (study) 웹 앱 API 개발을 위한 GraphQL 1, 2 장 설명 등은 생략하고 쿼리 중심으로 학습합니다. 3장 GraphQL 쿼리어 GraphQL 은 인터넷용 쿼리 언어입니다. 쿼리는 단순한 문자열로, POST 요청 본문에 담겨 GraphQL 엔드포인트로 보내집니다. GraphQL 은 다음과 같이 생겼습니다. { allLifts { name } } cURL 을 사용해 GraphQL 엔드포인트로 쿼리를 보내려면 다음과 같이 하면 됩니다. curl 'http://snowtooth.herokuapp.com/' -H 'Content-Type: application/json' --data '{"query":"{allLifts {name }}"}' 데이터를 수정하려면 뮤테이션(mutation) 을 사용하면 됩니다. 다음.. 2023. 4. 25. Redis Hash 에서 key pattern 을 이용한 삭제 Redis Hash 에서 pattern 에 해당하는 key 를 삭제하고자 할 때 명령어 하나로 할 수가 없어서 서버에서 redis-cli 를 사용하여 다음과 같이 삭제하자. redis-cli HKEYS '{hash_name}' | grep {pattern} | awk '{ printf "HDEL {hash_name} %s\n", $1 }' | redis-cli hash_name : 삭제할 데이터가 존재하는 hash 이름 pattern : hash key 이름 검색용 패턴 (wildcard 사용 가능) 사용 예 redis-cli HKEYS 'articles' | grep test* | awk '{ printf "HDEL articles %s\n", $1 }' | redis-cli 2019. 4. 5. 이전 1 다음