본문 바로가기

반응형
개발 53

CAP 정리와 PACELC 정리 CAP 정리 CAP 정리는 C (Consistency/일관성), A (Availability/가용성), P(Partition tolerance/분할 용인)의 약자로, 이 세 가지 조건을 모두 만족하는 분할 컴퓨팅 시스템(Distributed System)이 존재하지 않음을 나타내는 이론입니다. 다른 말로는 CAP 정의, CAP theorem, Brewer's theorem이 있습니다. 이 이론의 조건들에 대해서 먼저 짚고 넘어가겠습니다. 조건 설명 Consistency (일관성) 모든 노드는 동일한 데이터를 바라볼 수 있어야 합니다.  즉, 모든 읽기에 대해서 모든 DB의 노드들이 항상 동일한 데이터를 가지고 있어야 합니다. Availability (가용성) 모든 요청은 성공 혹은 실패라는 정상적인 응.. 2022. 8. 10.
[HBase] Online Region Merge와 Empty Region Merge에 대해 Intro 운영하는 서비스에서 HBase 테이블의 column family에 ttl을 세팅하여 사용하고 있습니다. ttl을 걸어두게 되면, Hbase는 ttl(만료 시간)에 도달한 row를 삭제합니다. 참고로 HBase에서는 Delete 연산을 하더라도 바로 삭제되지는 않습니다. 'tombstone marker'를 사용해서 Scan/Get과 같은 조회연산에서 반영되지 않도록 하고, 실제로 삭제되는 시점은 Major Compaction 때 삭제됩니다. 이는 ttl을 설정한 row에도 적용이 됩니다. 갑자기 ttl이 왜나오냐 의문을 가지실 수 있는데요. 제가 운영하는 테이블의 rowkey는 timestamp가 포함된 형태고 1개의 column family를 사용하는데 ttl을 7일로 설정해두었습니다. (멍청.. 2022. 6. 30.
Machine Learning 개념 인공지능, 데이터 마이닝, 머신러닝, 딥러닝의 차이점 인공지능, 데이터 마이닝, 머신러닝, 딥러닝의 차이점 오늘은 AI와 관련해서 작성해보고자 합니다. 처음 AI를 접하게 되면, 비슷해보이는 개념에 다른 용어들이 마구 나오는 것을 볼 수 있습니다. 대표적으로 데이터 마이닝 (Data mining), 머신러닝(ML), dalsacoo-log.tistory.com 머신러닝의 분류 Supervised Statistical Learning (지도 · 감독 학습) Input을 기반으로 Output(정답/Response)을 예측하거나 추정하는 기법입니다. 레이블링된(Output이 적혀있는) 훈련 데이터를 학습하여 모델을 만들고, 레이블링이 되지 않은 테스트 데이터를 모델에 적용하여 입력된 데이터에 대해서 맞는 답을.. 2022. 6. 16.
[Spring] library dependency version이 바뀌는 이슈 해결 Intro 스프링 프로젝트에서 0.9버전의 old kafka 라이브러리(kafka_2.10:0.9.0.0)를 사용할 일이 있었는데요. 해당 라이브러리와 의존관계가 있는 kafka-client 버전이 로컬에서 0.9에서 2.3.1로 변경되는 것을 확인했습니다. 문제는 2.3.1 version이 붙어서 잘 되면 상관없지만... old kafka와 kafka 2.x의 인터페이스가 많이 바뀌었다보니 특정 메서드를 찾지 못하는 에러가 발생했습니다. 사실 단순히 0.9버전의 kafka-client lib의 디펜던시를 받아서 사용하면 문제는 해결되었는데요. 저의 경우엔 관련해서 프로젝트를 뒤져봐도 2.3.1버전의 kafka-client dependency를 추가하지 않았는데 2.3.1버전으로 잡히는 것이 이상하여 좀.. 2022. 4. 12.
Mac 터미널 세팅과 꾸미기 Intro Mac pro를 받고 다시 터미널을 세팅하려니 어떻게 세팅했는지 새까맣게 까먹었다. 미래를 나를 위해 정리해두는 터미널 첫 세팅과 꾸미는 방법.. (다음번엔 빠르게 샤삭하자) Iterm2, Homebrew, zsh 설치 Iterm2 terminal을 대체해 더 다양한 기능을 제공해주는 애플리케이션 iterm2 홈페이지에서 다운로드: https://iterm2.com/ iTerm2 - macOS Terminal Replacement iTerm2 by George Nachman. Website by Matthew Freeman, George Nachman, and James A. Rosen. Website updated and optimized by HexBrain iterm2.com brew m.. 2022. 2. 1.
Impala Query Performance - EXPLAIN 계획과 Query 프로파일 ※ CDH6 Impala Docs의 Understanding Impala Query Performance 를 번역하였습니다. Intro Impala 쿼리에 대한 높은 수준의 성능 고려 사항을 이해하려면, 쿼리에 대한 EXPLAIN 문의 출력을 읽으세요. 실제로 쿼리 자체를 실행하지 않고도 EXPLAIN 계획을 얻을 수 있습니다. 쿼리의 physical performance 특성에 대한 개요를 보려면, 쿼리 실행 직후 impala-shell에서 SUMMARY 문을 실행하십시오. 이 요약된 정보는 가장 많은 시간이 소요된 실행 단계와 각 단계의 메모리 사용량 및 행 수에 대한 추정치를 실제 값과 비교하는 방법을 보여줍니다. 쿼리에 대한 자세한 성능 특성을 이해하려면 쿼리 실행 직후 impala-shell에서.. 2021. 11. 11.
반응형