본문 바로가기

반응형
개발 53

[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.
[Hadoop] HiveServer2 Introduction HiveServer2(HS2)는 클라이언트가 Hive에 대해 쿼리를 실행할 수 있도록 하는 서비스입니다. HiveServer2는 더 이상 사용되지 않는 HiveServer1의 후속 제품입니다. HS2는 다중 클라이언트 동시성 및 인증을 지원합니다. JDBC 및 ODBC와 같은 개방형 API 클라이언트에 대한 더 나은 지원을 제공하도록 설계되었습니다. HS2는 Thrift 기반 Hive 서비스(TCP 또는 HTTP)와 웹 UI용 Jetty 웹 서버를 포함하는 복합 서비스로 실행되는 단일 프로세스입니다. HS2 Architecture Thrift 기반 Hive 서비스는 HS2의 핵심이며 Hive 쿼리(예: Beeline에서) 서비스를 담당합니다. Thrift는 교차 플랫폼 서비스를 구.. 2023. 1. 13.
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.
반응형