본문 바로가기

728x90
반응형
개발/DB 10

[Apache Pinot #2] Apache Pinot의 컨셉과 아키텍처 Concept Pinot은 대규모 데이터 셋에서 짧은 지연시간 쿼리를 제공하도록 설계되었습니다. 이 성능을 달성하기 위해 Pinot은 데이터를 columnar format으로 저장하고 추가 인덱스를 추가하여 빠른 필터링, 집계 및 그룹화를 수행합니다. raw data는 small data shards로 나뉩니다. 각 shard는 segment(세그먼트)라는 단위로 변환됩니다. 하나 이상의 세그먼트가 table(테이블)이라는 단위로 형성됩니다. 이 테이블은 SQL/PQL을 사용하여 Pinot에서 쿼리하기 위한 논리적 컨테이너입니다. Pinot storage model 아래 용어는 Pinot의 스토리지 모델 및 인프라 구성 요소를 설명합니다. Segment Pinot에는 수평으로 확장되는 분산 시스템 아키텍.. 2023. 4. 17.
[Apache Pinot #1] Apache Pinot 소개 Introduction Apache Pinot은 대기 시간이 짧고 처리량이 많은 분석을 위해 특별히 제작된 실시간 분산 OLAP 데이터 저장소이며 user-facing analytical workloads에 적합합니다. Pinot은 실시간 분산 온라인 분석 처리(OLAP) 데이터 저장소로, 매우 높은 처리량에서도 매우 낮은 대기 시간 분석을 제공하도록 특별히 제작되었습니다. Apache Kafka 및 Amazon Kinesis와 같은 스트리밍 데이터 소스에서 직접 수집하고 즉시 쿼리할 수 있는 이벤트를 만들 수 있습니다. 또한 Hadoop HDFS, Amazon S3, Azure ADLS 및 Google Cloud Storage와 같은 배치 데이터 소스에서 수집할 수도 있습니다. 시스템의 중심에는 짧은 .. 2023. 4. 16.
Local Cache에 대하여 (Spring Cache, Caffeine/Ehcache, Redis Client-side caching..) 글을 쓰게된 배경 Redis와 같은 Global Cache는 팀 내에서 거의 필수적으로 사용하고 있지만, Local cache는 자주 사용되지는 않고 있었습니다. 사실 Local cache는 서버마다 지역적으로 데이터를 저장해 관리를 하다보니 모든 서버의 싱크를 맞추는 것은 힘들지만, 잘 변하지 않는 데이터를 가져오거나 더 높은 성능을 요구할 땐 Local cache까지도 고려해보는 것도 좋은 전략인 것 같아 알아보게 되었습니다. Cache란? 먼저 Cache란, 반복적으로 데이터를 불러올 때 지속적으로 DBMS 혹은 서버에 요청하는 것이 아닌 메모리에 데이터를 저장하였다가 데이터를 불러다가 쓰는 것을 의미합니다. 그러다보니 서버나 DBMS에 부담을 덜어주고, 빠르기 때문에 많은 서비스에서 도입하여 사용.. 2022. 9. 1.
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.
728x90
반응형