SlideShare a Scribd company logo
1 of 40
Vertica New Features
8.1부터 9.2까지의 신기능 소개
이기훈 부장 | Lee, Kee Hoon (KeeHoon.Lee@microfocus.com)
Presales Consultant, Asia Pacific and Japan – Vertica, Micro Focus
22nd Aug, 2019
목차
2
▪ Vertica 버전 출시 주기
▪ Vertica 신기능
- 8.1, 9.0, 9.1, 9.2 버전별 신기능
- 버전별 주요 기능 요약
Vertica 버전 출시 주기
Vertica 버전 명시 방법
4
▪ Vertica는 다음과 같이 버전을 표기
- Major Version
- Minor Version
- Service Pack
- Hot Fix
▪ 예를 들어, Vertica 9.2.1-3 으로 표기
▪ 메뉴얼 및 문서들은 최소 Minor Version 단위로 묶어서 제공
- 가령, New Features in 9.2.X 등으로 표시
Vertica 제품 릴리즈 주기
5
▪ 약 10개월 주기로 새로운 Minor Version 릴리즈
- Minor Version 의 신기능에 따라 Major Version 변경 여부를 결정
- Minor Version 과 Major Version 의 제품의 신기능의 수, 개선의 양에서는 큰 차이가 없음
- 단, 새로운 컨셉의 내용들이 주로 추가된 경우에 Major 버전이 업데이트 되는 방향
- 가령, 7버전의 경우 HDFS 연결, 8버전의 경우 In-DB 머신러닝, 9버전의 경우 클라우드 지원
▪ 즉, 현재 9.2 버전에서 다음 업데이트는 9.3 이나 10.0 모두 가능하지만, 본질적으로 제품이
개선되는 정도에서는 큰 변화가 없음
2013 2014 2015 2016
Oct 2015 – May 2016
“Excavator” 7.2.x
Flextable AVRO parser
support
Kafka Integration
Native Python Client
Directed queries
In-database Machine Learning
Data preparation
S3 Import / Export
Hadoop Parquet File reader
Lightweight partition copy
Object level restore
Replication
Jan 2012 – July
2012
Version 5.1.x
Elastic Cluster
Networked Joins
Role-based security
Workload Analyzer
Advanced Analytics
Udx SDK
Management
Console
July 2014 – June 2015
“Dragline” 7.1.x
Live Aggregate
Projections
Load compressed files
Swap partitions
Active Standby Nodes
Cascading Resource
Pools
OLAP SQL ROLLUP
functions
CTE early materialization
Node pruning for simple
SELECTs
Vertica storage on HDFS
Advanced Text Search
Vertica Place –
geospatial support
Vertica Pulse –
sentiment analysis
Hadoop ORC File reader
Dec 2013 – Aug 2014
“Crane” 7.0.x
Flextables
- “Schema on read”
Key/Value API
Hcatalog Connector
Udx – Java support
June 2012
Version 6.0.x
Udx – R support
User defined loads
External tables
Schema Evolution
Merge / Upsert
Load ON ANY NODE
Nov 2012 – Oct
2013
“Bulldozer” (6.1)
Hadoop connector
AWS AMI
Expanded CE
functionality
SQL CTE
LDAP enhancements
Aug 2016 – Dec 2016
“Frontloader” 8.0.x
Lightweight table copy
Udx – Python support
“hdfs” scheme support
Azure VM
Kafka bidirectional
support
Spark Integration
bidirectional
New Machine Learning
tools (Naïve Bayes,
Robust z-score)
FIPS compliance
2012
Apr 2017 – July
2017
Version 8.1.x
Auto-flattened tables
New M/L tools (SVM,
Random Forest)
Missing value
imputation
Spark 2.0, 2.1
integration
Hadoop Parquet File
writer
S3 backup and
restore
Improved Kafka load
management
Geohash support
Oct 2017 – Dec 2017
“Grader” 9.0.x
GCP marketplace
UUID support
Hierarchical partition
management
Hadoop sentry
integration
Hadoop Realms
support
M/L one-hot encoding
M/L cross-validation of
models
Import, export,
upgrade of M/L models
Backup, restore and
replicate to a later
version
Support for HDP 2.6
2017 2019
Jan 2018
Version 9.1.x
EON Mode
Voltage encryption
integration
New M/L tools (SVD,
PCA, ROC, PRC)
Granular AWS security
Python UDX supports
UDTF
2018
May 2019
Version 9.2.x
Vertica의 여정
Vertica 8.1 이전 주요 변화
2013 2014 2015 2016
Oct 2015 – May 2016
“Excavator” 7.2.x
Flextable AVRO parser
support
Kafka Integration
Native Python Client
Directed queries
In-database Machine
Learning
Data preparation
S3 Import / Export
Hadoop Parquet File reader
Lightweight partition copy
Object level restore
Replication
Jan 2012 – July
2012
Version 5.1.x
Elastic Cluster
Networked Joins
Role-based security
Workload Analyzer
Advanced Analytics
Udx SDK
Management
Console
July 2014 – June 2015
“Dragline” 7.1.x
Live Aggregate
Projections
Load compressed files
Swap partitions
Active Standby Nodes
Cascading Resource
Pools
OLAP SQL ROLLUP
functions
CTE early materialization
Node pruning for simple
SELECTs
Vertica storage on HDFS
Advanced Text Search
Vertica Place –
geospatial support
Vertica Pulse –
sentiment analysis
Hadoop ORC File reader
Dec 2013 – Aug 2014
“Crane” 7.0.x
Flextables
- “Schema on read”
Key/Value API
Hcatalog Connector
Udx – Java support
June 2012
Version 6.0.x
Udx – R support
User defined loads
External tables
Schema Evolution
Merge / Upsert
Load ON ANY NODE
Nov 2012 – Oct
2013
“Bulldozer” (6.1)
Hadoop connector
AWS AMI
Expanded CE
functionality
SQL CTE
LDAP enhancements
Aug 2016 – Dec 2016
“Frontloader” 8.0.x
Lightweight table copy
Udx – Python support
“hdfs” scheme support
Azure VM
Kafka bidirectional
support
Spark Integration
bidirectional
New Machine Learning
tools (Naïve Bayes,
Robust z-score)
FIPS compliance
2012 2017 20192018
Vertica의 여정
• Vertica의 주요 강점인 기능들은
이미 8.0.X 버전까지 신기능으로
추가되어 옴
• Hadoop 연계
• 클라우드 지원 (AWS, Azure)
• Native Kafka Connector
• Native Spark Connector
• In-DB Machine Learning 지원
• 8.1 이후 주요 변화들은 다음으로
압축
• 엔진의 성능 개선
• 신기능의 고도화
• 클라우드 기술 내재화 (Eon)
Vertica 8.1 주요 신기능
신기능 - Flatten Table
10
▪ 기능 소개: 데이터가 늘면서 역정규화를 권고하긴 하지만, 직접적인 수정이 여의치 않은 경우에
활용할 수 있는 테이블을 생성하는 기술로, 역정규화에 대한 수월한 자동화 수행
▪ 장점: 변경이 잦지 않은 디멘젼에 대한 관리 및 Prejoin 대비 빠른 성능
▪ 사용 예시:
CREATE TABLE orderFact (
order_id int PRIMARY KEY,
cust_id int REFERENCES
custDim(cid),
cust_name varchar(20) SET USING (
SELECT name FROM custDim
WHERE custDim.cid = cust_id
), amount numeric; );
성능 개선 – 다수의 파일에 대한 동시 적재 성능
8.0 버전 대비 다중 파일 적재에 대한 속도 개선
[8.1에서의 적재 속도 개선 사항]
성능 개선 – 쿼리 동시성 지원도 향상
12
메모리 사용성 개선을 통한 쿼리 동시성 지원도 상승
Before
After
[8.1에서의 기존 버전 대비 쿼리 동시성 지원도] [8.1에서의 세션 레벨의 메모리 사용성]
성능 개선 – 다중 분석 함수 쿼리 성능 개선
13
여러 분석함수를 한 번에 수행하는 형태로 알고리즘 개선
개선된 수행 시간 및 효율적인 메모리 활용 (1번의 버퍼 생성으로 처리)
SELECT
percentile_disc(0.5) WITHIN GROUP (ORDER BY quantity) OVER (PARTITION BY year, month, day),
percentile_disc(0.5) WITHIN GROUP (ORDER BY quantity) OVER (PARTITION BY year, month),
percentile_disc(0.5) WITHIN GROUP (ORDER BY quantity) OVER (PARTITION BY year)
FROM sales;
SELECT
percentile_disc(0.5) WITHIN GROUP (ORDER BY quantity) OVER (PARTITION BY year, month),
percentile_disc(0.5) WITHIN GROUP (ORDER BY price) OVER (PARTITION BY year, month),
percentile_disc(0.5) WITHIN GROUP (ORDER BY inventory) OVER (PARTITION BY year, month)
FROM sales;
지원되는 함수:
• 리포팅 관련 집계 함수
• AVG, COUNT, SUM, MIN, MAX
• STDDEV, STDDEV_POP, STDDEV_SAMP
• VARIANCE, VAR_POP, VAR_SAMP
• PERCENTILE_CONT, PERCENTILE_DISC
하둡 연계 – 하둡 클러스터와의 더 긴밀한 연계
▪ 하둡 클러스터 상태 확인 기능 강화
- Vertica 클러스터에서 하둡의 구조를 이해
- 하둡 클러스터 다운시 쿼리 자동 취소 기능
- 하둡 Namenode HA 기능과 연계
▪ 케르베로스 연결성 강화 (SELECT KERBEROS_HDFS_CONFIG_CHECK(); 제공)
▪ 클라우데라 매니저와 연계
하둡 연계 – Parquet Export
15
오픈 파일 포맷 지원 확대
▪ 하둡과의 긴밀한 연계를 위한 하둡 오픈 파일 포맷인 Parquet Write 지원
▪ 효율적인 ILM 정책 수립 효과 및 데이터 사이언스 기술과의 유기적 연계
▪ 사용방법
- 관련 파라미터:
• Column compression – Snappy (default), Gzip, Uncompressed
• Destination directory – 유효한 HDFS 경로
• Row group size – 64 MB (default) >0 <=512 MB
EXPORT TO PARQUET(directory='', <optional parameters>) <optional OVER()> AS <select query>;
Kafka 연계 개선 사항
16
카프카 기능의 고도화
▪ 카프카 병렬 적재 처리 기능 개선
▪ SSL 지원
▪ Schemaless 지원
▪ 상태 표시 기능으로 사용성 증대
COPY table_name source kafkasource(
stream='example|0|0',
stop_on_eof=true,
duration=interval '10 seconds')
parser
KafkaAvroParser( schema_registry_url='http://sch
ema-registry-url' );
Spark 연계 개선 사항
17
▪ Spark 2.0 ~ 2.1 연계 지원
▪ 기능 특장점
- 버티카의 기능을 활용한 적재, 변환 등의 기술 사용
- 버티카의 SQL 고급 엔진 활용 가능
- Spark 환경의 분석 수행을 위해서는 Spark 기술로
버티카에 존재하는 데이터에 작업을 수행하는 것이 가능
- Spark 도구 및 버티카를 통한 대시보드 등에 연계 가능
Executor
Executor
Task
Task
Task
Task
Task
Task
RDD
Dataframe
Vertica Table Data Segment
Node 1
Vertica Table Data Segment
Node 2
Vertica Table Data Segment
Node 3
WORKER NODE
WORKER NODE
Partition
Partition
Partition
Partition
Partition
Partition
Vertica
머신 러닝 알고리즘의 확대
18
▪ 분석 알고리즘의 추가
- SVM
- Random Forest
▪ 데이터 정재 알고리즘의 추가
- APPROXIMATE_PERCENTILE()
- IMPUTE()
- NORMALIZE_FIT(), APPLY_NORMALIZE(), REVERSE_NORMALIZE()
▪ 함수 최적화 수행
- 오버피팅에 대한 알고리즘 개선
Vertica 9.0 주요 신기능
클라우드 지원: Amazon S3 확대
Vertica Cluster
Backup/Restore
Amazon S3
Vertica Cluster
QUERY (join)
ORC / Parquet DataAmazon S3
기능
• S3로의 백업 수행
• 버티카에서 백업 수행 가능
특장점
• 클라우드에서의 기능 최대 활용
ORC / Parquet Data
기능
• S3 의 ORC/Parquet External Table 선언
• 머신러닝, JOIN 등 사용 가능
특장점
• S3를 데이터 레이크 저장소로 활용 가능
CREATE EXTERNAL TABLE t1
( a int,b int,c varchar, d varchar)
AS COPY FROM 's3://AWS_VER/partition1/e=1/*'
PARQUET;
Universally Unique Identifier (UUID) 타입
통신 데이터 타입 지원
• 기존 문제점: UUID 데이터에 대해 효율적인 저장 및 빠른 프로세싱을 위해
Native Data Type의 필요
• 기능: Python, ODBC, JDBC, ADO.NET, vsql 등 모든 클라이언트가 새로운
버티카 데이터 타입을 지원
• 장점: 저장 공간 효율성 및 프로세싱 성능
• 예시:
CREATE TABLE document (id UUID, title VARCHAR(100));
INSERT INTO document VALUES (‘6bbf0744-74b4-46b9-bb05-53905d4538e7’,
‘Vertica in the Valley’);
INSERT INTO document SELECT uuid_generate(), ‘Vertica in Europe’;
COPY document FROM STDIN;
88888888-4444-4444-4444-121212121212 |Vertica Boston
.
SELECT * FROM document;
id | title
-------------------------------------|--------------------------------------
-------------
6bbf0744-74b4-46b9-bb05-53905d4538e7 | Vertica in the Valley
56g3f62d-bde4-75ef-a6f2-61e5dab39149 | Vertica in Europe
88888888-4444-4444-4444-121212121212 | Vertica Boston
• 클라우드 이코노믹스 구현 아키텍처
• Compute와 Storage 분리
• 영구 데이터는 S3에, 데이터 디스크 캐싱을 EC2-
EBS에 적재
• 다중 서브 클러스터 구성 가능
Eon mode (separation of compute and storage) Beta
Node
Optimizer
Execution Engine
Depot
Node
Optimizer
Execution Engine
Depot
Node
Optimizer
Execution Engine
Depot
ROS on shared storage – in
dedicated AWS S3 bucket
Eon 모드 베타 시작
머신 러닝 기능의 추가
23
대량의 머신러닝 기능 추가
▪ 데이터 적재 기능 추가
- One-hot 인코딩
- 데이터 탐색 알고리즘 추가 (SUMMARIZE_NUMCOL, SUMMARIZE_CATCOL )
▪ 머신 러닝 알고리즘 개선
- L1 regularization 추가 (선형회귀 분석)
- Random Forest 기능 개선
- Enet 정규화 기능 추가 (선형회귀 분석, RF 분석)
▪ 모델 관리 기능
- 다른 데이터셋에 모델 적용 기능
ID Gender
1 Female
2 Male
3 Not specified
4 Female
5 Not specified
ID Female Male Not specified
1 1 0 0
2 0 1 0
3 0 0 1
4 1 0 0
5 0 0 1
One-hot
encoding
그 외 기능 개선
24
▪ LAP(Live Aggregation Projection) 기능 개선
▪ 백업 및 복구 기능 개선 (백업 기반 업그레이드 기능 추가)
Vertica 9.1 주요 신기능
Buddy-down 성능 개선
Buddy 프로젝션 성능 문제 개선
기존 문제점
- Late materialisation 지원 불가
9.1.1 개선 사항
▪ 동등 Buddy Projection에 대해 해당 기능 지원
- Non-identical buddy projections 은 제거됨 (9.1)
- Late materialisation 지원
SELECT DELETE COPY
테이블 ActivePartition 을 활용한 Mergeout
ActivePartitionCount 기능
▪ Active Partition (활성화 된 파티션의 상태) 상태의 수
▪ Mergeout 시 활용 방안 - Active partitions: mergeout strata 알고리즘 적용
table-level 값으로 조정하여 database-level 파라미터 값을 오버라이딩 가능
▪ CREATE TABLE … ActivePartitionCount n;
▪ ALTER TABLE … set ActivePartitionCount n | DEFAULT;
카탈로그에서 조회
▪ SELECT table_schema, table_name, active_partition_count FROM
tables;
table_schema | table_name | active_partition_count
-------------+------------+---------------------------
public | table1 | 7
public | table2 |
public | table3 | 3
옵티마이저 개선: Resegment Merge
select
count(distinct a)
from t;Scan Scan Scan
Merge
PipelineGBY(a)
PipelineGBY(null)
…
Scan Scan Scan
Resegment Merge
PipelineGBY(a)
PipelineGBY(null)
PipelineGBY(a)
PipelineGBY(null)
PipelineGBY(a)
PipelineGBY(null)
…
UNION
Pre 9.1 9.1
▪ Reseg Merge에 대한 병렬 처리 형태로 알고리즘 개선
1 2
# of Group By Keys
3
12
10
8
6
4
2
0
Single DA(Integer, low # of distinct values)
ExecutionTime(Seconds)
1 2
# of Group By Keys
3
16
14
12
10
8
6
4
2
0
Single DA(Varchar(8), low # of distinct values)
ExecutionTime(Seconds)
1 2
# of Group By Keys
3
4
2
0
12
10
8
6
Single DA(Integer, high # of distinct values)
ExecutionTime(Seconds)
1 2
# of Group By Keys
3
16
14
12
10
8
6
4
2
0
Single DA(Varchar(8), high # of distinct values)
ExecutionTime(Seconds)
Resegment Merge 성능 결과
Pre 9.1
9.1
Pre 9.1
9.1
Pre 9.1
9.1
Pre 9.1
9.1
select g,
count(distinct a), count(distinct b)
,count(distinct c), count(distinct d)
,count(distinct e), count(distinct f)
from T
group by g;
select g,
count(distinct a)
,count(distinct b)
,count(distinct c)
from T
group by g;
Integer Varchar(8)
Column Data Type
Varchar(24)
20
18
16
14
12
10
8
6
4
2
0
MDA(3 DAs)
Pre 9.1
9.1
ExecutionTime(Seconds)
Integer Varchar(8)
Column Data Type
Varchar(24)
5
0
35
30
25
20
15
10
40
MDA(6 DAs)
ExecutionTime(Seconds)
Resegment Merge 성능 결과
Pre 9.1
9.1
Machine Learning 함수 지원 플랫폼의 완성
31
Business
Understanding
Data Analysis
&
Understanding
Data
Preparation Modelling Evaluation Deployment
Machine
Learning
Speed
ANSI SQL
Scalability
Massively
Parallel
Processing
Deploy
Anywhere
Outlier
Detection
Normalisation
Imbalanced
Data
Processing
Sampling
Missing Value
Imputation
And More…
SVM
Random
Forests
Logistic
Regression
Linear
Regression
Ridge
Regression
Naive Bayes
Cross
Validation
And More…
Model-level
Stats
ROC Tables
Error Rate
Lift Table
Confusion
Matrix
R-Squared
MSE
In-Database
Scoring
Speed
Scale
Security
Pattern
Matching
Date/
Time Algebra
Window/
Partition
Date Type
Handling
Sequences
And More…
Sessionise
Time Series
Statistical
Summary
SQL SQLSQL SQLSQL
UNIFIED PLATFORM
V9.1
Enhancements
V9.1.x
Enhancements
Eon 모드의 정식 GA
Amazon
Microsoft Azure
Google Cloud
Amazon
S3
First Generation
Using the cloud as a data center (IaaS)
Second Generation
Separation of compute and storage
Use Case
• Savings on data center costs
• Faster deployment
COST SAVINGS
• Hardware depreciation (lease)
• Hardware maintenance
• Software purchase or depreciation
• Software maintenance
• Power consumption
• Data center floor space
• Provisioning time
• Backup infrastructure
• Backup media
• Cost of procurement
Use Case
• Exploit cloud economics
• Variable workloads
COST SAVINGS
• Costs of provisioning for peak workloads
• Then paying for idle capacity during slack workloads
• Cost of paying for compute when not in use
• Rather than Hibernate
• Moving data to handle new workloads
• Rather than spin up a new sub-cluster
Vertica 9.2 주요 신기능
Vertica 9.2.x 신기능
상세 내용은 9.2.x에서 확인 가능
▪ 버티카 Eon 모드 성능 개선
▪ 관리 콘솔 기능 확대
▪ 하둡 연계 기능 확대
- 오픈 파일 및 Complex Type 지원 추가
▪ Python UDL 기능 확대
▪ Mergeout 기능 개선
▪ Load Balancing 기능 확대
▪ Catalog Size 사이즈 최적화
▪ 머신 러닝 함수 추가
https://www.vertica.com/docs/ReleaseNotes/9.2.x/Vertica_9.2.x_Release_Notes.htm
SDK, Add 모듈
(ver 8.x 이후)
• Python SDK
• Vertica ML
Python
vertica-python
Python 기반 분석가들을 위한 오픈소스
▪ 버티카가 공식적으로 지원하는 첫번째 데이터베이스 클라이언트
▪ Uber가 개발함
▪ 버티카가 파이썬 클라이언트의 변경에 대한 적극적 대응
▪ Python Client for Vertica 다운로드
- https://github.com/vertica/vertica-python/
UDL Functions Python
필터링 수행 예시
▪ CREATE LIBRARY pythonfilterlib AS
‘/path/to/conversion_filter.py’ LANGUAGE ‘Python’;
▪ CREATE FILTER ConversionFilter AS NAME ‘ConversionFilterFactory’
LIBRARY pythonfilterlib;
▪ COPY foo FROM ‘/data/foo.csv.gz’ FILTER
ConversionFilter(src_encoding = ‘gzip’, dst_encoding = ‘utf-8’);
Vertica ML Python
38
• Python library that exposes sci-kit like
functionality
• Data stored in Vertica, thus taking
advantage Vertica’s and push all heavy
computation to VERTICA
• Can be used for data preparation, data
exploration i ML
• uses a ‘pipeline’ mechanism to
sequentialize data transformation…
https://github.com/vertica/Vertica-ML-Python
Vertica ML Python
39
https://github.com/vertica/Vertica-ML-Python
Vertica New Features - 8.1에서 9.2까지

More Related Content

What's hot

Apache hbase overview (20160427)
Apache hbase overview (20160427)Apache hbase overview (20160427)
Apache hbase overview (20160427)Steve Min
 
Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012Daum DNA
 
[SSA] 01.bigdata database technology (2014.02.05)
[SSA] 01.bigdata database technology (2014.02.05)[SSA] 01.bigdata database technology (2014.02.05)
[SSA] 01.bigdata database technology (2014.02.05)Steve Min
 
Scalable system design patterns
Scalable system design patternsScalable system design patterns
Scalable system design patternsSteve Min
 
2012 07 28_cloud_reference_architecture_openplatform
2012 07 28_cloud_reference_architecture_openplatform2012 07 28_cloud_reference_architecture_openplatform
2012 07 28_cloud_reference_architecture_openplatformYousun Jeong
 
빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)Channy Yun
 
GigaSpaces소개자료
GigaSpaces소개자료GigaSpaces소개자료
GigaSpaces소개자료jungyee kang
 
Expanding Your Data Warehouse with Tajo
Expanding Your Data Warehouse with TajoExpanding Your Data Warehouse with Tajo
Expanding Your Data Warehouse with TajoMatthew (정재화)
 
Big data analysis with R and Apache Tajo (in Korean)
Big data analysis with R and Apache Tajo (in Korean)Big data analysis with R and Apache Tajo (in Korean)
Big data analysis with R and Apache Tajo (in Korean)Gruter
 
Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)Channy Yun
 
빅데이터 인공지능 전략 및 로드맵
빅데이터 인공지능 전략 및 로드맵빅데이터 인공지능 전략 및 로드맵
빅데이터 인공지능 전략 및 로드맵r-kor
 
[경북] I'mcloud opensight
[경북] I'mcloud opensight[경북] I'mcloud opensight
[경북] I'mcloud opensightstartupkorea
 
Gruter TECHDAY 2014 MelOn BigData
Gruter TECHDAY 2014 MelOn BigDataGruter TECHDAY 2014 MelOn BigData
Gruter TECHDAY 2014 MelOn BigDataGruter
 
Gpdb best practices v a01 20150313
Gpdb best practices v a01 20150313Gpdb best practices v a01 20150313
Gpdb best practices v a01 20150313Sanghee Lee
 
빅데이터 구축 사례
빅데이터 구축 사례빅데이터 구축 사례
빅데이터 구축 사례Taehyeon Oh
 
Io t에서 big data를 통합하는 통합 빅데이터 플랫폼 flamingo_클라우다인_김병곤 대표이사
Io t에서 big data를 통합하는 통합 빅데이터 플랫폼 flamingo_클라우다인_김병곤 대표이사Io t에서 big data를 통합하는 통합 빅데이터 플랫폼 flamingo_클라우다인_김병곤 대표이사
Io t에서 big data를 통합하는 통합 빅데이터 플랫폼 flamingo_클라우다인_김병곤 대표이사uEngine Solutions
 
[Open Technet Summit 2014] 쓰기 쉬운 Hadoop 기반 빅데이터 플랫폼 아키텍처 및 활용 방안
[Open Technet Summit 2014] 쓰기 쉬운 Hadoop 기반 빅데이터 플랫폼 아키텍처 및 활용 방안[Open Technet Summit 2014] 쓰기 쉬운 Hadoop 기반 빅데이터 플랫폼 아키텍처 및 활용 방안
[Open Technet Summit 2014] 쓰기 쉬운 Hadoop 기반 빅데이터 플랫폼 아키텍처 및 활용 방안치완 박
 
Memcached의 확장성 개선
Memcached의 확장성 개선Memcached의 확장성 개선
Memcached의 확장성 개선NAVER D2
 

What's hot (20)

Apache hbase overview (20160427)
Apache hbase overview (20160427)Apache hbase overview (20160427)
Apache hbase overview (20160427)
 
Intro to r & hadoop
Intro to r & hadoopIntro to r & hadoop
Intro to r & hadoop
 
Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012
 
[SSA] 01.bigdata database technology (2014.02.05)
[SSA] 01.bigdata database technology (2014.02.05)[SSA] 01.bigdata database technology (2014.02.05)
[SSA] 01.bigdata database technology (2014.02.05)
 
Scalable system design patterns
Scalable system design patternsScalable system design patterns
Scalable system design patterns
 
2012 07 28_cloud_reference_architecture_openplatform
2012 07 28_cloud_reference_architecture_openplatform2012 07 28_cloud_reference_architecture_openplatform
2012 07 28_cloud_reference_architecture_openplatform
 
빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)
 
GigaSpaces소개자료
GigaSpaces소개자료GigaSpaces소개자료
GigaSpaces소개자료
 
Expanding Your Data Warehouse with Tajo
Expanding Your Data Warehouse with TajoExpanding Your Data Warehouse with Tajo
Expanding Your Data Warehouse with Tajo
 
Big data analysis with R and Apache Tajo (in Korean)
Big data analysis with R and Apache Tajo (in Korean)Big data analysis with R and Apache Tajo (in Korean)
Big data analysis with R and Apache Tajo (in Korean)
 
Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)
 
빅데이터 인공지능 전략 및 로드맵
빅데이터 인공지능 전략 및 로드맵빅데이터 인공지능 전략 및 로드맵
빅데이터 인공지능 전략 및 로드맵
 
[경북] I'mcloud opensight
[경북] I'mcloud opensight[경북] I'mcloud opensight
[경북] I'mcloud opensight
 
Gruter TECHDAY 2014 MelOn BigData
Gruter TECHDAY 2014 MelOn BigDataGruter TECHDAY 2014 MelOn BigData
Gruter TECHDAY 2014 MelOn BigData
 
Gpdb best practices v a01 20150313
Gpdb best practices v a01 20150313Gpdb best practices v a01 20150313
Gpdb best practices v a01 20150313
 
빅데이터 구축 사례
빅데이터 구축 사례빅데이터 구축 사례
빅데이터 구축 사례
 
Io t에서 big data를 통합하는 통합 빅데이터 플랫폼 flamingo_클라우다인_김병곤 대표이사
Io t에서 big data를 통합하는 통합 빅데이터 플랫폼 flamingo_클라우다인_김병곤 대표이사Io t에서 big data를 통합하는 통합 빅데이터 플랫폼 flamingo_클라우다인_김병곤 대표이사
Io t에서 big data를 통합하는 통합 빅데이터 플랫폼 flamingo_클라우다인_김병곤 대표이사
 
[Open Technet Summit 2014] 쓰기 쉬운 Hadoop 기반 빅데이터 플랫폼 아키텍처 및 활용 방안
[Open Technet Summit 2014] 쓰기 쉬운 Hadoop 기반 빅데이터 플랫폼 아키텍처 및 활용 방안[Open Technet Summit 2014] 쓰기 쉬운 Hadoop 기반 빅데이터 플랫폼 아키텍처 및 활용 방안
[Open Technet Summit 2014] 쓰기 쉬운 Hadoop 기반 빅데이터 플랫폼 아키텍처 및 활용 방안
 
Memcached의 확장성 개선
Memcached의 확장성 개선Memcached의 확장성 개선
Memcached의 확장성 개선
 
Apache Kylin
Apache KylinApache Kylin
Apache Kylin
 

Similar to Vertica New Features - 8.1에서 9.2까지

Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB rockplace
 
Azure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDBAzure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDBrockplace
 
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례SONG INSEOB
 
MariaDB 제품 소개
MariaDB 제품 소개MariaDB 제품 소개
MariaDB 제품 소개NeoClova
 
Pivotal 101세미나 발표자료 (PAS,PKS)
Pivotal 101세미나 발표자료 (PAS,PKS) Pivotal 101세미나 발표자료 (PAS,PKS)
Pivotal 101세미나 발표자료 (PAS,PKS) VMware Tanzu Korea
 
Introduction to Apache Tajo
Introduction to Apache TajoIntroduction to Apache Tajo
Introduction to Apache TajoGruter
 
Percona server for MySQL 제품 소개
Percona server for MySQL 제품 소개Percona server for MySQL 제품 소개
Percona server for MySQL 제품 소개NeoClova
 
[Pgday.Seoul 2018] replacing oracle with edb postgres
[Pgday.Seoul 2018] replacing oracle with edb postgres[Pgday.Seoul 2018] replacing oracle with edb postgres
[Pgday.Seoul 2018] replacing oracle with edb postgresPgDay.Seoul
 
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena DollyJi-Woong Choi
 
[TD 2015] Microsoft Azure IaaS v2(최정현)
[TD 2015] Microsoft Azure IaaS v2(최정현)[TD 2015] Microsoft Azure IaaS v2(최정현)
[TD 2015] Microsoft Azure IaaS v2(최정현)Sang Don Kim
 
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdfOpen Source Consulting
 
Lablupconf session8 "Paving the road to AI-powered world"
Lablupconf session8 "Paving the road to AI-powered world"Lablupconf session8 "Paving the road to AI-powered world"
Lablupconf session8 "Paving the road to AI-powered world"Lablup Inc.
 
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10![웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!Open Source Consulting
 
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...Amazon Web Services Korea
 
Glusterfs 소개 v1.0_난공불락세미나
Glusterfs 소개 v1.0_난공불락세미나Glusterfs 소개 v1.0_난공불락세미나
Glusterfs 소개 v1.0_난공불락세미나sprdd
 
델파이 소스코드의재발견
델파이 소스코드의재발견델파이 소스코드의재발견
델파이 소스코드의재발견Devgear
 
NetApp AI Control Plane
NetApp AI Control PlaneNetApp AI Control Plane
NetApp AI Control PlaneSeungYong Baek
 
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...문기 박
 
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점rockplace
 

Similar to Vertica New Features - 8.1에서 9.2까지 (20)

Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB
 
Azure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDBAzure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDB
 
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
 
MariaDB 제품 소개
MariaDB 제품 소개MariaDB 제품 소개
MariaDB 제품 소개
 
Pivotal 101세미나 발표자료 (PAS,PKS)
Pivotal 101세미나 발표자료 (PAS,PKS) Pivotal 101세미나 발표자료 (PAS,PKS)
Pivotal 101세미나 발표자료 (PAS,PKS)
 
Introduction to Apache Tajo
Introduction to Apache TajoIntroduction to Apache Tajo
Introduction to Apache Tajo
 
Percona server for MySQL 제품 소개
Percona server for MySQL 제품 소개Percona server for MySQL 제품 소개
Percona server for MySQL 제품 소개
 
[Pgday.Seoul 2018] replacing oracle with edb postgres
[Pgday.Seoul 2018] replacing oracle with edb postgres[Pgday.Seoul 2018] replacing oracle with edb postgres
[Pgday.Seoul 2018] replacing oracle with edb postgres
 
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
 
[TD 2015] Microsoft Azure IaaS v2(최정현)
[TD 2015] Microsoft Azure IaaS v2(최정현)[TD 2015] Microsoft Azure IaaS v2(최정현)
[TD 2015] Microsoft Azure IaaS v2(최정현)
 
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
 
Lablupconf session8 "Paving the road to AI-powered world"
Lablupconf session8 "Paving the road to AI-powered world"Lablupconf session8 "Paving the road to AI-powered world"
Lablupconf session8 "Paving the road to AI-powered world"
 
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10![웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
 
DB innovation conference 2020
DB innovation conference 2020DB innovation conference 2020
DB innovation conference 2020
 
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
 
Glusterfs 소개 v1.0_난공불락세미나
Glusterfs 소개 v1.0_난공불락세미나Glusterfs 소개 v1.0_난공불락세미나
Glusterfs 소개 v1.0_난공불락세미나
 
델파이 소스코드의재발견
델파이 소스코드의재발견델파이 소스코드의재발견
델파이 소스코드의재발견
 
NetApp AI Control Plane
NetApp AI Control PlaneNetApp AI Control Plane
NetApp AI Control Plane
 
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
 
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점
 

Vertica New Features - 8.1에서 9.2까지

  • 1. Vertica New Features 8.1부터 9.2까지의 신기능 소개 이기훈 부장 | Lee, Kee Hoon (KeeHoon.Lee@microfocus.com) Presales Consultant, Asia Pacific and Japan – Vertica, Micro Focus 22nd Aug, 2019
  • 2. 목차 2 ▪ Vertica 버전 출시 주기 ▪ Vertica 신기능 - 8.1, 9.0, 9.1, 9.2 버전별 신기능 - 버전별 주요 기능 요약
  • 4. Vertica 버전 명시 방법 4 ▪ Vertica는 다음과 같이 버전을 표기 - Major Version - Minor Version - Service Pack - Hot Fix ▪ 예를 들어, Vertica 9.2.1-3 으로 표기 ▪ 메뉴얼 및 문서들은 최소 Minor Version 단위로 묶어서 제공 - 가령, New Features in 9.2.X 등으로 표시
  • 5. Vertica 제품 릴리즈 주기 5 ▪ 약 10개월 주기로 새로운 Minor Version 릴리즈 - Minor Version 의 신기능에 따라 Major Version 변경 여부를 결정 - Minor Version 과 Major Version 의 제품의 신기능의 수, 개선의 양에서는 큰 차이가 없음 - 단, 새로운 컨셉의 내용들이 주로 추가된 경우에 Major 버전이 업데이트 되는 방향 - 가령, 7버전의 경우 HDFS 연결, 8버전의 경우 In-DB 머신러닝, 9버전의 경우 클라우드 지원 ▪ 즉, 현재 9.2 버전에서 다음 업데이트는 9.3 이나 10.0 모두 가능하지만, 본질적으로 제품이 개선되는 정도에서는 큰 변화가 없음
  • 6. 2013 2014 2015 2016 Oct 2015 – May 2016 “Excavator” 7.2.x Flextable AVRO parser support Kafka Integration Native Python Client Directed queries In-database Machine Learning Data preparation S3 Import / Export Hadoop Parquet File reader Lightweight partition copy Object level restore Replication Jan 2012 – July 2012 Version 5.1.x Elastic Cluster Networked Joins Role-based security Workload Analyzer Advanced Analytics Udx SDK Management Console July 2014 – June 2015 “Dragline” 7.1.x Live Aggregate Projections Load compressed files Swap partitions Active Standby Nodes Cascading Resource Pools OLAP SQL ROLLUP functions CTE early materialization Node pruning for simple SELECTs Vertica storage on HDFS Advanced Text Search Vertica Place – geospatial support Vertica Pulse – sentiment analysis Hadoop ORC File reader Dec 2013 – Aug 2014 “Crane” 7.0.x Flextables - “Schema on read” Key/Value API Hcatalog Connector Udx – Java support June 2012 Version 6.0.x Udx – R support User defined loads External tables Schema Evolution Merge / Upsert Load ON ANY NODE Nov 2012 – Oct 2013 “Bulldozer” (6.1) Hadoop connector AWS AMI Expanded CE functionality SQL CTE LDAP enhancements Aug 2016 – Dec 2016 “Frontloader” 8.0.x Lightweight table copy Udx – Python support “hdfs” scheme support Azure VM Kafka bidirectional support Spark Integration bidirectional New Machine Learning tools (Naïve Bayes, Robust z-score) FIPS compliance 2012 Apr 2017 – July 2017 Version 8.1.x Auto-flattened tables New M/L tools (SVM, Random Forest) Missing value imputation Spark 2.0, 2.1 integration Hadoop Parquet File writer S3 backup and restore Improved Kafka load management Geohash support Oct 2017 – Dec 2017 “Grader” 9.0.x GCP marketplace UUID support Hierarchical partition management Hadoop sentry integration Hadoop Realms support M/L one-hot encoding M/L cross-validation of models Import, export, upgrade of M/L models Backup, restore and replicate to a later version Support for HDP 2.6 2017 2019 Jan 2018 Version 9.1.x EON Mode Voltage encryption integration New M/L tools (SVD, PCA, ROC, PRC) Granular AWS security Python UDX supports UDTF 2018 May 2019 Version 9.2.x Vertica의 여정
  • 7. Vertica 8.1 이전 주요 변화
  • 8. 2013 2014 2015 2016 Oct 2015 – May 2016 “Excavator” 7.2.x Flextable AVRO parser support Kafka Integration Native Python Client Directed queries In-database Machine Learning Data preparation S3 Import / Export Hadoop Parquet File reader Lightweight partition copy Object level restore Replication Jan 2012 – July 2012 Version 5.1.x Elastic Cluster Networked Joins Role-based security Workload Analyzer Advanced Analytics Udx SDK Management Console July 2014 – June 2015 “Dragline” 7.1.x Live Aggregate Projections Load compressed files Swap partitions Active Standby Nodes Cascading Resource Pools OLAP SQL ROLLUP functions CTE early materialization Node pruning for simple SELECTs Vertica storage on HDFS Advanced Text Search Vertica Place – geospatial support Vertica Pulse – sentiment analysis Hadoop ORC File reader Dec 2013 – Aug 2014 “Crane” 7.0.x Flextables - “Schema on read” Key/Value API Hcatalog Connector Udx – Java support June 2012 Version 6.0.x Udx – R support User defined loads External tables Schema Evolution Merge / Upsert Load ON ANY NODE Nov 2012 – Oct 2013 “Bulldozer” (6.1) Hadoop connector AWS AMI Expanded CE functionality SQL CTE LDAP enhancements Aug 2016 – Dec 2016 “Frontloader” 8.0.x Lightweight table copy Udx – Python support “hdfs” scheme support Azure VM Kafka bidirectional support Spark Integration bidirectional New Machine Learning tools (Naïve Bayes, Robust z-score) FIPS compliance 2012 2017 20192018 Vertica의 여정 • Vertica의 주요 강점인 기능들은 이미 8.0.X 버전까지 신기능으로 추가되어 옴 • Hadoop 연계 • 클라우드 지원 (AWS, Azure) • Native Kafka Connector • Native Spark Connector • In-DB Machine Learning 지원 • 8.1 이후 주요 변화들은 다음으로 압축 • 엔진의 성능 개선 • 신기능의 고도화 • 클라우드 기술 내재화 (Eon)
  • 9. Vertica 8.1 주요 신기능
  • 10. 신기능 - Flatten Table 10 ▪ 기능 소개: 데이터가 늘면서 역정규화를 권고하긴 하지만, 직접적인 수정이 여의치 않은 경우에 활용할 수 있는 테이블을 생성하는 기술로, 역정규화에 대한 수월한 자동화 수행 ▪ 장점: 변경이 잦지 않은 디멘젼에 대한 관리 및 Prejoin 대비 빠른 성능 ▪ 사용 예시: CREATE TABLE orderFact ( order_id int PRIMARY KEY, cust_id int REFERENCES custDim(cid), cust_name varchar(20) SET USING ( SELECT name FROM custDim WHERE custDim.cid = cust_id ), amount numeric; );
  • 11. 성능 개선 – 다수의 파일에 대한 동시 적재 성능 8.0 버전 대비 다중 파일 적재에 대한 속도 개선 [8.1에서의 적재 속도 개선 사항]
  • 12. 성능 개선 – 쿼리 동시성 지원도 향상 12 메모리 사용성 개선을 통한 쿼리 동시성 지원도 상승 Before After [8.1에서의 기존 버전 대비 쿼리 동시성 지원도] [8.1에서의 세션 레벨의 메모리 사용성]
  • 13. 성능 개선 – 다중 분석 함수 쿼리 성능 개선 13 여러 분석함수를 한 번에 수행하는 형태로 알고리즘 개선 개선된 수행 시간 및 효율적인 메모리 활용 (1번의 버퍼 생성으로 처리) SELECT percentile_disc(0.5) WITHIN GROUP (ORDER BY quantity) OVER (PARTITION BY year, month, day), percentile_disc(0.5) WITHIN GROUP (ORDER BY quantity) OVER (PARTITION BY year, month), percentile_disc(0.5) WITHIN GROUP (ORDER BY quantity) OVER (PARTITION BY year) FROM sales; SELECT percentile_disc(0.5) WITHIN GROUP (ORDER BY quantity) OVER (PARTITION BY year, month), percentile_disc(0.5) WITHIN GROUP (ORDER BY price) OVER (PARTITION BY year, month), percentile_disc(0.5) WITHIN GROUP (ORDER BY inventory) OVER (PARTITION BY year, month) FROM sales; 지원되는 함수: • 리포팅 관련 집계 함수 • AVG, COUNT, SUM, MIN, MAX • STDDEV, STDDEV_POP, STDDEV_SAMP • VARIANCE, VAR_POP, VAR_SAMP • PERCENTILE_CONT, PERCENTILE_DISC
  • 14. 하둡 연계 – 하둡 클러스터와의 더 긴밀한 연계 ▪ 하둡 클러스터 상태 확인 기능 강화 - Vertica 클러스터에서 하둡의 구조를 이해 - 하둡 클러스터 다운시 쿼리 자동 취소 기능 - 하둡 Namenode HA 기능과 연계 ▪ 케르베로스 연결성 강화 (SELECT KERBEROS_HDFS_CONFIG_CHECK(); 제공) ▪ 클라우데라 매니저와 연계
  • 15. 하둡 연계 – Parquet Export 15 오픈 파일 포맷 지원 확대 ▪ 하둡과의 긴밀한 연계를 위한 하둡 오픈 파일 포맷인 Parquet Write 지원 ▪ 효율적인 ILM 정책 수립 효과 및 데이터 사이언스 기술과의 유기적 연계 ▪ 사용방법 - 관련 파라미터: • Column compression – Snappy (default), Gzip, Uncompressed • Destination directory – 유효한 HDFS 경로 • Row group size – 64 MB (default) >0 <=512 MB EXPORT TO PARQUET(directory='', <optional parameters>) <optional OVER()> AS <select query>;
  • 16. Kafka 연계 개선 사항 16 카프카 기능의 고도화 ▪ 카프카 병렬 적재 처리 기능 개선 ▪ SSL 지원 ▪ Schemaless 지원 ▪ 상태 표시 기능으로 사용성 증대 COPY table_name source kafkasource( stream='example|0|0', stop_on_eof=true, duration=interval '10 seconds') parser KafkaAvroParser( schema_registry_url='http://sch ema-registry-url' );
  • 17. Spark 연계 개선 사항 17 ▪ Spark 2.0 ~ 2.1 연계 지원 ▪ 기능 특장점 - 버티카의 기능을 활용한 적재, 변환 등의 기술 사용 - 버티카의 SQL 고급 엔진 활용 가능 - Spark 환경의 분석 수행을 위해서는 Spark 기술로 버티카에 존재하는 데이터에 작업을 수행하는 것이 가능 - Spark 도구 및 버티카를 통한 대시보드 등에 연계 가능 Executor Executor Task Task Task Task Task Task RDD Dataframe Vertica Table Data Segment Node 1 Vertica Table Data Segment Node 2 Vertica Table Data Segment Node 3 WORKER NODE WORKER NODE Partition Partition Partition Partition Partition Partition Vertica
  • 18. 머신 러닝 알고리즘의 확대 18 ▪ 분석 알고리즘의 추가 - SVM - Random Forest ▪ 데이터 정재 알고리즘의 추가 - APPROXIMATE_PERCENTILE() - IMPUTE() - NORMALIZE_FIT(), APPLY_NORMALIZE(), REVERSE_NORMALIZE() ▪ 함수 최적화 수행 - 오버피팅에 대한 알고리즘 개선
  • 19. Vertica 9.0 주요 신기능
  • 20. 클라우드 지원: Amazon S3 확대 Vertica Cluster Backup/Restore Amazon S3 Vertica Cluster QUERY (join) ORC / Parquet DataAmazon S3 기능 • S3로의 백업 수행 • 버티카에서 백업 수행 가능 특장점 • 클라우드에서의 기능 최대 활용 ORC / Parquet Data 기능 • S3 의 ORC/Parquet External Table 선언 • 머신러닝, JOIN 등 사용 가능 특장점 • S3를 데이터 레이크 저장소로 활용 가능 CREATE EXTERNAL TABLE t1 ( a int,b int,c varchar, d varchar) AS COPY FROM 's3://AWS_VER/partition1/e=1/*' PARQUET;
  • 21. Universally Unique Identifier (UUID) 타입 통신 데이터 타입 지원 • 기존 문제점: UUID 데이터에 대해 효율적인 저장 및 빠른 프로세싱을 위해 Native Data Type의 필요 • 기능: Python, ODBC, JDBC, ADO.NET, vsql 등 모든 클라이언트가 새로운 버티카 데이터 타입을 지원 • 장점: 저장 공간 효율성 및 프로세싱 성능 • 예시: CREATE TABLE document (id UUID, title VARCHAR(100)); INSERT INTO document VALUES (‘6bbf0744-74b4-46b9-bb05-53905d4538e7’, ‘Vertica in the Valley’); INSERT INTO document SELECT uuid_generate(), ‘Vertica in Europe’; COPY document FROM STDIN; 88888888-4444-4444-4444-121212121212 |Vertica Boston . SELECT * FROM document; id | title -------------------------------------|-------------------------------------- ------------- 6bbf0744-74b4-46b9-bb05-53905d4538e7 | Vertica in the Valley 56g3f62d-bde4-75ef-a6f2-61e5dab39149 | Vertica in Europe 88888888-4444-4444-4444-121212121212 | Vertica Boston
  • 22. • 클라우드 이코노믹스 구현 아키텍처 • Compute와 Storage 분리 • 영구 데이터는 S3에, 데이터 디스크 캐싱을 EC2- EBS에 적재 • 다중 서브 클러스터 구성 가능 Eon mode (separation of compute and storage) Beta Node Optimizer Execution Engine Depot Node Optimizer Execution Engine Depot Node Optimizer Execution Engine Depot ROS on shared storage – in dedicated AWS S3 bucket Eon 모드 베타 시작
  • 23. 머신 러닝 기능의 추가 23 대량의 머신러닝 기능 추가 ▪ 데이터 적재 기능 추가 - One-hot 인코딩 - 데이터 탐색 알고리즘 추가 (SUMMARIZE_NUMCOL, SUMMARIZE_CATCOL ) ▪ 머신 러닝 알고리즘 개선 - L1 regularization 추가 (선형회귀 분석) - Random Forest 기능 개선 - Enet 정규화 기능 추가 (선형회귀 분석, RF 분석) ▪ 모델 관리 기능 - 다른 데이터셋에 모델 적용 기능 ID Gender 1 Female 2 Male 3 Not specified 4 Female 5 Not specified ID Female Male Not specified 1 1 0 0 2 0 1 0 3 0 0 1 4 1 0 0 5 0 0 1 One-hot encoding
  • 24. 그 외 기능 개선 24 ▪ LAP(Live Aggregation Projection) 기능 개선 ▪ 백업 및 복구 기능 개선 (백업 기반 업그레이드 기능 추가)
  • 25. Vertica 9.1 주요 신기능
  • 26. Buddy-down 성능 개선 Buddy 프로젝션 성능 문제 개선 기존 문제점 - Late materialisation 지원 불가 9.1.1 개선 사항 ▪ 동등 Buddy Projection에 대해 해당 기능 지원 - Non-identical buddy projections 은 제거됨 (9.1) - Late materialisation 지원 SELECT DELETE COPY
  • 27. 테이블 ActivePartition 을 활용한 Mergeout ActivePartitionCount 기능 ▪ Active Partition (활성화 된 파티션의 상태) 상태의 수 ▪ Mergeout 시 활용 방안 - Active partitions: mergeout strata 알고리즘 적용 table-level 값으로 조정하여 database-level 파라미터 값을 오버라이딩 가능 ▪ CREATE TABLE … ActivePartitionCount n; ▪ ALTER TABLE … set ActivePartitionCount n | DEFAULT; 카탈로그에서 조회 ▪ SELECT table_schema, table_name, active_partition_count FROM tables; table_schema | table_name | active_partition_count -------------+------------+--------------------------- public | table1 | 7 public | table2 | public | table3 | 3
  • 28. 옵티마이저 개선: Resegment Merge select count(distinct a) from t;Scan Scan Scan Merge PipelineGBY(a) PipelineGBY(null) … Scan Scan Scan Resegment Merge PipelineGBY(a) PipelineGBY(null) PipelineGBY(a) PipelineGBY(null) PipelineGBY(a) PipelineGBY(null) … UNION Pre 9.1 9.1 ▪ Reseg Merge에 대한 병렬 처리 형태로 알고리즘 개선
  • 29. 1 2 # of Group By Keys 3 12 10 8 6 4 2 0 Single DA(Integer, low # of distinct values) ExecutionTime(Seconds) 1 2 # of Group By Keys 3 16 14 12 10 8 6 4 2 0 Single DA(Varchar(8), low # of distinct values) ExecutionTime(Seconds) 1 2 # of Group By Keys 3 4 2 0 12 10 8 6 Single DA(Integer, high # of distinct values) ExecutionTime(Seconds) 1 2 # of Group By Keys 3 16 14 12 10 8 6 4 2 0 Single DA(Varchar(8), high # of distinct values) ExecutionTime(Seconds) Resegment Merge 성능 결과 Pre 9.1 9.1 Pre 9.1 9.1 Pre 9.1 9.1 Pre 9.1 9.1
  • 30. select g, count(distinct a), count(distinct b) ,count(distinct c), count(distinct d) ,count(distinct e), count(distinct f) from T group by g; select g, count(distinct a) ,count(distinct b) ,count(distinct c) from T group by g; Integer Varchar(8) Column Data Type Varchar(24) 20 18 16 14 12 10 8 6 4 2 0 MDA(3 DAs) Pre 9.1 9.1 ExecutionTime(Seconds) Integer Varchar(8) Column Data Type Varchar(24) 5 0 35 30 25 20 15 10 40 MDA(6 DAs) ExecutionTime(Seconds) Resegment Merge 성능 결과 Pre 9.1 9.1
  • 31. Machine Learning 함수 지원 플랫폼의 완성 31 Business Understanding Data Analysis & Understanding Data Preparation Modelling Evaluation Deployment Machine Learning Speed ANSI SQL Scalability Massively Parallel Processing Deploy Anywhere Outlier Detection Normalisation Imbalanced Data Processing Sampling Missing Value Imputation And More… SVM Random Forests Logistic Regression Linear Regression Ridge Regression Naive Bayes Cross Validation And More… Model-level Stats ROC Tables Error Rate Lift Table Confusion Matrix R-Squared MSE In-Database Scoring Speed Scale Security Pattern Matching Date/ Time Algebra Window/ Partition Date Type Handling Sequences And More… Sessionise Time Series Statistical Summary SQL SQLSQL SQLSQL UNIFIED PLATFORM V9.1 Enhancements V9.1.x Enhancements
  • 32. Eon 모드의 정식 GA Amazon Microsoft Azure Google Cloud Amazon S3 First Generation Using the cloud as a data center (IaaS) Second Generation Separation of compute and storage Use Case • Savings on data center costs • Faster deployment COST SAVINGS • Hardware depreciation (lease) • Hardware maintenance • Software purchase or depreciation • Software maintenance • Power consumption • Data center floor space • Provisioning time • Backup infrastructure • Backup media • Cost of procurement Use Case • Exploit cloud economics • Variable workloads COST SAVINGS • Costs of provisioning for peak workloads • Then paying for idle capacity during slack workloads • Cost of paying for compute when not in use • Rather than Hibernate • Moving data to handle new workloads • Rather than spin up a new sub-cluster
  • 33. Vertica 9.2 주요 신기능
  • 34. Vertica 9.2.x 신기능 상세 내용은 9.2.x에서 확인 가능 ▪ 버티카 Eon 모드 성능 개선 ▪ 관리 콘솔 기능 확대 ▪ 하둡 연계 기능 확대 - 오픈 파일 및 Complex Type 지원 추가 ▪ Python UDL 기능 확대 ▪ Mergeout 기능 개선 ▪ Load Balancing 기능 확대 ▪ Catalog Size 사이즈 최적화 ▪ 머신 러닝 함수 추가 https://www.vertica.com/docs/ReleaseNotes/9.2.x/Vertica_9.2.x_Release_Notes.htm
  • 35. SDK, Add 모듈 (ver 8.x 이후) • Python SDK • Vertica ML Python
  • 36. vertica-python Python 기반 분석가들을 위한 오픈소스 ▪ 버티카가 공식적으로 지원하는 첫번째 데이터베이스 클라이언트 ▪ Uber가 개발함 ▪ 버티카가 파이썬 클라이언트의 변경에 대한 적극적 대응 ▪ Python Client for Vertica 다운로드 - https://github.com/vertica/vertica-python/
  • 37. UDL Functions Python 필터링 수행 예시 ▪ CREATE LIBRARY pythonfilterlib AS ‘/path/to/conversion_filter.py’ LANGUAGE ‘Python’; ▪ CREATE FILTER ConversionFilter AS NAME ‘ConversionFilterFactory’ LIBRARY pythonfilterlib; ▪ COPY foo FROM ‘/data/foo.csv.gz’ FILTER ConversionFilter(src_encoding = ‘gzip’, dst_encoding = ‘utf-8’);
  • 38. Vertica ML Python 38 • Python library that exposes sci-kit like functionality • Data stored in Vertica, thus taking advantage Vertica’s and push all heavy computation to VERTICA • Can be used for data preparation, data exploration i ML • uses a ‘pipeline’ mechanism to sequentialize data transformation… https://github.com/vertica/Vertica-ML-Python