오라클 19c에서의 Spark 및 하둡 통합 강화 의미
2025. 2. 12. 00:01ㆍIT/Oracle
반응형
- 오라클 19c는 빅데이터 환경에서의 연계 및 분석 성능을 극대화하기 위해 Apache Spark 및 Hadoop과의 통합을 강화하였습니다.
- 이는 대량 데이터 처리, 실시간 분석, 분산 환경 지원을 필요로 하는 기업 환경에서 중요한 의미를 가집니다.
Spark 및 Hadoop 통합 강화의 주요 내용
오라클 19c는 빅데이터 플랫폼과의 원활한 연계를 위해 다음과 같은 기능을 개선했습니다.
(1) Hadoop Distributed File System(HDFS) 직접 액세스
- 오라클 데이터베이스에서 HDFS에 저장된 데이터를 직접 읽고 쓸 수 있는 기능이 추가됨.
- SQL을 통해 Hadoop에 저장된 데이터를 질의할 수 있으며, 이를 통해 ETL(Extract, Transform, Load) 프로세스를 간소화.
- 기존에는 별도의 커넥터 또는 외부 테이블을 생성해야 했으나, 19c에서는 더욱 원활한 네이티브 연동 가능.
HDFS에서 직접 데이터를 조회하는 예시
SELECT * FROM external_table_on_hdfs;- external_table_on_hdfs는 HDFS에 저장된 데이터를 직접 참조하는 외부 테이블.
(2) Oracle Big Data SQL 지원 강화
- Big Data SQL은 오라클 데이터베이스와 하둡(HDFS), NoSQL 등의 빅데이터 소스 간 SQL을 통해 통합 질의가 가능하도록 지원하는 기술.
- 기존의 빅데이터 환경에서는 MapReduce 또는 Spark을 사용해 데이터를 변환 후 오라클로 이동해야 했으나, 19c에서는 이를 줄이고 직접 SQL로 데이터 활용이 가능.
Big Data SQL을 활용한 Hadoop + Oracle 통합 쿼리
SELECT a.*, b.*
FROM oracle_table a
JOIN hdfs_external_table b
ON a.id = b.id;
- 하둡에 저장된 데이터(HDFS)를 오라클 SQL 엔진에서 직접 조회 및 조인 가능.
장점
- 데이터 이동 없이 즉시 분석 가능 → 성능 향상.
- Spark, Hadoop과의 연계가 강화되어 하이브(Hive) 및 Spark 데이터 소스도 SQL에서 바로 조회 가능.
(3) Oracle + Spark 연계 최적화
- Apache Spark은 대용량 데이터 처리를 위한 인메모리 분산 처리 프레임워크로, 오라클 19c에서는 Spark와의 연계를 최적화하Spark 엔진에서 직접 오라클 데이터를 읽고 쓸 수 있도록 지원.
- 이를 통해 ETL 및 실시간 스트리밍 처리 성능을 향상.
Spark에서 오라클 데이터 조회
from pyspark.sql import SparkSession
spark = SparkSession.builder \
.appName("OracleIntegration") \
.config("spark.jars", "/path/to/ojdbc8.jar") \
.getOrCreate()
df = spark.read \
.format("jdbc") \
.option("url", "jdbc:oracle:thin:@//host:1521/service_name") \
.option("dbtable", "oracle_table") \
.option("user", "username") \
.option("password", "password") \
.load()
df.show()- Spark에서 직접 오라클 테이블을 읽어와서 처리 가능.
- ETL 과정에서 별도의 변환 없이 오라클 데이터와 Spark 데이터 결합이 가능.
Spark Streaming + Oracle 연계 (실시간 데이터 분석)
from pyspark.sql import SparkSession
from pyspark.sql.functions import *
spark = SparkSession.builder.appName("StreamOracle").getOrCreate()
df = spark.readStream \
.format("jdbc") \
.option("url", "jdbc:oracle:thin:@//host:1521/service_name") \
.option("dbtable", "streaming_table") \
.option("user", "username") \
.option("password", "password") \
.load()
query = df.writeStream.outputMode("append").format("console").start()
query.awaitTermination()
- 오라클 데이터베이스에서 변경된 데이터를 실시간으로 Spark Streaming으로 분석 가능.
(4) Hybrid Partitioned Table 지원
- 오라클 19c는 Hybrid Partitioned Table(하이브리드 파티션 테이블) 기능을 제공하여 로컬 스토리지와 HDFS를 동시에 사용할 수 있도록 지원.
- 즉, 오라클의 테이블 일부는 오라클 DB에 저장하고, 일부는 HDFS 또는 Object Storage에 저장 가능.
Hybrid Partitioned Table 예시
CREATE TABLE sales (
sales_id NUMBER,
sales_date DATE,
amount NUMBER
)
PARTITION BY RANGE (sales_date) (
PARTITION p1 VALUES LESS THAN (DATE '2022-01-01') STORAGE IN 'LOCAL',
PARTITION p2 VALUES LESS THAN (DATE '2023-01-01') STORAGE IN 'HDFS'
);- p1 파티션은 오라클 내부 저장소(Local Storage),
- p2 파티션은 HDFS에 저장됨.
장점
- 오라클의 강력한 SQL 기능을 그대로 유지하면서 빅데이터 연동이 가능.
- 데이터 이동을 최소화하여 스토리지 비용 절감 및 성능 최적화.
오라클 19c의 Spark + Hadoop 통합의 의미
1. 데이터 이동 없이 SQL로 빅데이터 분석 가능
- 기존 Hadoop/Spark 데이터를 Oracle SQL에서 직접 조회할 수 있어 데이터 이동 필요 없음.
- 성능 저하 없이 대량 데이터 분석 가능.
2. ETL 및 데이터 처리 속도 향상
- Spark 엔진에서 오라클 데이터를 직접 활용 가능하여 기존의 복잡한 데이터 변환 과정 없이 실시간 분석 가능
- Spark Streaming과 연계하여 실시간 스트리밍 데이터 처리 가능.
3. 스토리지 비용 절감
- Hybrid Partitioned Table을 통해 HDFS, Object Storage 등을 효율적으로 활용 가능.
- 데이터 이동 없이 필요한 데이터만 오라클에서 직접 조회 가능하여 저장 공간 최적화.
4. 클라우드 및 빅데이터 환경에서 유연한 확장성
- 클라우드 환경에서 Hadoop과 오라클을 쉽게 연동할 수 있어 하이브리드 클라우드 및 빅데이터 분석이 더욱 유연해짐.
반응형
'IT > Oracle' 카테고리의 다른 글
| INSERT SELECT 성능 개선 기본 전략(ㅇ) (1) | 2025.02.13 |
|---|---|
| 오라클 코멘트 조회 (1) | 2025.02.12 |
| 오라클 19c - 자동 인덱싱(Auto Indexing) 및 자동 SQL 튜닝(Auto SQL Tuning) 기능(ㅇ) (1) | 2025.02.12 |
| Oracle 19c의 주요 특징 및 12c 와의 비교 (1) | 2025.02.12 |
| Oracle 19c의 추가 및 강화된 기능 소개 (2) | 2025.02.12 |