ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [데이터 엔지니어링] 수명 주기의 2단계: 데이터 저장
    DA 2024. 11. 5. 10:00

    조 라이스, 맷 하우슬리 저자  <견고한 데이터엔지니어링>의 CHAPTER 6.1~6.2을 참고, 요약정리하여 작성한 글입니다.

     

    견고한 데이터 엔지니어링 | 조 라이스 - 교보문고

    견고한 데이터 엔지니어링 | 실용적인 데이터 엔지니어링의 세계로 이끄는 최고의 안내서! 고객 요구 사항에 맞는 시스템을 계획하고 구축하는 방법데이터 엔지니어링 분야가 빠르게 성장하면

    product.kyobobook.co.kr

     


     

    이번 글에서 살펴볼 '데이터 저장(=스토리지)'은 데이터 엔지니어링 수명 주기의 토대로서 주요 단계인 수집, 변환 및 서빙의 기초가 됩니다. 

     

    스토리지를 이해하기 위해서는 HDD, SSD를 포함한 기본 구성 요소와 스토리지 시스템을 조립하는 캐싱, 하둡 분산 파일 시스템과 같은 스토리지 시스템, 데이터 레이크와 같은 스토리지 추상화에 대해 알아야 합니다. 이번 글에서는 스토리지 시스템까지 다뤄보도록 하겠습니다!

     

     

    6.1 데이터 스토리지의 기본 구성 요소

    대부분의 데이터 아키텍처에서 데이터는 데이터 파이프라인의 다양한 처리 단계를 거치면서 자기 스토리지, SSD, 메모리를 통과하는 경우가 많습니다. 데이터 스토리지와 쿼리 시스템은 일반적으로 분산 시스템, 다양한 서비스 그리고 여러 하드웨어 스토리지 계층과 관련된 복잡한 레시피를 따릅니다. 이러한 시스템이 올바르게 작동하려면 올바른 원재료, 즉 구성 요소가 필요합니다.

    6.1.1 자기 디스크 드라이브

    임의 접근 지연에서 필수적인 자기 디스크 헤드의 이동과 회전

    자기 디스크는 강자성 필름으로 코팅된 회전 플래터를 사용합니다. 이 필름은 쓰기 작업 중에 읽기/쓰기 헤드에 의해 자화되어 바이너리 데이터를 물리적으로 인코딩합니다. 읽기/쓰기 헤드는 읽기 작업 중에 자기장을 감지하고 비트 스트림을 출력합니다.

    자기 디스크 드라이브는 오래전부터 사용되어 왔고, 저장된 데이터의 기가바이트당 가격이 SSD보다 훨씬 저렴해서 여전히 대용량 데이터 스토리지 시스템에서 선호됩니다. 또 병렬 처리를 통해 매우 높은 전송 속도를 유지할 수 있다는 장점이 있습니다.

    하지만 드라이브 용량의 지속적인 향상에도 불구하고 HDD(회전식 자기 디스크) 성능의 다른 측면은 물리학의 방해를 받아 몇 가지 제한 사항이 있습니다.

    • 데이터를 읽고 쓸 수 있는 속도인 디스크 전송 속도는 디스크 용량에 비례해 확장되지 않습니다. 디스크 용량은 면적 밀도(평방인치당 저장된 기가비트)에 따라 확장되는 반면, 전송 속도는 선형 밀도(인치당 비트)에 따라 확장됩니다.
    • 탐색 시간: 데이터에 접근하려면 드라이브가 읽기/쓰기 헤드를 디스크의 적절한 트랙으로 물리적으로 재배치해야 합니다.
    • 회전 지연: 디스크 컨트롤러는 디스크에서 특정 데이터를 찾기 위해 읽기/쓰기 헤드 아래에서 해당 데이터가 회전할 때까지 기다려야 합니다.
    • IOPS(초당 입출력 작업 횟수): 자기 드라이브의 범위는 50~500 IOPS

    다양한 트릭을 통해 지연 시간과 전송 속도를 개선할 수 있지만, SSD는 물리적으로 회전하는 디스크나 자기 헤드를 기다릴 필요가 없는 만큼 더 낮은 지연 시간, 더 높은 IOPS, 더 빠른 전송 속도로 데이터를 제공할 수 있습니다.

    6.1.2 SSD

    SSD(솔리드 스테이트 드라이브)는 플래시 메모리 셀에 데이터를 전하로 저장합니다. SSD는 0.1 ms(마이크로초) 미만으로 임의의 데이터를 조회할 수 있습니다. 또 스토리지를 여러 개의 스토리지 컨트롤러가 병렬로 실행되는 파티션으로 분할해 데이터 전송 속도와 IOPS를 모두 확장할 수 있습니다. 이렇게 좋은 성능 덕분에 SSD는 초당 수천 건의 트랜잭션을 처리하는 PostgreSQL, MySQL, SQL 서버와 같은 관계형 데이터베이스를 지원합니다.

    하지만 상용 SSD의 경우 기가바이트당 20~30센트(USD)로, 자기 드라이브 용량당 비용의 거의 10배에 달하기 때문에, 대규모 분석 데이터 스토리지의 주요 옵션에는 SSD가 아닌 자기 디스크가 사용되고 있습니다.

    6.1.3 임의 접근 메모리

    임의 접근 메모리(RAM)에는 아래 몇 가지 특징이 있습니다.

    • CPU에 연결되고 CPU 주소 공간에 매핑된다.
    • CPU가 실행하는 코드와 이 코드가 직접 처리하는 데이터를 저장한다.
    • 임의 접근 메모리는 휘발성이며 자기 드라이브와 SSD는 비휘발성이다. RAM은 전원이 꺼지면 1초 이내에 데이터가 손실된다.
    • SSD 스토리지보다 훨씬 빠른 전송 속도와 빠른 검색 시간을 제공한다.
    • SSD 스토리지보다 훨씬 비싼 GB당 약 10달러이다.
    • 개별 CPU 및 메모리 컨트롤러에 연결된 RAM의 양에 제한이 있다.
    • CPU 다이에 직접 위치하거나 동일한 패키지에 있는 일종의 메모리인 CPU 캐시보다 훨씬 느리다.

    고밀도 저비용 메모리인 동적 RAM은 데이터를 콘덴서에 전하로 저장하는데, 시간이 지남에 따라 누전되기 때문에 데이터 손실을 방지하려면 데이터를 자주 갱신해야 합니다. 정적 RAM과 같은 다른 형태의 메모리는 CPU 캐시와 같은 특수 애플리케이션에서 사용됩니다.

    RAM은 다양한 스토리지와 처리 시스템에서 사용되며 캐싱, 데이터 처리 또는 인덱스에도 쓰일 수 있습니다. 데이터엔지니어는 RAM의 휘발성을 항상 염두에 두어야 합니다. 

    6.1.4 네트워킹과 CPU

    가용 영역은 독립적인 전력, 물, 기타 자원 등을 갖춘 컴퓨팅 환경으로 이루어진 표준적인 클라우드 구성입니다. 다중 영역 스토리지는 데이터의 가용성과 내구성을 모두 향상시킵니다.

    CPU는 서비스 요청 처리, 읽기 집계, 쓰기 분산에 대한 세부 사항을 처리합니다. 스토리지는 API, 백엔드 서비스 구성 요소 및 로드밸런싱을 갖춘 웹 애플리케이션이 됩니다. 네트워크 장치의 성능과 네트워크 토폴로지는 높은 성능을 실현하는 핵심 요소입니다.

    데이터 엔지니어는 자신이 구축하고 사용하는 시스템에 네트워킹이 어떤 영향을 미치는지 이해하고, 내구성 및 가용성과 성능 및 비용상의 이점 사이에서 항상 균형을 유지해야 합니다.

    6.1.5 직렬화

    직렬화는 또 다른 원시 스토리지 구성 요소이자 데이터베이스 설계의 핵심 요소입니다. 직렬화에 대한 결정은 네트워크에서 쿼리가 얼마나 잘 수행되는지와 함께 CPU 오버헤드, 쿼리 지연 시간 등에 영향을 미칩니다.

    직렬화는 데이터를 평탄화하고 표준 포맷으로 패킹하는 프로세스로, 판독기가 디코딩할 수 있습니다. 직렬화 형식은 데이터 교환의 표준을 제공합니다. 데이터를 행 기반 형식으로 XML, JSON 또는 CSV 파일로 인코딩해 다른 사용자에게 전달하면 표준 라이브러리를 사용해 데이터를 디코딩할 수 있습니다. 

    각각의 직렬화 선택에는 일련의 트레이드오프가 있으며, 데이터 엔지니어는 이러한 선택 사항을 조정해 요건에 맞게 성능을 최적화해야 합니다. 

    6.1.6 압축

    압축은 데이터를 더 작게 만들지만, 압축 알고리즘은 스토리지 시스템의 다른 세부 정보와 복잡한 방식으로 상호 작용합니다. 고효율 압축은 스토리지 시스템에서 세 가지 이점을 제공합니다.

    • 데이터 크기가 작으므로 디스크 공간을 덜 차지한다.
    • 디스크당 실제 검색 속도가 향상한다.
    • 네트워크 성능: 10기가비트/초의 대역폭을 제공하는 경우, 10:1 압축률은 유효 네트워크 대역폭을 100Gbps로 증가시킨다.

    단점으로는 데이터를 압축 및 해제하려면 데이터를 읽거나 쓰는 데 시간과 자원이 추가로 소모된다는 점이 있습니다.

    6.1.7 캐싱

    캐싱은 자주 접근하거나 최근에 접근한 데이터를 고속 접근 계층에 저장하는 것입니다. 캐시가 빠를수록 비용은 커지고 사용 가능한 스토리지 공간은 줄어듭니다. 접근 빈도가 낮은 데이터는 더 저렴하고 느린 스토리지에 저장됩니다.

    스토리지 시스템을 분석할 때 사용하는 모든 유형의 스토리지를 캐시 계층 안에 배치하는 것이 유용합니다. 대부분의 실용적인 데이터 시스템은 다양한 성능 특성을 가진 스토리지로 구성된 많은 캐시 계층에 의존합니다. 이는 CPU 내부에서 시작되며 프로세서는 최대 4개의 캐시 계층을 배포할 수 있습니다.

     

     

    6.2 데이터 스토리지 시스템

    6.2.1 단일 머신 vs 분산 스토리지

    데이터 스토리지와 접근 패턴이 복잡해지고 단일 서버의 유용성이 커짐에 따라 데이터를 여러 서버에 분산하는 것이 필요해졌습니다. 데이터는 분산 스토리지라고 하는 여러 서버에 저장할 수 있습니다. 분산 스토리지는 데이터를 분산된 방식으로 저장하는 것이 목적인 분산 시스템입니다. 

    분산 스토리지는 여러 서버의 작업을 조정해 데이터를 더 빠르고 대규모로 저장, 검색 및 처리하는 동시에, 서버를 사용할 수 없게 될 경우를 대비해 중복성 기능을 제공합니다. 분산 스토리지는 대량의 데이터에 대한 내장형 중복성과 확장성을 원하는 아키텍처에서 흔하게 볼 수 있습니다.

    6.2.2 최종 일관성 vs 강력한 일관성

    분산 시스템의 문제점은 데이터가 여러 서버에 분산된다는 것입니다. 이러한 시스템에서는 어떻게 데이터의 일관성을 유지할 수 있을까요? 흔히 볼 수 있는 일관성 패턴인 최종 일관성강력한 일관성을 살펴보겠습니다.

    최종 일관성은 대규모 분산 시스템에서 공통적인 트레이드오프입니다. 대량의 데이터를 처리하고자 여러 노드에 걸쳐 수평적 확장을 수행하려는 경우, 최종 일관성을 통해 모든 노드에서 최신 버전이 있는지 확인하지 않고도 데이터를 빠르게 검색할 수 있습니다.

    이와 반대의 개념이 강력한 일관성입니다. 강력한 일관성을 갖춘 분산형 데이터베이스는 먼저 모든 노드에 대한 쓰기가 합의에 따라 분산되고, 데이터베이스에 대한 모든 읽기가 일관된 값을 반환하도록 보장합니다. 이러한 강력한 일관성은 쿼리 지연 시간이 길어지고 데이터베이스에서 읽을 때마다 정확한 데이터가 필요할 때 사용할 수 있습니다.

    6.2.3 파일 스토리지

    파일은 소프트웨어와 운영 체제에서 사용하는 특정 읽기, 쓰기 및 참조 특성을 가진 데이터 엔티티입니다. 파일은 유한 길이, 추가 작업 가능, 임의 접근이라는 특성을 가집니다.

    파일 스토리지 시스템은 파일을 디렉토리 트리로 구성합니다. 디렉터리 참조가 '/Users/mattewhousley/output.txt'인 파일이 있다고 해봅시다. 이 파일 참조가 운영 체제로 전달되면, 루트 디렉터리 /에서 시작해 Users, matthewhousley를 찾고 마지막으로 output.txt를 찾게 됩니다. 왼쪽부터 작업하면 output.txt에 도달할 때까지 각 디렉터리는 부모 디렉터리 안에 저장됩니다.

    파일 스토리지 유형을 간단히 살펴보겠습니다.

    로컬 디스크 스토리지 일반적으로 쓰기 후 읽기 일관성을 지원한다. 운영 체제는 파일에 대한 동시 쓰기 시도를 관리하기 위해 다양한 잠금 전략을 사용한다. 저널링, 스냅숏, 여러 디스크에 걸친 파일 시스템 확장, 전체 디스크 암호화 및 압축과 같은 고급 기능을 지원한다.
    네트워크 결합 스토리지(NAS) 네트워크를 통해 클라이언트에 파일 스토리지 시스템을 제공한다. 서버용으로 널리 쓰이며, 전용 NAS 인터페이스 하드웨어가 내장된 경우가 많다. 스토리지 가상화에 상당한 이점이 있다.
    클라우드 파일 시스템 서비스 클라우드 환경 외부의 클라이언트를 포함해 여러 클라우드 VM과 애플리케이션을 함께 사용할 수 있도록 완벽하게 관리되는 파일 시스템을 제공한다. 

    6.2.4 블록 스토리지

    블록 스토리지는 SSD와 자기 디스크에서 제공하는 원시 스토리지 유형입니다. 클라우드에서는 가상화된 블록 스토리지가 VM의 표준인데, 이러한 블록 스토리지 추상화를 통해 물리적 디스크에서 제공하는 것 이상의 스토리지 크기, 확장성 및 데이터 내구성을 세밀하게 제어할 수 있습니다.

    블록은 디스크에서 지원하는 주소 지정이 가능한 최소 데이터 단위입니다. 일반적으로 블록에는 오류 검출, 수정 및 기타 메타데이터를위한 추가 비트가 포함됩니다. 동일한 트랙의 두 블록은 헤드를 움직이지 않고도 읽을 수 있지만, 별도의 트랙에 있는 두 블록을 읽으려면 탐색이 필요합니다. 

    블록 스토리지 애플리케이션 트랜잭션 데이터베이스 시스템은 일반적으로 블록 수준에서 디스크에 접근해 최적의 성능을 위해 데이터를 배치하고, 여전히 블록 스토리지에 직접 접근할 때 제공되는 높은 임의 접근 성능에 의존하고 있다. 또 블록 스토리지는 클라우드 VM의 운영 체제 부팅 디스크에 대한 기본 옵션으로 남아 있다.
    RAID(복수 배열 독립 디스크) 여러 디스크를 동시에 제어해 데이터의 내구성을 높이고 성능을 개선하며 여러 드라이브의 용량을 결합한다. 향상된 유효 대역폭과 높은 내결함성 사이의 원하는 균형에 따라 다양한 인코딩 및 패리티 방식을 사용할 수 있다.
    스토리지 영역 네트워크(SAN) 일반적으로 스토리지 풀에서 네트워크를 통해 가상화된 블록 스토리지 장치를 제공한다. SAN 추상화를 통해 스토리지를 세밀하게 확장할 수 있고 성능, 가용성 및 내구성을 향상시킬 수 있다.
    클라우드 가상화 블록 스토리지 SAN과 유사하지만, 엔지니어가 SAN 클러스터와 네트워킹 세부 사항을 처리할 필요가 없다. 표준 사례로 아마존 일래스틱 블록 스토어(EBS)가 있는데, 아마존 EC2 가상 머신의 기본 스토리지이며 다른 클라우드 제공업체들도 가상화된 객체 스토리지를 VM 제품의 주요 구성 요소로 취급한다.
    로컬 인스턴스 볼륨 VM의 호스트 서버에 물리적으로 연결된 블록 스토리지로, 낮은 대기 시간과 높은 IOPS를 제공하면서도 비용이 저렴하다. 하지만 VM이 종료되거나 삭제될 때 데이터가 소실되고, 복제나 스냅샷 기능이 없어 물리적 디스크 장애 시에도 데이터 손실 위험이 있다. 일시적인 데이터 처리나 캐싱에 적합하며, 주기적인 백업을 통해 데이터 손실을 완화할 수 있다.

    6.2.5 객체 스토리지

    객체 스토리지에는 TXT, CSV, JSON, 이미지, 비디오, 오디오 등 모든 형태와 크기의 객체가 포함되는 클라우드 스토리지 방식입니다. 키-값 쌍 저장소이기 때문에, 객체 저장소의 로컬 디스크에 파일 스토리지를 저장하면 쓰기 유연성이 크게 떨어집니다. 클라우드 객체 저장소는 높은 내구성과 확장성을 가지고 있어 빅데이터 시스템에 적합합니다.

     

    데이터 엔지니어링 애플리케이션의 객체 저장소

    대규모의 배치 읽기와 배치 쓰기에 뛰어난 성능을 제공합니다. 이는 대규모 OLAP 시스템의 사용 사례에 매우 적합합니다. 유형이나 구조에 제약이 없는 바이너리 데이터를 저장할 수 있으며 원시 텍스트, 이미지, 비디오 및 오디오용 ML 파이프라인에서 자주 사용됩니다.

    객체 조회

    앞서 말했듯 객체 저장소는 키-값 쌍 저장소입니다. 예를 들어, S3에서는 버킷 이름과 객체 키를 통해 객체를 참조하며, 디렉토리처럼 보이는 경로는 객체의 키로 인식됩니다. 따라서 디렉터리 수준 작업을 수행하려면 키 접두사를 사용해 필터링해야 하며, 수백만 개의 객체가 있는 경우 이 작업에 시간이 꽤 걸릴 수 있습니다.

    객체 일관성 및 버전 관리

    객체 저장소는 일반적으로 업데이트할 때 새 객체를 동일한 키 아래에 저장하며, 최종 일관성 또는 강력한 일관성 모델을 따릅니다. 객체 버전 관리를 활성화하면 이전 버전도 유지되어 일관성 문제를 줄일 수 있지만, 스토리지 비용이 증가할 수 있습니다. 엔지니어는 수명 주기 정책을 통해 오래된 버전을 자동으로 삭제하거나, 보관 계층으로 이동해 비용을 절감할 수 있습니다.

    스토리지 클래스 및 계층

    현재 클라우드 벤더는 스토리지 비용을 절감하는 대신 액세스 빈도나 내구성을 낮춘 스토리지 클래스를 제공합니다. 예를 들어, S3 스탠다드-AI는 낮은 저장 비용과 높은 검색 비용을, S3 글래시어는 장기 보관을 위한 저비용을 제공하나 데이터 복원에 시간이 걸립니다. 보관 스토리지는 데이터 접근이 쉽고, 특히 데이터가 예상보다 자주 필요한 경우 비용이 많이 들기 때문에 활용 계획을 파악해야 합니다.

    객체 저장소 백업 파일 시스템

    s3fs 및 아마존 s3 파일 게이트웨이 같은 도구를 사용하면 S3 버킷을 로컬 스토리지로 마운트할 수 있습니다. 이러한 도구의 사용자는 파일 시스템에 대한 쓰기 특성과, 이러한 쓰기가 객체 스토리지의 특성 및 가격과 어떻게 상호 작용하는지를 알아야 합니다.

    6.2.6 캐시 및 메모리 기반 스토리지 시스템

    RAM 기반 저장 시스템은 빠른 접근과 높은 대역폭을 제공하지만, 데이터 손실에 취약하여 보존을 위해 더 내구성이 높은 미디어에 작성해야 합니다. 멤캐시드와 레디스는 RAM을 이용한 대표적인 캐시 솔루션으로, 멤캐시드는 단순한 키-값 캐싱을 제공하고, 레디스는 더 복잡한 데이터 유형과 지속성 메커니즘을 내장하여 고성능 애플리케이션에 적합합니다.

    6.2.7 하둡 분산 파일 시스템

    하둡 분산 파일 시스템은 구글 파일 시스템을 기반으로 하며, 객체 스토리지와 유사하지만 중요한 차이점이 있습니다. 하둡은 동일한 노드에서 컴퓨팅과 스토리지를 결합하지만, 객체저장소는 일반적으로 내부 프로세싱을 제한적으로 지원합니다.

    하둡은 대용량 파일을 수백 메가바이트 미만의 데이터 청크인 블록으로 분할합니다. 파일시스템은 상세 카탈로그를 유지하는 네임노드에 의해 관리됩니다. 일반적인 구성에서는 각 데이터 블록이 3개의 노드에 복제되는데, 그러면 데이터의  내구성과 가용성이 모두 향상됩니다. 여전히 많은 레거시 설치 환경과 대형 온프레미스에 사용되고 있으며, Spark 같은 최신 빅데이터 엔진에서도 HDFS가 핵심 요소로 활용되고 있습니다.

    6.2.8 스트리밍 스토리지

    아파치 카프카 같은 분산되고 확장 가능한 스트리밍 프레임워크는 스트리밍 데이터를 장기간 보존할 수 있습니다. 이러한 시스템의 데이터 보관과 밀접한 개념이 리플레이입니다. 리플레이를 사용하면 스트리밍 시스템에 저장된 과거 데이터의 범위를 반환할 수 있습니다. 또한 실시간 분석을 위해 데이터를 실시간으로 쿼리할 수 있는 새로운 스토리지 엔진이 등장했으나, 기존 트랜잭션 데이터베이스는 확장성과 잠금 제한으로 대규모 분석에 최적화되지는 않았습니다.

    6.2.9 인덱스, 파티셔닝 및 클러스터링

    인덱스는 특정 필드에 대한 테이블 맵을 제공하며 개별 레코드를 매우 빠르게 검색할 수 있게 해 줍니다. 인덱스를 사용하면 RDBMS는 초당 수천 개의 행을 조회하고 갱신할 수 있습니다. 

     

    행에서 열로의 진화

    컬럼형 직렬화를 사용하면 데이터베이스는 특정 쿼리에서 필요한 열만 스캔할 수 있으므로 디스크에서 읽는 데이터의 양을 대폭 줄일 수 있고 높은 압축률을 얻어, 데이터를 더 빠르게 스캔할 수 있습니다. 복잡한 데이터 변환, 집계, 통계, 계산 또는 대규모 데이터셋의 복잡한 조건 평가 등 대량의 데이터를 스캔해야 할 때는 매우 우수한 성능을 발휘합니다.

    인덱스부터 파티션 및 클러스터링까지

    분석 및 데이터 과학 사용 사례에서는 보통 시간 단위로 검색하기 때문에 날짜 및 시간 기반 파티셔닝이 매우 일반적입니다. 컬럼형 데이터베이스는 일반적으로 다양한 다른 파티션 스키마도 지원합니다.

    클러스터를 사용하면 파티션 내에서 데이터를 더 세밀하게 구성할 수 있습니다. 컬럼형 데이터베이스 내에 적용되는 클러스터링 스키마는 데이터를 하나 또는 여러 개의 필드로 정렬해 유사한 값을 조합하는데, 이러한 값을 필터링, 정렬 및 조인할 때 성능이 개선됩니다.

     

     


    Q1. 데이터 스토리지의 기본 구성 요소들의 특징으로 옳지 않은 것은?

     

    ① 자기 디스크에 저장된 데이터의 기가바이트당 가격은 SSD보다 약 10배 저렴하다.

    ② HDD의 디스크 전송 속도는 디스크 용량에 비례해 확장되지 않는다.

    ③ SSD는 현재 대규모 분석 데이터 스토리지를 위한 주요 옵션으로 부상했다.

    ④ 임의 접근 메모리는 휘발성으로, 전원이 공급되지 않으면 1초 이내에 데이터가 손실된다.

    ⑤ 압축을 통해 디스크당 실제 검색 속도가 향상한다.

     

    정답(드래그): ③ SSD는 비용이 많이 들기 때문에, 현재 대규모 분석 데이터 스토리지를 위한 주요 옵션으로 부상한 것은 SSD가 아닌 자기 디스크의 객체 스토리지이다.

     

    Q2. 데이터 스토리지 시스템에 대한 설명으로 옳지 않은 것은?

     

    ① 분산 스토리지는 서버를 사용할 수 없게 될 경우를 대비해 중복성 기능을 제공한다.

    ② 강력한 일관성을 갖춘 분산형 데이터베이스는 먼저 모든 노드에 대한 쓰기가 합의에 따라 분산된다.

    ③ 로컬 디스크 파일 시스템은 저널링, 스냅숏, 전체 디스크 암호화 및 압축과 같은 고급 기능을 지원한다.

    ④ 하둡은 일반적으로 내부 프로세싱을 제한적으로 지원하지만, 객체저장소는 동일한 노드에서 컴퓨팅과 스토리지를 결합한다.

    ⑤ 컬럼형 직렬화를 사용하면 디스크에서 읽는 데이터의 양을 대폭 줄일 수 있다.

     

    정답(드래그): ④ 하둡은 동일한 노드에서 컴퓨팅과 스토리지를 결합하지만, 객체저장소는 일반적으로 내부 프로세싱을 제한적으로 지원합니다.

Designed by Tistory.