1. HBase
NoSQL 데이터베이스들은 데이터를 단순한 key-value 구조로 저장하며, 스키마 모델에서 자유로운 특징을 갖추어 고성능의 쓰기/읽기 작업을 가능하게 합니다. HBase는 하둡 기반의 칼럼 지향 데이터베이스로, 다양한 스키마 변형이 가능하며, 리전이라는 분산 서버를 통한 샤딩과 복제를 지원하여 성능과 안정성을 보장합니다. 특히 HBase는 하둡의 확장성과 내고장성을 활용하여 대규모 실시간 데이터 처리를 위한 스피드 레이어 저장소로 주로 활용됩니다. HBase는 구글의 논문을 참고하여 2006년 말에 개발이 시작되었으며, 2008년에는 하둡의 서브 프로젝트로 편입되었습니다.
HBase 아키텍처의 중요한 특징 중 하나는 하둡의 HDFS를 기반으로 설치 및 구성된다는 것입니다. 이러한 특징으로 분산 데이터베이스 아키텍처를 채택하며 HDFS의 가용성과 확장성을 그대로 이어받습니다.
클라이언트가 HBase에 데이터를 저장하기 전에 주키퍼를 통해 HTable의 기본 정보와 해당 HRegion의 특성을 확인합니다. 그런 다음 클라이언트는 이 정보를 기반으로 HRegionServer에 직접 연결하여 Memstore에 데이터를 저장합니다. MemStore에 저장된 데이터는 특정 시점에 HFile로 HDFS에 플러시되며, HFile은 HRegion의 상황에 따라 최적의 형태로 재구성됩니다.
HBase에서 특정 데이터를 가져오는 과정은 주키퍼를 통해 로우키에 해당하는 데이터의 위치 정보를 확인하고, 해당 HRegionServer의 MemStore에서 데이터를 효율적으로 가져와 디스크 I/O를 최소화하면서 빠른 응답 속도를 제공합니다.
2. 레디스
레디스는 NoSQL 데이터베이스와 분산 캐시 시스템의 특징을 결합한 IMDG(인-메모리 데이터 그리드) 소프트웨어입니다. 이는 key-value 형식의 데이터를 분산 서버상의 메모리에 저장하여 고성능의 응답 속도를 제공합니다. 레디스는 다양한 데이터 타입을 지원하며, 데이터를 구조화하여 저장할 수 있어 키/값 이상의 복잡한 데이터도 처리할 수 있습니다. 또한 인메모리 데이터를 영구적으로 저장할 수 있는 스냇샵 기능과 데이터 유실에 대비한 AOF 기능을 제공하여 데이터의 정합성을 보장합니다. 이러한 특성으로 인해 레디스는 NoSQL 데이터베이스의 주요 특징인 데이터 샤딩과 복제도 지원하며, 특히 높은 성능이 필요한 서비스에서 많이 활용됩니다.
레디스의 아키텍처는 3.x 버전부터 HA(고가용성) 기능이 강화되면서 클러스터의 완성도가 높아졌습니다. 다양한 요구사항과 데이터 샤딩, 복제 구성 방식에 따라 세 가지 아키텍처 구성이 가능합니다.
첫 번째는 Single Master 형식의 레디스 아키텍처로, 주로 개발 및 테스트 환경에서 사용됩니다. 이 형식은 설치가 간편하며 단일 서버로도 높은 응답 속도와 안정성을 제공합니다. 주로 소규모이면서 중요도가 상대적으로 낮은 시스템 간 데이터 공유에 활용됩니다.
두 번째 아키텍처는 Master인 쓰기 노드와 Slave인 읽기 노드로 분리되는 형식입니다. 마스터에 기록된 데이터는 복제를 통해 슬레이브 노드로 전송되어 데이터 정합성을 유지합니다.
세 번째는 버전 3.x부터 지원되는 HA 클러스터링 구조입니다. 이 구조에서는 Sentinel이라는 노드 모니터링 및 제어 컴포넌트가 추가되어 노드들을 모니터링하다가 마스터 노드에 문제가 발생하면 슬레이브 노드 중 하나를 마스터로 지정하고, 문제가 있는 마스터 노드와의 연결을 끊어 HA 기능을 제공합니다.
3. 스톰
스톰(Storm)은 대량의 스피드 데이터를 실시간으로 처리하기 위한 오픈 소스 분산 처리 시스템으로, 특히 빅데이터 분석 분야에서 활용되고 있습니다. 스피드 데이터는 다수의 이벤트로 구성되어 원천 시스템에서 지속적으로 생성되는데, 이는 작으면서도 대규모이며 동시다발적인 특성을 가지고 있습니다. 스톰은 이러한 도전적인 환경에서 데이터를 효과적으로 처리하고 분산 병렬 처리를 통해 실시간 분석을 가능케 하는 강력한 기능을 제공합니다.
스톰의 아키텍처는 강력한 장애 복구 기능을 갖추고 있습니다. 예를 들어, 어떤 슈퍼바이저가 워커 프로세스에서 심각한 문제로 인해 종료되면, 슈퍼바이저는 신속하게 새로운 워커 프로세스를 생성하여 시스템의 안정성을 유지합니다. 동시에, 롤백 메커니즘을 활용하여 문제가 발생하기 직전의 상태로 데이터를 복원하며, 이후 다시 처리를 시작함으로써 데이터의 일관성을 보장합니다.
'AI 및 데이터 분석' 카테고리의 다른 글
협업 필터링 모델, 콘텐츠 기반 추천 시스템 - 추천시스템의 기본 모델 (1) (1) | 2023.11.30 |
---|---|
빅데이터 탐색을 위한 주요 기술 도구들 (1) | 2023.11.29 |
데이터웨어하우스의 필요성 (OLAP vs OLTP) (0) | 2023.11.28 |
통계적 중심 경향과 데이터 산포도 (0) | 2023.11.28 |
데이터 객체와 속성: 특성과 유형 (0) | 2023.11.26 |