(기술 트렌드)빅데이터 처리 환경의 변화와 미래
❤️ 근래의 빅데이터 기술은 데이터를 수집.저장.변환처리 에 필요한 스토리지 기술의 발전과 함께 데이터 처리 방식과 도구의 발전으로 이어져 있습니다. ❤️
각 스토리지 기술의 발전과 데이터 시장의 변화를 정리 해 봅니다.
<파일 기반 데이터 베이스와 스토리지 시대>
1. Sequential Access Method - Sequencing processd by tape device
80년대 데이터 베이스는 테입 디바이스에 저장되어 순차적인 읽기와 쓰기가 용이한 순차 접근 방식 (Sequential Access Method)은 데이터를 연속적으로 접근하는 방식을 사용 했습니다. 이 방식에서는 데이터를 순서대로 읽거나 쓰는 것이 주된 작업을 사용했습니다. 당시 테이프 디바이스는 대용량 데이터를 저장하기 위해 사용되는 보조 기억 장치였습니다. 물론 저장 용량이 수백MB 정도 밖에 안되지만 당시 테이프 디바이스는 대량의 데이터를 비교적 저렴한 비용으로 저장할 수 있는 장점으로 Data를 저장하는 기술로 사용했습니다. (저도 선배들의 이야기만 들은 고전적인 시대인 듯 합니다.)
오디오 테입과 같이 데이터를 시간의 순서에 따라 저장하고 읽기가 가능하여 배치방식의 처리가 가능하였습니다. 데이터는 테이프에 순서대로 기록되며, 읽거나 쓰기 작업은 테이프를 한 방향으로만 이동시키면서 이루어졌습니다. 데이터를 읽거나 쓰기 위해서는 특정 위치로 이동하거나 검색하는 것이 불가능하여, 테이프를 처음부터 순차적으로 탐색해야 했습니다. 데이터를 읽고 처음부터 다시 읽기 위해서는 테입을 되감거나 앞으로 읽어 가면서 파일을 찾아야 하는 불편함이 있었습니다.
주로 하나의 파일 단위로 데이터를 읽거나 쓰기가 가능 했지만 읽기나 쓰기 둘 중에 하나의 방식으로 처리가 가능하므로 파일을 읽고 쓰는 작업을 동시에 처리 할 수 없었으며, 작업자도 단일 사용자가 점유하면 다른 사용자는 대기를 해야하므로 하나의 데이터를 동시에 여러명이 사용 할 수 없는 기술 한계가 있었습니다.
2. 플로피디스크 와 iSAM (Indexed Sequential Access Method) with random access processing
iSAM (Indexed Sequential Access Method) with random access processing는 순차 접근 방식과 임의 접근 방식을 결합한 데이터 액세스 방법입니다.
iSAM은 기본적으로 순차 접근 방식인 ISAM(Indexed Sequential Access Method)을 기반으로 합니다. ISAM은 데이터를 순차적으로 저장하면서 인덱스를 사용하여 효율적인 데이터 검색을 제공합니다. 특정 필드를 기반으로 데이터를 정렬하여 인덱스를 생성하고 필요한 데이터에 빠르게 접근할 수 있었습니다. 따라서 순차 접근이 필요하지 않고 특정 위치의 데이터에 직접 접근해야 하는 경우에 효율적인 방식 입니다.
플로피 디스크의 도입으로 Random access가 가능하고 내부 인덱스 기술을 이용하여 Transaction 단위의 데이터를 쪼개어을 저장하고 읽고 쓰기가 용이해 졌습니다. Index를 이용하여 파일의 데이터를 쉽고 빠르게 찾고 접근 가능한 iSAM 기술이 활용되면서 데이터를 추가, 수정, 삭제, 검색 등 다양한 작업이 유용해 졌습니다.
인덱스를 사용하여 특정 조건에 맞는 데이터를 빠르게 검색하고 필요한 데이터를 쉽게 수정하거나 삭제할 수 있게 되었습니다.
플로피의 읽기 쓰기로는 속도가 느리므로 읽은 데이터 일부를 메모리를 활용하여 부분적으로 저장하여 처리하기도 하였고, 데이터의 인덱스 기술을 도입하여 데이터의 저장이 용이하고 필요한 데이터를 빠르게 읽고 쓸수 있게 되었습니다.
다만 Data를 Random Access 할수는 있었지만 단일 프로세스(single processing) 배치방식의 저장과 읽기 처리가 가능했던 시기로 코볼(Cobol) 과 같이 순차 데이터 처리 언어를 기반으로 배치 기반의 데이터 처리에 한계가 있었던 기술 입니다.
3. 하드디스크와 인덱스 with direct random accessed multi-processing
Tape, 플로피 저장 미디어는 하드 디스크로 발전되어 Random Data 접근과 읽기 쓰기의 속도가 빠른 미디어 기술입니다.
현대에서 하드디스크는 컴퓨터 시스템에서 데이터를 저장하는 주요한 보조 기억 장치로 사용되어 왔습니다. 하드디스크는 회전하는 디스크 플래터와 플래터 위에 데이터를 기록하고 읽는 헤드로 구성되어 있습니다. 데이터는 디스크 플래터의 특정 위치에 저장되며, 헤드는 필요한 데이터를 읽거나 쓰는 작업을 수행합니다.
여러개의 데이터를 동시에 읽고 쓸수 있는 헤더가 장착되면서 고속의 회전 디스크로 빠르게 데이터를 기록하고 읽기가 가능해 졌습니다. 장치 구조는 블록(block) 또는 섹터(sector)라는 고정 크기의 데이터 단위로 데이터를 저장하였습니다. 각 블록 또는 섹터에는 고유한 주소가 할당되어 있어서 주소를 사용하여 데이터에 직접적으로 액세스할 수 있게 되었습니다.
HDD기술은 빠른 트랜젝션의 정형 데이터 저장이 용이하고 내부 블록 저장 단위의 데이터 저장 관리 기술로 반복적이고 부분적인 데이터 읽기 쓰기 속도도 빨라졌습니다.
각 프로세스는 인덱스를 사용하여 필요한 데이터의 위치를 식별하고, 해당 위치로 직접 접근(Direct Access Method)하여 데이터를 읽거나 쓸 수 있습니다. 이는 데이터 액세스의 병목 현상을 줄이고, 동시성과 처리량을 높일 수 있는 장점을 제공 하였습니다.
HDD기술과 더불어 여러개의 작업 프로세스를 실행할 수 있는 멀티 프로세스 CPU의 등장으로 각 프로세스 마다 독립적으로 데이터를 읽고 처리가 가능한 멀티 프로세싱 기술도 도입되어 데이터 처리 기술은 더욱 발전되었습니다.
파일 포인터 또는 데이터 락과 같은 파일 접근 기법으로 동시에 여러 프로세스가 데이터를 독립적으로 읽고 쓰기가 가능하였습니다. 그리고 멀티 프로세스 기술은 데이터를 관리하는 어플리케이션인 데이터 베이스 시스템(DBMS)으로 발전 되었습니다.
데이터베이스 시스템(DBMS)으로 여러 프로세스들이 동시에 데이터 접근하여 읽고 쓰기가 가능하고 대량의 데이터 처리에 특화된 기능을 제공 할 수 있게 되었습니다.
<네트웍 기술과 데이터 공유 기술>
4. 공유 스토리지와 병렬 프로세싱( Parallel processing )
공유 스토리지(Shared Storage)는 여러 컴퓨터 또는 시스템이 공통으로 사용할 수 있는 중앙 집중형 저장소 방식입니다. 이러한 스토리지 시스템은 데이터를 저장하고 필요에 따라 여러 시스템이 접근하여 데이터를 공유할 수 있습니다.
공유 스토리지는 일반적으로 네트워크를 통해 연결되는 네트워크 스토리지 형태로 구현됩니다. 여러 컴퓨터 또는 서버는 이 스토리지에 연결하여 데이터를 읽거나 쓸 수 있습니다. 이는 데이터의 중복을 방지하고, 데이터의 일관성과 공유성을 제공하여 협업이나 데이터 공유 환경에서 유용하게 사용됩니다.
여러 컴퓨팅 자원들이 공유 스토리지를 통해 데이터를 동시에 읽고 쓰기가 가능하면서 작업을 쪼개어 병렬 처리하는 기술도 발전되어 왔습니다. 병렬 프로세싱(Parallel Processing)은 컴퓨팅 작업을 여러 개의 작은 작업으로 나누고, 각 작업을 병렬적으로 처리하여 처리 속도를 향상시키는 방법입니다. 이 방식은 여러 프로세서, 코어 또는 컴퓨터 시스템을 동시에 사용하여 작업을 분산시키고, 병렬적으로 처리함으로써 더 빠른 계산 또는 데이터 처리를 가능합니다.
병렬 프로세싱은 대규모 데이터 처리, 과학 및 공학 시뮬레이션, 그래픽 렌더링, 기계 학습 등 다양한 컴퓨팅 작업에 사용됩니다. 데이터를 작은 조각으로 분할하고, 분할된 데이터를 병렬로 처리하여 처리 시간을 단축시키고 성능을 향상 할 수 있는 기술 입니다.
공유 스토리지와 병렬 프로세싱을 함께 사용하면서 여러 컴퓨터 또는 시스템이 공유 스토리지에 접근하여 데이터를 동시에 처리할 수 있게 되었습니다. 각 시스템은 독립적으로 작업을 수행하며, 필요한 데이터를 공유 스토리지에서 읽어와 처리하거나 결과를 저장할 수 있습니다. 이를 통해 데이터 처리 속도를 향상시키고 병렬성을 활용하여 더 빠르고 효율적인 작업을 수행할 수 있습니다.
이러한 각 시스템의 역할 분산이 가능하고 대량의 데이터를 병렬로 처리가 가능한 환경은 보편화 되었습니다.
최근 부각된 NoSQL과 BigData 시스템에서 대량의 분산 아키텍처와 병렬 처리가 핵심적인 기능으로 자리를 잡았습니다.
5. 분산 시스템(Distributed System)과 데이터 클러스터링(Data Clustering)
분산 시스템(Distributed System)은 여러 컴퓨터 또는 시스템이 네트워크를 통해 연결되어 하나의 통합된 시스템처럼 동작하는 컴퓨팅 환경입니다. 시스템은 분산 컴퓨팅 자원을 활용하여 작업을 분산하여, 성능 향상과 확장성, 신뢰성 등의 이점을 제공합니다.
주로 분산 시스템은 여러 컴퓨터 또는 서버로 구성되며, 각 컴퓨터는 독립적인 역할을 가지고 작업을 수행하거나 협력하여 작업을 처리합니다. 이러한 시스템은 데이터 및 작업의 분산, 통신과 동기화를 위한 메커니즘, 오류 처리 및 복구 기능 등을 포함하고 있습니다.
데이터 클러스터링(Data Clustering)은 데이터를 비슷한 특성을 갖는 그룹 또는 클러스터로 분류하는 기술입니다. 클러스터링은 데이터 마이닝, 패턴 인식, 이미지 처리 등 다양한 분야에서 사용됩니다. 클러스터링을 통해 비슷한 데이터를 그룹화함으로써 데이터를 이해하고 분석할 수 있습니다.
분산 시스템에서는 여러 컴퓨터 또는 노드가 데이터를 분석하고 클러스터링 작업을 분산 처리할 수 있습니다. 대규모 데이터 세트를 더 빠르고 효율적으로 클러스터링할 수 있으며, 분석 결과를 통해 의미 있는 정보를 도출할 수 있게 되었습니다. 분산 클러스터링은 대규모 데이터 처리, 분석 및 추론 작업에 유용하며, 분산 시스템의 확장성과 성능을 활용합니다.
클라우드 기술의 발전으로 여러 시스템이 각자의 로컬저장소에 데이터를 분산 저장하고
하나의 클러스터에서 데이터 공유와 분산 작업 수행이 가능해 졌습니다.
클러스터에 참여한 각 시스템을 노드라고 하고 참여 노드의 상태를 관리하고 처리 작업을 관리하는 Manager 또는 메인 노드는 각 노드간의 상태 관리와 데이터를 주고 받을수 있습니다. 이러한 네트웍 기반의 데이터 공유와 분산 기술은 클라우드라는 인프라를 통해서 더욱 발전 되고 있습니다.
6. 데이터 스트리밍(Data streaming)과 실시간 데이터 처리
데이터 스트리밍(Data streaming)은 데이터가 지속적으로 생성되고 처리되는 동안 데이터 플로우를 지속적으로 전송하고 처리하는 것을 의미합니다. 데이터 스트리밍은 대량의 데이터를 실시간으로 처리하고 분석하기 위해 사용되며, 데이터가 발생하는 즉시 처리되어야 하는 경우에 주로 활용됩니다.
실시간 데이터 처리는 데이터 스트리밍을 통해 전송된 데이터를 실시간으로 수집하고, 이를 분석, 가공 또는 저장하여 실시간으로 결과를 생성합니다. 예를 들어, 인터넷 응용 분야에서는 웹 로그 데이터의 스트리밍을 실시간으로 처리하여 실시간 트래픽 분석, 사용자 행동 분석, 보안 감지 등을 수할 수 있습니다.
데이터 스트리밍과 실시간 데이터 처리는 IoT (사물 인터넷), 스마트 시티, 금융 거래, 실시간 주식 시장 분석, 실시간 광고 등 다양한 응용 분야에서 중요한 역할을 합니다. 이들은 실시간으로 발생하는 데이터를 즉시 처리하고 활용하여 실시간으로 의사 결정을 내리고, 실시간으로 서비스를 제공하는데 활용됩니다.
데이터.량이 기하 급수적으로 증가 하여 일.월단위 배치 방식으로는 방대한 데이터 처리에 한계가 있고, 비즈니스는 더 빠른 응답을 요구하고 있습니다.
5G 네트웍의 도입으로 대량의 데이터를 실시간으로 수집 전송하는 인프라가 마련되었고, 트랜스포팅 계층과 메모리 버퍼내 공간을 공유하는 분산 아키텍처와 클라우드 기술로 실시간 데이터 처리도 가능합니다.
데이터.파이프라인 과 스트리밍 기반의 데이터 기술(Kafka, NATS, jet stream, flink 등)이 보급되었고,
각 참여 노드들이 공유한 저장 공간을 확장하여 분산 처리도 가능하고 실시간 집계와 데이터 파이프라인을 통해서 데이터의 실시간 전송하여 급격한 실시간 데이터로 전환을 맞이하고 있습니다.
<인공지능을 통한 생산 중심의 데이터 처리>
7. 데이터 수집과 공유를 통한 재생산
블록체인을 통해 분산된 데이터의 소유가 가능하고 마이데이터와 같은 서로 다른 기관끼리 데이터를 모으고 분석하여 복합적인 데이터 처리가 가능합니다.
수집된 데이터의 신뢰성과 재현성을 확보하여, 다른 사람들이 동일한 데이터를 사용하여 연구나 분석을 재현할 수 있는 환경을 제공 할 수 있습니다. 또 데이터 공유는 데이터의 신뢰성과 투명성을 제공하며, 다른 사람들이 해당 데이터를 활용하여 연구, 분석, 의사 결정 등을 수행할 수 있게 되었습니다.
데이터 수집과 공유를 통한 재생산은 과학적 연구의 신뢰성과 투명성을 확보하기 위한 핵심 원칙 중 하나입니다. 이는 다른 연구자들이 동일한 데이터를 사용하여 연구를 재현하고, 검증할 수 있도록 하여 학문적인 발전과 공동체의 신뢰성을 증진시키는 역할을 합니다.
앞으로 데이터를 저장하고 소유하는것에 그치지 않고 다양한 분야의 데이터를 통합해서 새로운 가치를 재생산하는 시대가 되었습니다.
8. 양자 컴퓨팅과 인공지능 시스템을 통한 예측 기반 데이터 생산
양자 컴퓨팅과 인공지능 시스템과 같이 현대 기술의 발전은 데이터 분석과 예측 분야에서 새로운 가능성을 열고 있습니다. 양자 컴퓨팅은 양자 메커니즘을 이용하여 병렬 처리, 동시성, 상태 수집 등의 특징을 활용하여 기존 컴퓨팅 방식보다 훨씬 빠르고 복잡한 계산을 수행할 수 있는 기술입니다.
인공지능 시스템은 기계 학습, 패턴 인식, 데이터 분석 등을 통해 데이터를 분석하고 예측하는 기능을 갖춘 시스템입니다
양자 컴퓨팅과 인공지능 시스템을 결합하면 기존의 예측 분석보다 훨씬 더 정확하고 정교한 예측을 수행할 수 있습니다. 양자 컴퓨팅은 막대한 양의 데이터를 동시에 처리하고, 복잡한 계산을 효율적으로 수행할 수 있으며, 인공지능 시스템은 기계 학습 알고리즘을 통해 데이터의 패턴을 학습하고 예측 모델을 구축할 수 있습니다.
기존의 데이터베이스는 데이터 저장과 공유 그리고 반복적인 데이터 조회와 통계 데이터 생산에 목적이 있었다면, 인공지능의 힘을 통해 새로운 데이터를 "자율적으로 예측하고 생산하는 시대"가 예상됩니다.
대부분의 데이터는 거래 이력 데이터를 기반으로 다양한 데이터와의 결합하여 이용되므로 핵심 데이터 관리를 통해서 필요한 상황에 맞도록 데이터 생산이 가능합니다.
예측 기반 데이터 생산 시대는 데이터의 가치와 활용 방식을 변화시키고, 기업들이 데이터를 중심으로한 전략과 의사 결정을 수립하는 데 큰 영향을 줍니다.
데이터의 예측력을 통해 시장 동향을 예측하고, 소비자 행동을 예측하여 개인 맞춤형 서비스를 제공하는 등 다양한 기회와 경쟁력을 제공하 수 있습니다. 이러한 시대에서는 데이터의 수집, 처리, 예측 모델 개발, 알고리즘 개선 등에 대한 연구와 기술 발전이 더욱 중요합니다.
앞으로 데이터는 과거의 흔적을 관찰하고 분석하여 미래에 필요한 데이터를 예측하고 데이터의 가치를 스스로 만들어 내는기술의 시대가 도래 할 것으로 예상됩니다.
카페에서 급하게 생각을 정리 해 봄....
[Data 관련 참고 정리]
1. Bigdata - 데이터웨어 하우스 (DataWare House) 그리고 Data Lake
2.데이터 메시 (Data mesh) 원칙과 전략
3. 클라우드 네이티브 와 Event-Stream-Processing 플랫폼
4. (기술 트렌드)데이터 처리 환경의 변화와 미래
5. (기술)빅데이터 분석을 위한 고성능 DB기술 SingleStore
'Tech-Trends' 카테고리의 다른 글
(트렌드)증권형토큰(STO)과 토큰화된 증권 (0) | 2022.05.27 |
---|---|
루나코인의 폭락과 폰지사기 (0) | 2022.05.21 |
(트렌드) 블록체인의 계층 영역 (L0, L1, L2, L3) (0) | 2022.05.10 |
(트렌드)로우코드 솔루션-시민개발자 (0) | 2022.04.24 |
(블록체인) NFT 표준 기초 용어와 ERC20 ERC721 ERC1155 (1) | 2022.04.16 |
(블록체인) 블록체인의 데이터신뢰 : 오라클 문제와 해결 (Oracle Problem) (0) | 2022.04.16 |
(블록체인) 암호화 화폐의 분류 (0) | 2022.04.16 |