목록데이터엔지니어 (17)
나의 잡다한 노트 및 메모
MinIO는 고성능 분산 객체 스토리지 솔루션으로, 특히 클라우드 네이티브 환경에서 많이 사용됩니다. 주요 특징과 개념은 다음과 같습니다.1. 기본 개념객체 스토리지:MinIO는 파일 시스템이나 블록 스토리지와 달리 객체 단위로 데이터를 저장합니다. 각 객체는 데이터와 함께 메타데이터를 포함하며, RESTful API(특히 AWS S3 API와 호환)를 통해 접근할 수 있습니다.오픈 소스:MinIO는 오픈 소스로 개발되어, 누구나 소스 코드를 확인하고 수정할 수 있으며, 커뮤니티를 통한 활발한 지원과 업데이트가 이루어집니다.2. 주요 특징고성능:매우 빠른 읽기/쓰기 성능을 제공하도록 설계되어, 대규모 데이터 처리나 실시간 애플리케이션에 적합합니다.수평 확장성:여러 서버에 걸쳐 데이터를 분산 저장할 수 있..
Apache Iceberg는 대규모 분석 데이터셋을 보다 효율적이고 안정적으로 관리하기 위해 설계된 오픈 소스 테이블 포맷(Table Format) 입니다. 데이터 레이크 환경에서 수 페타바이트에 달하는 데이터의 스케일과 복잡성을 감당하면서도 ACID 트랜잭션, 스키마 진화, 효율적인 쿼리 성능 등을 제공하는 데 중점을 두고 있습니다. Delta Lake와 유사한 목적과 기능을 가졌다. 1. 주요 특징a. ACID 트랜잭션 지원데이터 일관성 보장:Iceberg는 데이터 삽입, 업데이트, 삭제 작업에 대해 ACID(Atomicity, Consistency, Isolation, Durability)를 지원합니다.이를 통해 데이터 레이크에서 여러 사용자나 애플리케이션이 동시에 작업할 때 발생할 수 있는 충돌..
대규모 데이터를 다루는 방법은 두가지 관점에서 바라볼 수 있다. 1. 프로그램을 작성할 때의 요령2. 프로그램 개발의 근간이 되는 기초라는 점에서 전제로서 알아두었으면 하는 것 대규모 데이터를 다루는 포인트1. 메모리에서 처리를 마치게 하는 점이거에 대한 이유는 디스크 seek 횟수가 확장성, 성능에 크게 영향을 주기 때문.디스크 seek 횟수를 최소화한다는 의미로 메모리를 활용하고자 한다. 2. 데이터량 증가에 강한 알고리즘을 사용하는 것레코드 천만건이 있을 때 단순히 선형탐색으로 하면 천만번 계산을 수행해야 하는데, Log Order인 알고리즘을 적용하면 수십 번만에 마칠 수 있다는 예시가 있다 3. 데이터 압축이나 검색기술과 같은 테크닉이 활용될 수 있는 국면이 있다.단적으로 말하면 압축해서 데이터..
Delta Lake는 Apache Spark 환경에서 데이터 레이크의 신뢰성과 관리성을 크게 향상시키기 위해 개발된 오픈 소스 스토리지 레이어입니다. Delta Lake는 기존의 데이터 레이크가 가진 단점, 예를 들어 데이터 정합성 문제나 낮은 성능, 스키마 관리의 어려움 등을 보완하기 위해 설계되었으며, 아래와 같은 주요 특징들을 제공합니다.1. ACID 트랜잭션 지원Atomicity (원자성): Delta Lake는 한 번의 작업(예: 여러 파일 업데이트 또는 추가 작업)이 전부 성공하거나 전혀 반영되지 않도록 보장합니다.Consistency (일관성): 데이터의 상태가 항상 정의된 규칙(스키마, 제약 조건 등)에 부합하도록 관리됩니다.Isolation (격리성): 동시 다발적인 읽기/쓰기 작업 간의..
https://startree.ai/resources/a-tale-of-three-real-time-olap-databases IngestionBefore a database can run analytical queries, the data must get into the system. This is the process of ingestion . This layer deals with all the capabilities required for ingesting data into the OLAP system from various kinds of data sources, as mentioned above. As we go through the details of each data source, here..
하이브의 메타정보는 파일의 물리적인 위치와 데이터에 대한 논리적인 정보로 구분할 수 있다.이 메타정보를 보관하고 사용자의 요청에 따라 관련 정보를 제공하는 곳이 하이브 메타스토어이다. 메타스토어 타입은 실행 유형에 따라 3가지로 나뉜다. 1. 임베디드 메타스토어기본설정의 하이브는 더비 DB를 사용하게 된다. 이때, 이 메타스토어는 한번에 한명의 유저만 접근할 수 있다.hive-site.xml 설정 javax.jdo.option.ConnectionURL jdbc:derby:metastore_db;create=true JDBC connect string for a JDBC metastore 2. 로컬 메타스토어로컬 메타스토어는 하이브와 같은 JVM에서 동작한다.메타 데이터는 외부의 RDBMS..
Pandas는 Python에서 사용되는 데이터 분석 및 조작을 위한 강력한 라이브러리입니다. Pandas는 데이터를 효율적으로 다룰 수 있는 DataFrame과 Series라는 자료구조를 제공하며, 데이터를 정리, 조작, 분석하는 작업을 직관적이고 간단하게 수행할 수 있게 합니다. 1. Pandas의 주요 특징빠르고 효율적인 데이터 구조:Series: 1차원 배열 형태의 데이터 구조(예: 열 데이터).DataFrame: 2차원 표 형태의 데이터 구조(예: 행과 열로 구성된 데이터).다양한 데이터 처리 기능:결측치 처리 (NaN 값 다루기)데이터 필터링 및 선택데이터 정렬 및 그룹화데이터 병합 및 결합다양한 데이터 소스 지원:CSV, Excel, SQL, JSON 등 다양한 파일 형식에서 데이터를 읽고 ..
1. 데이터 웨어하우스 (Data Warehouse)정의데이터 웨어하우스는 **구조화된 데이터(Structured Data)**를 저장하고 분석하기 위해 설계된 중앙화된 데이터 저장소입니다. 조직 내 다양한 데이터 소스에서 데이터를 가져와 통합하고, 의사결정과 비즈니스 인텔리전스(BI) 작업을 지원합니다.특징정제된 데이터: 데이터를 저장하기 전에 전처리(ETL)를 수행하여 데이터의 품질과 구조를 통일.스키마 온 라이트(Schema-on-Write): 데이터를 저장하기 전에 스키마를 정의해야 함.구조화된 데이터: 데이터베이스, ERP, CRM 등에서 가져온 정형 데이터를 처리.빠른 쿼리 성능: SQL과 BI 도구를 활용한 빠르고 효율적인 쿼리 수행.목적: 데이터 분석, 보고서 작성, 대시보드 생성.사용 사..