개인 일정/공부

빅데이터란?

박경태 2023. 11. 19. 21:05

빅데이터란?

 

빅데이터( Big Data)는 기존 데이터베이스 관리도구로는 처리하기 어려운 대규모의 다양한 종류의 데이터 집합을 지칭하는 용어입니다. 이러한 데이터는 기존의 데이터베이스 시스템이나 분석 도구로는 처리하기 어렵거나 불가능한 규모와 복잡성을 가지고 있습니다. 빅데이터는 주로 다음과 같은 세 가지 특성을 갖고 있습니다:

1. **규모 (Volume):** 빅데이터는 대부분 대량의 데이터를 다룹니다. 이는 테라바이트(TB)에서 페타바이트(PB) 이상의 크기로 나타날 수 있습니다. 대규모의 데이터를 효과적으로 수집, 저장, 처리하려면 특수한 기술과 도구가 필요합니다.

2. **다양성 (Variety):** 빅데이터는 다양한 종류의 데이터를 포함합니다. 구조화된 데이터(예: 관계형 데이터베이스의 테이블), 반구조화된 데이터(예: XML 파일), 비구조화된 데이터(예: 텍스트, 이미지, 비디오) 등 여러 형태의 데이터가 혼합되어 있습니다.

3. **속도 (Velocity):** 빅데이터는 빠르게 생성되고 수집됩니다. 실시간 또는 거의 실시간으로 데이터를 처리하고 분석하는 능력이 필요합니다. 예를 들어, 센서 데이터, 소셜 미디어의 실시간 업데이트, 금융 거래 등이 높은 속도로 발생할 수 있습니다.

빅데이터는 이러한 특성을 통해 기업, 연구 기관, 정부 등에서 유용한 정보를 추출하고 의사 결정을 지원하는 데 사용됩니다. 빅데이터 분석은 데이터 마이닝, 머신러닝, 통계 분석 등 다양한 기술과 방법을 활용하여 통찰력을 얻고 패턴, 트렌드를 발견하는 데 도움이 됩니다. 이는 비즈니스 전략 수립, 제품 개발, 마케팅 전략 등 다양한 분야에 적용될 수 있습니다.

 

데이터 파이프라인이란?

 

데이터 파이프라인(Data Pipeline)은 데이터를 수집하여 처리하고 저장하는 일련의 과정을 자동화하는 시스템입니다. 이는 데이터의 효율적인 이동과 변환을 보장하여 데이터의 품질을 유지하고, 분석 및 의사 결정을 위해 필요한 정보를 추출하는 데 사용됩니다. 데이터 파이프라인은 여러 작업을 연속적으로 실행하는데, 일반적으로 다음과 같은 단계로 구성됩니다:

1. **데이터 수집 (Data Ingestion):** 외부 소스에서 데이터를 수집하고 데이터 파이프라인으로 가져오는 단계입니다. 이 단계에서는 로그 파일, 데이터베이스, 웹 API, 센서 등 다양한 소스에서 데이터를 수집합니다.

2. **데이터 처리 (Data Processing):** 수집된 데이터를 정제하고 필요한 형식으로 변환하는 단계입니다. 이 단계에서는 데이터를 정규화하거나 집계하고, 오류를 처리하며, 다양한 데이터 형식 간에 변환 작업을 수행합니다.

3. **데이터 저장 (Data Storage):** 처리된 데이터를 안전하게 저장하는 단계입니다. 이 단계에서는 관계형 데이터베이스, NoSQL 데이터베이스, 데이터 웨어하우스 등을 사용하여 데이터를 영구적으로 보관합니다.

4. **데이터 분석 (Data Analysis):** 저장된 데이터를 분석하고 유용한 정보를 추출하는 단계입니다. 이 단계에서는 데이터 마이닝, 머신러닝, 통계 분석 등을 사용하여 의사 결정을 지원하는 통찰력을 얻습니다.

5. **결과 제공 (Results Delivery):** 분석 결과를 적절한 형식으로 제공하는 단계입니다. 이 단계에서는 시각화, 리포트, 대시보드 등을 활용하여 사용자에게 정보를 전달합니다.

데이터 파이프라인은 자동화와 모니터링이 중요한 역할을 합니다. 자동화를 통해 데이터 처리 과정을 효율적으로 관리하고, 모니터링을 통해 데이터의 이상 현상이나 오류를 신속하게 감지하여 조치할 수 있습니다. 이를 통해 기업이나 조직은 빠르게 변화하는 환경에서 데이터를 활용하여 더 빠른 의사 결정을 내릴 수 있습니다.

 

데이터베이스의 테이블 종류

 

데이터베이스에서 사용되는 테이블은 주로 데이터를 구조화하고 저장하는 데 사용됩니다. 각 테이블은 특정 유형의 데이터를 나타내며, 데이터베이스 시스템에 따라 다양한 종류의 테이블이 있을 수 있습니다. 주요한 테이블 종류에 대한 설명은 다음과 같습니다:

1. **기본 테이블 (Base Table):** 기본 테이블은 일반적인 데이터베이스 테이블로, 실제 데이터를 저장하는 데 사용됩니다. 기본적으로 데이터의 행과 열로 구성되며, 각 행은 하나의 레코드를 나타내고 각 열은 레코드의 속성을 나타냅니다.

2. **임시 테이블 (Temporary Table):** 임시 테이블은 일시적으로 데이터를 저장하는 데 사용됩니다. 일반적으로 특정 작업이나 세션 동안만 필요한 데이터를 저장하는 데 활용됩니다.

3. **뷰 (View):** 뷰는 하나 이상의 기본 테이블에서 데이터를 선택적으로 보여주는 가상 테이블입니다. 뷰는 실제로 데이터를 복제하지 않고, 쿼리 실행 시에 동적으로 데이터를 생성하여 사용자에게 제공합니다.

4. **인덱스 (Index):** 인덱스는 테이블에서 특정 열의 검색 성능을 향상시키기 위해 사용됩니다. 특정 열의 값을 미리 정렬하여 빠르게 검색할 수 있도록 돕습니다.

5. **시스템 카탈로그 테이블 (System Catalog Tables):** 데이터베이스 시스템은 메타데이터 정보를 저장하기 위해 시스템 카탈로그 테이블을 사용합니다. 이 테이블은 데이터베이스 스키마, 인덱스, 사용자 권한 등에 관한 정보를 포함합니다.

6. **파티션 테이블 (Partitioned Table):** 대용량의 데이터를 처리할 때 성능을 향상시키기 위해 테이블을 파티션으로 나눌 수 있습니다. 각 파티션은 특정 기준에 따라 데이터를 논리적 또는 물리적으로 분할합니다.

7. **외부 테이블 (External Table):** 외부 테이블은 데이터베이스 내부가 아닌 외부 데이터 소스에 대한 참조를 나타냅니다. 외부 테이블을 사용하면 데이터베이스에서 외부 데이터에 대한 쿼리를 실행할 수 있습니다.

이러한 테이블 종류들은 데이터 모델링과 데이터베이스 설계 시에 다양한 요구사항에 맞게 조합하여 사용됩니다.