[Data] DuckDB, Data Warehouse 종류, Data 관리를 위한 필수요소
·
Data Enginnering/Database
DuckDB 국내는 사실 대기업 제외하고 덕디비선에서 종결이 많이 될 것 같다는 생각을 합니다이 한 마디 말을 듣고 충격을 받아 공부했다.DuckDB는 C++로 구현된 오픈 소스 컬럼 지향의 관계형 데이터베이스 관리 시스템(RDBMS)으로, 2019년에 처음 공개되었습니다. 이 시스템은 대규모 데이터베이스에서 복잡한 쿼리를 고성능으로 처리하도록 설계되었으며, 특히 임베디드 환경에서의 사용을 염두에 두고 개발되었습니다. DuckDB는 온라인 분석 처리(OLAP) 워크로드에 최적화되어 있으며, Apache Parquet 파일을 저장소로 활용하여 서버리스 애플리케이션에서 매우 빠른 응답을 제공합니다. 이러한 특성 덕분에 대규모 데이터셋의 인터랙티브한 분석에 적합하지만, 엔터프라이즈 데이터 스토리지 요구사항과는..
[Elasticsearch] 샤딩(Sharding), kBwrtn/s vs kBread/s 비교
·
Data Enginnering/Elastic
샤딩 (Sharding)샤드 개수 정하기레플리카는 데이터를 복제하는 것이다.엘라스틱 서치에서는 샤드 1개가 50GB를 넘지 않도록 권장한다.레플리카가 많아질 수록 색인 성능은 떨어지고, 읽기 성능은 좋아진다.반대로 레플리카가 적으면 색인 성능은 좋지만, 읽기 성능은 떨어진다.레플리카가 많은 경우,데이터를 여러 번 복사해야 하므로 색인 성능은 떨어진다.읽기 성능은 데이터를 조회할 때의 속도이다. 레플리카가 여러 개라면, 클라이언트가 요청한 읽기 작업을 복제분들로 분산시킬 수 있기 때문에 더 많은 요청을 빠르게 처리할 수 있다.샤드가 메모리에 주는 부하노드의 힙 메모리는 Elasticsearch에서 데이터를 처리하고 관리하기 위해 사용하는 Java 힙 메모리를 의미합니다. 각 샤드의 인덱스 정보를 유지하는 ..
[빅플보] K-means Clustering
·
Data Enginnering
[ElasticSearch] 검색 성능 최적화
·
Data Enginnering/Elastic
ElasticSearch 노드 수를 늘리면 어떻게 되는가?노드 수를 늘리면 시스템의 총 자원이 증가하여 더 많은 작업을 동시에 처리할 수 있게 됩니다. 이는 CPU 사용률과 디스크 I/O 활동의 증가로 나타나며, 평균 kB_read/s와 kB_wrtn/s가 상승하는 결과를 가져옵니다. 이러한 변화는 시스템이 더 높은 처리량을 달성하고 있음을 의미하지만, 동시에 리소스 사용의 효율성을 유지하기 위해 적절한 클러스터 구성과 관리가 필요합니다. Index SortingIndex Sorting은 Elasticsearch에서 인덱스를 생성할 때 샤드 내부의 세그먼트(segment)가 특정 필드나 필드들의 기준으로 정렬되도록 설정하는 기능입니다.일반적인 검색 정렬 방식: 검색 과정: 일반적으로 검색 시에는 쿼리에 ..
[ElasticSearch] 데이터 처리, 검색 성능 최적화
·
Data Enginnering/Elastic
데이터 처리에 대한 지식들배치 크기 ( Batch Size )배치 크기는 한 번에 처리할 데이터 묶음 크기비유하자면, 주방장(프로세서)이 한 번에 요리할 수 있는 음식(데이터) 양이다.만약 Logstash 가 데이터를 수집하여 Elasticsearch 에 보내는 작업에서 배치 크기가 100 으로 설정하면, 데이터를 100개씩 묶어 한 번에 처리한다.작은 배치 : 주문이 들어올 때마다 바로 요리를 시작. 빠르게 대응할 수 있지만 효율성이 떨어질 수 있다.큰 배치 : 여러 주문을 모아서 한 번에 요리한다. 효율적이지만 첫 음식이 나오기까지 시간이 걸린다. 힙 사이즈 (Heap Size)힙 사이즈는 사용할 수 있는 최대 메모리 크기프로그램이 사용할 수 있는 창고 공간이다.작은 힙 : 작은 창고. 공간이 부족해..
[ElasticSearch] 샤드 (Shard) & 인덱싱 (Indexing)
·
Data Enginnering/Elastic
Shard 여러 노드를 효율적으로 사용하기 위해 노드에선느 데이터를 샤드라는 단위로 분산 저장한다.샤드 하나의 크기는 10~40GB 정도로 관리하는 것이 좋다고 권고된다.노드 수에 비해 샤드가 너무 많으면 필요 이상으로 리소스를 소비하게되고, 인덱스 검색을 위해서는 모든 샤드에 접근해야하기에 성능에 좋지 않습니다.Primary Shard 는 문서가 저장되는 원본 샤드이다.색인과 검색 성능에 모두 영향을 준다.Replica Shard 는 복제 샤드로써 문제가 생기면 Primary Shard 로 승격된다. Primary Shard 의 개수가 성능에 영향을 준다.PS 3 에 장애가 발생하면 RS 3 을 PS 3 으로 승격한다.새로운 PS 3 이 RS 3 을 생성한다.PS 1 은 Replica를 잃었기 떄문에 ..