본문 바로가기

728x90
반응형
분류 전체보기 71

Index / Clustered Index vs NonClustered Index 인덱스는 쉽게 말해 책의 '목차'를 예시로 들 수 있습니다. 만약 특정 챕터를 찾아보고 싶다면, 책의 목차(Index)에서 찾고 목차에 적힌 page로 이동하면 됩니다. DB에서 index 또한 같은 의미며, 데이터의 위치를 가리키는 지표로 테이블이나 뷰의 행 검색 속도를 향상시켜주는 자료구조 입니다. 이러한 인덱스를 생성하게되면 다음과 같은 특징이 있습니다. 검색 속도 향상 (*시스템의 부하를 줄여, 전체 성능 향상에 기여) 인덱스를 위한 추가 행이 필요 Insert, Update, Delete가 빈번하게 발생하면 성능이 많이 하락할 수 있음 Index는 SQL Server에서 키 값과 연결된 행을 빠르고 효율적으로 찾을 수 있도록 B-Tree 구조로 저장됨 Database에서는 index 구조가 크게.. 2022. 8. 24.
SQL (RDBMS)과 NoSQL, ACID와 BASE SQL (RDBMS)과 NoSQL SQL (RDBMS) 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터 관리를 위해 설계된 프로그래밍 언어 RDBMS는 NoSQL과 대비되어 DB를 구분지어 설명할 때 SQL DB로도 표현됨 RDBMS의 R은Relational의 약자로 RDBMS는 관계형 데이터베이스 관리 시스템을 의미 Database와 Management System이 같이 결합되서 데이터를 잘 관리하고 저장할 수 있도록 제공 즉, 관계형 데이터 모델을 기초로 두고 모든 데이터를 2차원 테이블 형태(Entity)로 표현하는 데이터베이스 관계형 데이터베이스(RDMBS)는 각각의 테이블이 다른 테이블들과 관계를 맺고 모여있는 집합체로 이해할 수 있음 또한 이러한 관계를 나타내기 위해 외래 키(forei.. 2022. 8. 11.
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.
[Redis] Redis Cluster의 기초 Redis 6/21 Redis HA Design - Seninel vs Cluster Redis Cluster를 사용하는 이유 Redis는 다양한 Client들에 대한 요청을 동시에, 빠르게 처리해야 한다. Redis는 In-Memory 데이터 스토어기 때문에 물리적인 경합이 없음. 근데 왜 Redis에 장애가 날까? event loop 방식으로 처리가 되어있음 -> 병렬로 동작하지 않고 main thread에서 event loop 방식으로 순차적으로 처리가 되고 있음 -> Redis는 Mulitp Process나 Tread가 아닌 Single Thread에서 요청들을 순차적으로 선행으로 실행 (Event loop 처리) -> 메모리에서 처리되는 빠른 업무로 단일처리로써 문맥교환없이 빠르게 처리하기 위해.. 2022. 6. 21.
Machine Learning 개념 인공지능, 데이터 마이닝, 머신러닝, 딥러닝의 차이점 인공지능, 데이터 마이닝, 머신러닝, 딥러닝의 차이점 오늘은 AI와 관련해서 작성해보고자 합니다. 처음 AI를 접하게 되면, 비슷해보이는 개념에 다른 용어들이 마구 나오는 것을 볼 수 있습니다. 대표적으로 데이터 마이닝 (Data mining), 머신러닝(ML), dalsacoo-log.tistory.com 머신러닝의 분류 Supervised Statistical Learning (지도 · 감독 학습) Input을 기반으로 Output(정답/Response)을 예측하거나 추정하는 기법입니다. 레이블링된(Output이 적혀있는) 훈련 데이터를 학습하여 모델을 만들고, 레이블링이 되지 않은 테스트 데이터를 모델에 적용하여 입력된 데이터에 대해서 맞는 답을.. 2022. 6. 16.
728x90
반응형