SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
最強にスケーラブルなカラムナーDBよ、
Hadoopとのタッグで
ビッグデータの地平を目指せ!
- Actian Matrix -
平間大輔
株式会社インサイトテクノロジー
Actian Analytics Platformの中核
Actian Analytics Platform™
Analyze ActConnect
Actian Analytics Accelerators
Actian
DataFlow™
Actian
Matrix™
Actian
Vector™
Enterprise
Applications Data
Warehouse
Social
Internet of Things
SaaS
WWW Machine
Data
Mobile
World-Class Risk
Management
Competitive
Advantage
Customer
Delight
Disruptive New
Business Models
NoSQLTraditional
Actian Analytics Platform™
Accelerate
Hadoop
Accelerate
Analytics
Accelerate
BI
Matrixとは?
Amazon RedshiftはMatrixを採用
“Actian has an industry leading solution and is
rethinking database cloud – we’re excited to
back such a strong team.”
- Jeff Blackburn, SVP of Business Development for Amazon
Amazon Redshift is the fastest
growing service in their portfolio
Selected after deep evaluation
against all competitors based on
price-performance value
proposition of Actian’s platform
Amazon Redshift service has over
1000 new customers since
launch in Feb ’13
Actian complements Redshift
with on-premise, high-scale
analytics suite and support
Actian Analytics Platform Underpins AMAZON
REDSHIFT
Created New Cloud Service driving $50M+ revenue annually.
本当にスケールするの?
CentOS 6.4 64bit
Intel Xeon L5640
2.26GHz (2 cores only)
8GB
SATA SSD * 2
(RAID0 全ノード共有)
Actian Matrix 5.1
Virtual
Gigabit Ethernet
x N = ?
スケールアウト!
2nodes 4nodes 8nodes 16nodes
TPC-H 30GB
どうだ!
4nodes 8nodes 16nodes
TPC-H 100GB
スケールアウトの秘密を暴く
Leader Node
Parser
Queries & Joins Non-Query Commands
Execution Planner & Optimizer
Code Generation
Queue & Workload Manager
Scheduler
Communication Layer
listener ODBC / JDBC / PSQL
データ処理の基本は「Slice」
Leader
Node
Compute
Node 1
Slice 1
1, 10, 20,
30, 40, 50,
60, 70….
5, 14, 24,
34, 44, 54,
64, 74….
Slice 2
2, 11, 21,
31, 41, 51,
61, 71….
6, 15, 25,
35, 45, 55,
65, 75….
Slice 3
3, 12, 22,
32, 42, 52,
62, 72....
7, 16, 26,
36, 46, 56,
66, 76…
Slice 4
4, 13, 33,
43, 53, 63,
73….
8, 17, 27,
37, 47, 57,
67, 77…
Compute
Node 2
Slice 5
5, 14, 24,
34, 44, 54,
64, 74….
1, 10, 20,
30, 40, 50,
60, 70….
Slice 6
6, 15, 25,
35, 45, 55,
65, 75….
2, 11, 21,
31, 41, 51,
61, 71….
Slice 7
7, 16, 26,
36, 46, 56,
66, 76….
3, 12, 22,
32, 42, 52,
62, 72....
Slice 8
8, 17, 27,
37, 47, 57,
67, 77…
4, 13, 33,
43, 53, 63,
73….
Stream, Segment, Step
集計処理は2段階
Supplier
Nation AcctBal
S0
---------
1
2
4
4
8
S1
---------
1
1
7
7
8
S0
---------
$5
$10
$12
$15
$30
S1
---------
$10
$11
$15
$5
$8
S0
Hash aggregate table
1 – $5
2 – $10
4 – $27
8 - $30
S1
Hash aggregate table
1 – $21
7 – $20
8 - $8
S0
-----------
1
1
1
2
2
S1
---------
4
4
S0
---------
$5
$21
$15
$10
$7
S1
---------
$27
$1054
Aggr
Dist
Aggr
Supplier
Nation AcctBal
S2
---------
1
7
7
9
10
S3
---------
2
4
4
6
9
S2
---------
$15
$1
$12
$10
$3
S3
---------
$7
$1050
$4
$10
$2
S2
Hash aggregate table
1 – $15
7 – $13
9 – $10
10 - $3
S3
Hash aggregate table
2 – $7
4 – $1054
6 – $10
9 = $2
S2
-----------
6
7
7
S3
---------
8
8
9
9
10
S2
---------
$10
$20
$13
S3
---------
$30
$8
$10
$2
$3
Node 2Node 1
... ...
Scan
S2
Hash aggregate table
6 – $10
7 – $33
S3
Hash aggregate table
8 – $38
9 – $12
10 – $3
S0
Hash aggregate table
1 – $41
2 – $17
S1
Hash aggregate table
4 – $1081
select nation, sum(acctbal) from supplier group by nation;
create table supplier (
suppkey int4 not null distkey,
name char(25) not null,
address varchar(40) not null,
nation int4 not null,
phone char(15) not null,
acctbal numeric(12,2) not null,
comment varchar(101) not null
) sortkey (suppkey);
Queryの実行例
• TPC-H Q16
select
p_brand, p_type, p_size, count(distinct ps_suppkey) as supplier_cnt
from
partsupp, part
where
p_partkey = ps_partkey
and p_brand <> 'Brand#15'
and p_type not like 'STANDARD POLISHED%'
and p_size in (3, 8, 49, 19, 29, 9, 47, 32)
and ps_suppkey not in (
select s_suppkey
from supplier
where s_comment like '%Customer%Complaints%'
)
group by
p_brand, p_type, p_size
order by
supplier_cnt desc, p_brand, p_type, p_size;
Queryの実行例
stm | seg | step | maxtime | avgtime | rows | bytes | label | slices
-----+-----+------+-----------------+-----------------+----------+------------+----------------------+--------
0 | 0 | 0 | 00:00:00.082427 | 00:00:00.047169 | 479 | 37414 | scan tblP =108506 | 32
0 | 0 | 2 | 00:00:00.082427 | 00:00:00.047169 | 479 | 1916 | bcast | 32
0 | 1 | 0 | 00:00:00.099844 | 00:00:00.094777 | 7664 | 30656 | scan fabric=67 | 32
0 | 1 | 2 | 00:00:00.099844 | 00:00:00.094777 | 7664 | 122624 | hash tblT =240 | 32
1 | 2 | 0 | 00:00:00.002559 | 00:00:00.001517 | 0 | 0 | scan tblP =108490 | 32
1 | 2 | 1 | 00:00:00.002559 | 00:00:00.001517 | 0 | 0 | sort tblT =242 | 32
2 | 3 | 0 | 00:00:00.002244 | 00:00:00.001048 | 0 | 0 | scan tblP =108514 | 32
2 | 3 | 1 | 00:00:00.002244 | 00:00:00.001048 | 0 | 0 | sort tblT =244 | 32
3 | 4 | 0 | 00:00:02.231598 | 00:00:01.725522 | 79999318 | 1279989088 | scan tblP =108514 | 32
3 | 4 | 1 | 00:00:02.231598 | 00:00:01.725522 | 0 | 0 | merge | 32
3 | 4 | 5 | 00:00:02.231598 | 00:00:01.725522 | 11885548 | 0 | mjoin tbl =239 | 32
3 | 4 | 8 | 00:00:02.231598 | 00:00:01.725522 | 11879878 | 0 | hjoin tblT =240 | 32
3 | 4 | 11 | 00:00:02.231598 | 00:00:01.725522 | 11879783 | 712462256 | aggr tblT =257 | 32
3 | 4 | 12 | 00:00:02.231598 | 00:00:01.725522 | 11879783 | 565281908 | dist | 32
3 | 5 | 0 | 00:00:02.426613 | 00:00:02.371618 | 11879783 | 569904860 | scan fabric=68 | 32
3 | 5 | 1 | 00:00:02.426613 | 00:00:02.371618 | 11877404 | 712319756 | aggr tblT =260 | 32
4 | 6 | 0 | 00:00:00.192183 | 00:00:00.133277 | 11877404 | 712319756 | scan tblT =260 | 32
4 | 6 | 5 | 00:00:00.192183 | 00:00:00.133277 | 890878 | 56991616 | aggr tblT =265 | 32
4 | 6 | 6 | 00:00:00.192183 | 00:00:00.133277 | 890878 | 45434532 | dist | 32
4 | 7 | 0 | 00:00:00.301407 | 00:00:00.292919 | 890878 | 49864592 | scan fabric=69 | 32
4 | 7 | 1 | 00:00:00.301407 | 00:00:00.292919 | 27840 | 1780992 | aggr tblT =268 | 32
5 | 8 | 0 | 00:00:00.001789 | 00:00:00.001143 | 27840 | 1780992 | scan tblT =268 | 32
5 | 8 | 3 | 00:00:00.001789 | 00:00:00.001143 | 27840 | 1558272 | sort tblT =238 | 32
6 | 9 | 0 | 00:00:00.000595 | 00:00:00.000336 | 27840 | 1558272 | scan tblT =238 | 32
6 | 9 | 1 | 00:00:00.000595 | 00:00:00.000336 | 27840 | 1419844 | return | 32
6 | 10 | 0 | 00:00:00.046609 | 00:00:00.046609 | 27840 | 0 | merge | 1
6 | 10 | 2 | 00:00:00.046609 | 00:00:00.046609 | 0 | 0 | return | 1
いぢめないで…
select l_partkey, l_extendedprice from lineitem order by 2, 1;
stm | seg | step | maxtime | avgtime | rows | bytes | label | slices
-----+-----+------+-----------------+-----------------+-----------+-------------+----------------------+--------
0 | 0 | 0 | 00:00:23.496729 | 00:00:19.806 | 600037902 | 12000758040 | scan tblP =108542 | 32
0 | 0 | 3 | 00:00:23.496729 | 00:00:19.806 | 600037902 | 9600606432 | sort tblT =238 | 32
1 | 1 | 0 | 00:08:29.514698 | 00:08:29.109248 | 600037902 | 9600606432 | scan tblT =238 | 32
1 | 1 | 1 | 00:08:29.514698 | 00:08:29.109248 | 600037902 | 9600474240 | return | 32
1 | 2 | 0 | 00:08:33.764077 | 00:08:33.764077 | 600037902 | 0 | merge | 1
1 | 2 | 2 | 00:08:33.764077 | 00:08:33.764077 | 0 | 0 | return | 1
データの持ち方も重要
分散キー (distkey)
catid
category
catgroup catname catdesc
distkey
Slice 0 Slice 1
catitem
catid
distkey
itemid
ソートキー (sortkey)
Amazon
Buffer
Create
Drive
Enjoy
.
.
.
.
Xbox
You
zone
Super
Final
high
VACUUM
カラムナーDBの十八番、圧縮
エンコード名 キーワード サポートされるデータ型 圧縮の特徴
Byte dictionary BYTEDICT VARCHARとBOOLEAN
を除く全て
ブロックごとに最大255通りの値を辞書に持たせる
ことで1カラム1バイトに圧縮。
Global
dictionary
GLOBALDICT256,
GLOBALDICT64K
BOOLEAN以外全て カラム全体で1つの辞書を持つ。256だと255通りの
値を1バイトに、64Kだと65535通りの値を2バイトに
圧縮。
Delta DELTA,
DELTA32K
SMALLINT (DELTAのみ),
INT, BIGINT, DATE,
TIMESTAMP, DECIMAL
前の値との差分を格納。差分の値が元データ型の
サイズよりも小さければ圧縮可能。
Run-length RUNLENGTH 全て ランレングス圧縮。同一のデータがいくつ連続する
かを格納。連続した同一値には高い圧縮率。
LZ (Lempel-Ziv) DEFLATE BOOLEAN, REAL,
DOUBLE PRECISION
を除く全て
LZ法(ZIPなど一般的なファイル圧縮で使われている
アルゴリズム)で圧縮。圧縮率は高いが圧縮・展開
のCPU負荷も高い。
Mostly MOSTLY8 SMALLINT, INT, BIGINT,
DECIMAL
カラム内の値が指定されたデータ型よりも小さいサ
イズで格納可能な場合、指定された(元のデータ型
よりも小さい)サイズでデータを格納する。収まらな
い場合は元のサイズで格納。
MOSTLY16 INT, BIGINT, DECIMAL
MOSTLY32 BIGINT, DECIMAL
TEXT255, 32K TEXT255,
TEXT32K
VARCHARのみ 辞書を使用した圧縮のVARCHAR版。245通りの単
語まで辞書に登録可能。
上手に圧縮、サイズは1/2以下!
create table lineitem (
l_orderkey int8 not null encode delta sortkey distkey,
l_partkey int4 not null,
l_suppkey int4 not null encode mostly16,
l_linenumber int4 not null encode mostly8,
l_quantity numeric(19,2) not null encode bytedict,
l_extendedprice numeric(19,2) not null encode mostly32,
l_discount numeric(19,2) not null encode mostly8,
l_tax numeric(19,2) not null encode mostly8,
l_returnflag char(1) not null encode runlength,
l_linestatus char(1) not null encode runlength,
l_shipdate date not null encode delta,
l_commitdate date not null encode delta,
l_receiptdate date not null encode delta,
l_shipinstruct char(25) not null encode bytedict,
l_shipmode char(10) not null encode bytedict,
l_comment varchar(44) not null
);
create table lineitem (
l_orderkey int8 not null sortkey distkey,
l_partkey int4 not null,
l_suppkey int4 not null,
l_linenumber int4 not null,
l_quantity numeric(19,2) not null,
l_extendedprice numeric(19,2) not null,
l_discount numeric(19,2) not null,
l_tax numeric(19,2) not null,
l_returnflag char(1) not null,
l_linestatus char(1) not null,
l_shipdate date not null,
l_commitdate date not null,
l_receiptdate date not null,
l_shipinstruct char(25) not null,
l_shipmode char(10) not null,
l_comment varchar(44) not null
);
行数: 600,037,902
40,204 MB 18,900 MB !
隠し味はUDF(ユーザー定義関数)
• PL/pgSQLの例
CREATE OR REPLACE FUNCTION f_echo(_text varchar)
RETURNS varchar AS
$$
BEGIN
return _text;
END;
$$
LANGUAGE plpgsql;
• C++の例
#include "padb_udf.hpp"
PADB_UDF_VERSION(charcount);
extern "C"
{
padb_udf::int_t charcount ( padb_udf::ScalarArg &aux,
padb_udf::varchar_t *target, padb_udf::varchar_t *tst )
{
padb_udf::int_t ret = 0;
if ( tst->len != 1 )
{
aux.throwError( __func__,"probe length must be = 1" );
}
char ch = tst->str[0];
for ( padb_udf::len_t ix = 0; ix < target->len; ix++ )
{
if ( target->str[ix] == ch )
{
ret++;
}
}
return aux.retIntVal( ret );
}
}
CREATE OR REPLACE FUNCTION charcount
(target_string varchar, search_character varchar)
RETURNS int
AS '/tmp/scalar_charcount.o'
LANGUAGE C STABLE;
• ユーザーのビジネスロジック組み込み
• サードパーティ製分析関数
• ODI(On-Demand Integration)の実現
ビッグなデータはHadoopから取り込め!
ビッグなデータはHadoopから取り込め!
DataNode
DataNode
DataNode
NameNode
Compute
Node
Compute
Node
Compute
Node
LeaderNode
これでは遅い…
ビッグなデータはHadoopから取り込め!
DataNode
DataNode
DataNode
NameNode
Compute
Node
Compute
Node
Compute
Node
LeaderNode
直接ロードしたい!
直接読み込みたい!
Google Booksで現れる単語を見てみよう
まずはHadoopでデータ加工だ!
algorithm_PRON 1991 297 185
algorithm_PRON 1992 325 217
algorithm_PRON 1993 336 235
algorithm_PRON 1994 308 202
algorithm_PRON 1995 331 244
algorithm_PRON 1996 376 243
algorithm_PRON 1997 404 243
algorithm_PRON 1998 404 269
algorithm_PRON 1999 495 295
algorithm_PRON 2000 480 318
algorithm PRON 1991 297 185
algorithm PRON 1992 325 217
algorithm PRON 1993 336 235
algorithm PRON 1994 308 202
algorithm PRON 1995 331 244
algorithm PRON 1996 376 243
algorithm PRON 1997 404 243
algorithm PRON 1998 404 269
algorithm PRON 1999 495 295
algorithm PRON 2000 480 318
単語と品詞を分離したい
MapReduceだ!
ちょっとしたクエリはODIで
こんなクエリが書けちゃう
select word, sum(wordcount) from odi_hadoop_import(
with jobname('googlebooks_job')
masternode('hadoop01.com')
inputdir('/user/dhirama/googlebooksModifyDemo')
padb_schema('googlebooksWords')
delimiter('¥t')
)
where word like 'another%'
group by word;
ODIを実行だ!
がっつりロードするならDataFlow!
高速ロード、すぐに分析!
最強のタッグがBigDataの世界を変える!
無断転載を禁ず
この文書はあくまでも参考資料であり、掲載されている情報は予告なしに変更されることがあります。
株式会社インサイトテクノロジーは本書の内容に関していかなる保証もしません。また、本書の内容に関連したいかなる
損害についても責任を負いかねます。
本書で使用している製品やサービス名の名称は、各社の商標または登録商標です。

Contenu connexe

Tendances

Tablas integrales
Tablas integralesTablas integrales
Tablas integralesPaulo0415
 
Javascript Without Javascript
Javascript Without JavascriptJavascript Without Javascript
Javascript Without JavascriptPatrick Kettner
 
Patrick Kettner - JavaScript without javascript
Patrick Kettner - JavaScript without javascriptPatrick Kettner - JavaScript without javascript
Patrick Kettner - JavaScript without javascriptOdessaJS Conf
 
Bagian 3 PTI
Bagian 3 PTIBagian 3 PTI
Bagian 3 PTIHIMTI
 
The Ring programming language version 1.5.3 book - Part 40 of 184
The Ring programming language version 1.5.3 book - Part 40 of 184The Ring programming language version 1.5.3 book - Part 40 of 184
The Ring programming language version 1.5.3 book - Part 40 of 184Mahmoud Samir Fayed
 
Problem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignProblem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignNaresh Jain
 
Digital signal processing (2nd ed) (mitra) solution manual
Digital signal processing (2nd ed) (mitra) solution manualDigital signal processing (2nd ed) (mitra) solution manual
Digital signal processing (2nd ed) (mitra) solution manualRamesh Sundar
 
TC74VCX244FT PSpice Model (Free SPICE Model)
TC74VCX244FT PSpice Model (Free SPICE Model)TC74VCX244FT PSpice Model (Free SPICE Model)
TC74VCX244FT PSpice Model (Free SPICE Model)Tsuyoshi Horigome
 
Dynamic Deployment With Apache Felix
Dynamic Deployment With Apache FelixDynamic Deployment With Apache Felix
Dynamic Deployment With Apache FelixMarcel Offermans
 
Metadata Matters
Metadata MattersMetadata Matters
Metadata Mattersafa reg
 
Extending Structured Streaming Made Easy with Algebra with Erik Erlandson
Extending Structured Streaming Made Easy with Algebra with Erik ErlandsonExtending Structured Streaming Made Easy with Algebra with Erik Erlandson
Extending Structured Streaming Made Easy with Algebra with Erik ErlandsonDatabricks
 
Work-stealing Tree Data Structure
Work-stealing Tree Data StructureWork-stealing Tree Data Structure
Work-stealing Tree Data StructureAleksandar Prokopec
 

Tendances (17)

Integrales
IntegralesIntegrales
Integrales
 
Tablas integrales
Tablas integralesTablas integrales
Tablas integrales
 
340project Final
340project Final340project Final
340project Final
 
Javascript Without Javascript
Javascript Without JavascriptJavascript Without Javascript
Javascript Without Javascript
 
Patrick Kettner - JavaScript without javascript
Patrick Kettner - JavaScript without javascriptPatrick Kettner - JavaScript without javascript
Patrick Kettner - JavaScript without javascript
 
Bagian 3 PTI
Bagian 3 PTIBagian 3 PTI
Bagian 3 PTI
 
The Ring programming language version 1.5.3 book - Part 40 of 184
The Ring programming language version 1.5.3 book - Part 40 of 184The Ring programming language version 1.5.3 book - Part 40 of 184
The Ring programming language version 1.5.3 book - Part 40 of 184
 
Problem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignProblem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary Design
 
Explain this!
Explain this!Explain this!
Explain this!
 
Digital signal processing (2nd ed) (mitra) solution manual
Digital signal processing (2nd ed) (mitra) solution manualDigital signal processing (2nd ed) (mitra) solution manual
Digital signal processing (2nd ed) (mitra) solution manual
 
TC74VCX244FT PSpice Model (Free SPICE Model)
TC74VCX244FT PSpice Model (Free SPICE Model)TC74VCX244FT PSpice Model (Free SPICE Model)
TC74VCX244FT PSpice Model (Free SPICE Model)
 
Prelude to halide_public
Prelude to halide_publicPrelude to halide_public
Prelude to halide_public
 
Dynamic Deployment With Apache Felix
Dynamic Deployment With Apache FelixDynamic Deployment With Apache Felix
Dynamic Deployment With Apache Felix
 
Metadata Matters
Metadata MattersMetadata Matters
Metadata Matters
 
Extending Structured Streaming Made Easy with Algebra with Erik Erlandson
Extending Structured Streaming Made Easy with Algebra with Erik ErlandsonExtending Structured Streaming Made Easy with Algebra with Erik Erlandson
Extending Structured Streaming Made Easy with Algebra with Erik Erlandson
 
Ac cuda c_6
Ac cuda c_6Ac cuda c_6
Ac cuda c_6
 
Work-stealing Tree Data Structure
Work-stealing Tree Data StructureWork-stealing Tree Data Structure
Work-stealing Tree Data Structure
 

Similaire à [D15] 最強にスケーラブルなカラムナーDBよ、Hadoopとのタッグでビッグデータの地平を目指せ!by Daisuke Hirama

Roll grinding Six Sigma project
Roll grinding Six Sigma projectRoll grinding Six Sigma project
Roll grinding Six Sigma projectTariq Aziz
 
Analisis gap dan thurstone
Analisis gap dan thurstoneAnalisis gap dan thurstone
Analisis gap dan thurstoneM Taufiq Budi H
 
.NET Fest 2019. Łukasz Pyrzyk. Daily Performance Fuckups
.NET Fest 2019. Łukasz Pyrzyk. Daily Performance Fuckups.NET Fest 2019. Łukasz Pyrzyk. Daily Performance Fuckups
.NET Fest 2019. Łukasz Pyrzyk. Daily Performance FuckupsNETFest
 
Cloud Lunch and Learn ML.NET MACHINE LEARNING (AND DEEP LEARNING) FOR THE CSh...
Cloud Lunch and Learn ML.NET MACHINE LEARNING (AND DEEP LEARNING) FOR THE CSh...Cloud Lunch and Learn ML.NET MACHINE LEARNING (AND DEEP LEARNING) FOR THE CSh...
Cloud Lunch and Learn ML.NET MACHINE LEARNING (AND DEEP LEARNING) FOR THE CSh...Luis Beltran
 
Generic Framework for Knowledge Classification-1
Generic Framework  for Knowledge Classification-1Generic Framework  for Knowledge Classification-1
Generic Framework for Knowledge Classification-1Venkata Vineel
 
Scaling PostreSQL with Stado
Scaling PostreSQL with StadoScaling PostreSQL with Stado
Scaling PostreSQL with StadoJim Mlodgenski
 
Fulltext engine for non fulltext searches
Fulltext engine for non fulltext searchesFulltext engine for non fulltext searches
Fulltext engine for non fulltext searchesAdrian Nuta
 
Using PostGIS To Add Some Spatial Flavor To Your Application
Using PostGIS To Add Some Spatial Flavor To Your ApplicationUsing PostGIS To Add Some Spatial Flavor To Your Application
Using PostGIS To Add Some Spatial Flavor To Your ApplicationSteven Pousty
 
Querying Data Pipeline with AWS Athena
Querying Data Pipeline with AWS AthenaQuerying Data Pipeline with AWS Athena
Querying Data Pipeline with AWS AthenaYaroslav Tkachenko
 
A Visual Approach to Understanding Streaming SQL
A Visual Approach to Understanding Streaming SQL A Visual Approach to Understanding Streaming SQL
A Visual Approach to Understanding Streaming SQL confluent
 
Spark Summit Dublin 2017 - MemSQL - Real-Time Image Recognition
Spark Summit Dublin 2017 - MemSQL - Real-Time Image RecognitionSpark Summit Dublin 2017 - MemSQL - Real-Time Image Recognition
Spark Summit Dublin 2017 - MemSQL - Real-Time Image RecognitionSingleStore
 
MongoDB World 2018: Overnight to 60 Seconds: An IOT ETL Performance Case Study
MongoDB World 2018: Overnight to 60 Seconds: An IOT ETL Performance Case StudyMongoDB World 2018: Overnight to 60 Seconds: An IOT ETL Performance Case Study
MongoDB World 2018: Overnight to 60 Seconds: An IOT ETL Performance Case StudyMongoDB
 
Event-Driven Microservices: Back to the Basics
Event-Driven Microservices: Back to the BasicsEvent-Driven Microservices: Back to the Basics
Event-Driven Microservices: Back to the BasicsHostedbyConfluent
 
The Gnocchi Experiment
The Gnocchi ExperimentThe Gnocchi Experiment
The Gnocchi ExperimentGordon Chung
 
Quick Wikipedia Mining using Elastic Map Reduce
Quick Wikipedia Mining using Elastic Map ReduceQuick Wikipedia Mining using Elastic Map Reduce
Quick Wikipedia Mining using Elastic Map Reduceohkura
 
Macy's: Changing Engines in Mid-Flight
Macy's: Changing Engines in Mid-FlightMacy's: Changing Engines in Mid-Flight
Macy's: Changing Engines in Mid-FlightDataStax Academy
 

Similaire à [D15] 最強にスケーラブルなカラムナーDBよ、Hadoopとのタッグでビッグデータの地平を目指せ!by Daisuke Hirama (20)

Roll grinding Six Sigma project
Roll grinding Six Sigma projectRoll grinding Six Sigma project
Roll grinding Six Sigma project
 
Analisis gap dan thurstone
Analisis gap dan thurstoneAnalisis gap dan thurstone
Analisis gap dan thurstone
 
.NET Fest 2019. Łukasz Pyrzyk. Daily Performance Fuckups
.NET Fest 2019. Łukasz Pyrzyk. Daily Performance Fuckups.NET Fest 2019. Łukasz Pyrzyk. Daily Performance Fuckups
.NET Fest 2019. Łukasz Pyrzyk. Daily Performance Fuckups
 
Druid - DevconTLV X
Druid - DevconTLV XDruid - DevconTLV X
Druid - DevconTLV X
 
Cloud Lunch and Learn ML.NET MACHINE LEARNING (AND DEEP LEARNING) FOR THE CSh...
Cloud Lunch and Learn ML.NET MACHINE LEARNING (AND DEEP LEARNING) FOR THE CSh...Cloud Lunch and Learn ML.NET MACHINE LEARNING (AND DEEP LEARNING) FOR THE CSh...
Cloud Lunch and Learn ML.NET MACHINE LEARNING (AND DEEP LEARNING) FOR THE CSh...
 
Generic Framework for Knowledge Classification-1
Generic Framework  for Knowledge Classification-1Generic Framework  for Knowledge Classification-1
Generic Framework for Knowledge Classification-1
 
From SQL to Pandas
From SQL to PandasFrom SQL to Pandas
From SQL to Pandas
 
Scaling PostreSQL with Stado
Scaling PostreSQL with StadoScaling PostreSQL with Stado
Scaling PostreSQL with Stado
 
Fulltext engine for non fulltext searches
Fulltext engine for non fulltext searchesFulltext engine for non fulltext searches
Fulltext engine for non fulltext searches
 
Using PostGIS To Add Some Spatial Flavor To Your Application
Using PostGIS To Add Some Spatial Flavor To Your ApplicationUsing PostGIS To Add Some Spatial Flavor To Your Application
Using PostGIS To Add Some Spatial Flavor To Your Application
 
Querying Data Pipeline with AWS Athena
Querying Data Pipeline with AWS AthenaQuerying Data Pipeline with AWS Athena
Querying Data Pipeline with AWS Athena
 
A Visual Approach to Understanding Streaming SQL
A Visual Approach to Understanding Streaming SQL A Visual Approach to Understanding Streaming SQL
A Visual Approach to Understanding Streaming SQL
 
SFScon16 - Michele Baldessari: "OpenStack – An introduction"
SFScon16 - Michele Baldessari: "OpenStack – An introduction"SFScon16 - Michele Baldessari: "OpenStack – An introduction"
SFScon16 - Michele Baldessari: "OpenStack – An introduction"
 
Quark Virtualization Engine for Analytics
Quark Virtualization Engine for Analytics Quark Virtualization Engine for Analytics
Quark Virtualization Engine for Analytics
 
Spark Summit Dublin 2017 - MemSQL - Real-Time Image Recognition
Spark Summit Dublin 2017 - MemSQL - Real-Time Image RecognitionSpark Summit Dublin 2017 - MemSQL - Real-Time Image Recognition
Spark Summit Dublin 2017 - MemSQL - Real-Time Image Recognition
 
MongoDB World 2018: Overnight to 60 Seconds: An IOT ETL Performance Case Study
MongoDB World 2018: Overnight to 60 Seconds: An IOT ETL Performance Case StudyMongoDB World 2018: Overnight to 60 Seconds: An IOT ETL Performance Case Study
MongoDB World 2018: Overnight to 60 Seconds: An IOT ETL Performance Case Study
 
Event-Driven Microservices: Back to the Basics
Event-Driven Microservices: Back to the BasicsEvent-Driven Microservices: Back to the Basics
Event-Driven Microservices: Back to the Basics
 
The Gnocchi Experiment
The Gnocchi ExperimentThe Gnocchi Experiment
The Gnocchi Experiment
 
Quick Wikipedia Mining using Elastic Map Reduce
Quick Wikipedia Mining using Elastic Map ReduceQuick Wikipedia Mining using Elastic Map Reduce
Quick Wikipedia Mining using Elastic Map Reduce
 
Macy's: Changing Engines in Mid-Flight
Macy's: Changing Engines in Mid-FlightMacy's: Changing Engines in Mid-Flight
Macy's: Changing Engines in Mid-Flight
 

Plus de Insight Technology, Inc.

グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?Insight Technology, Inc.
 
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~Insight Technology, Inc.
 
事例を通じて機械学習とは何かを説明する
事例を通じて機械学習とは何かを説明する事例を通じて機械学習とは何かを説明する
事例を通じて機械学習とは何かを説明するInsight Technology, Inc.
 
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーンInsight Technology, Inc.
 
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとMBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとInsight Technology, Inc.
 
グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?Insight Technology, Inc.
 
DBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォームDBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォームInsight Technology, Inc.
 
SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門Insight Technology, Inc.
 
db tech showcase2019オープニングセッション @ 森田 俊哉
db tech showcase2019オープニングセッション @ 森田 俊哉 db tech showcase2019オープニングセッション @ 森田 俊哉
db tech showcase2019オープニングセッション @ 森田 俊哉 Insight Technology, Inc.
 
db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也Insight Technology, Inc.
 
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー Insight Technology, Inc.
 
難しいアプリケーション移行、手軽に試してみませんか?
難しいアプリケーション移行、手軽に試してみませんか?難しいアプリケーション移行、手軽に試してみませんか?
難しいアプリケーション移行、手軽に試してみませんか?Insight Technology, Inc.
 
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介Insight Technology, Inc.
 
そのデータベース、クラウドで使ってみませんか?
そのデータベース、クラウドで使ってみませんか?そのデータベース、クラウドで使ってみませんか?
そのデータベース、クラウドで使ってみませんか?Insight Technology, Inc.
 
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...Insight Technology, Inc.
 
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。 複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。 Insight Technology, Inc.
 
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...Insight Technology, Inc.
 
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]Insight Technology, Inc.
 

Plus de Insight Technology, Inc. (20)

グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?
 
Docker and the Oracle Database
Docker and the Oracle DatabaseDocker and the Oracle Database
Docker and the Oracle Database
 
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
 
事例を通じて機械学習とは何かを説明する
事例を通じて機械学習とは何かを説明する事例を通じて機械学習とは何かを説明する
事例を通じて機械学習とは何かを説明する
 
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
 
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとMBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごと
 
グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?
 
DBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォームDBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォーム
 
SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門
 
Lunch & Learn, AWS NoSQL Services
Lunch & Learn, AWS NoSQL ServicesLunch & Learn, AWS NoSQL Services
Lunch & Learn, AWS NoSQL Services
 
db tech showcase2019オープニングセッション @ 森田 俊哉
db tech showcase2019オープニングセッション @ 森田 俊哉 db tech showcase2019オープニングセッション @ 森田 俊哉
db tech showcase2019オープニングセッション @ 森田 俊哉
 
db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也
 
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
 
難しいアプリケーション移行、手軽に試してみませんか?
難しいアプリケーション移行、手軽に試してみませんか?難しいアプリケーション移行、手軽に試してみませんか?
難しいアプリケーション移行、手軽に試してみませんか?
 
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
 
そのデータベース、クラウドで使ってみませんか?
そのデータベース、クラウドで使ってみませんか?そのデータベース、クラウドで使ってみませんか?
そのデータベース、クラウドで使ってみませんか?
 
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
 
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。 複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
 
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
 
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
 

Dernier

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 

Dernier (20)

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 

[D15] 最強にスケーラブルなカラムナーDBよ、Hadoopとのタッグでビッグデータの地平を目指せ!by Daisuke Hirama

  • 2. Actian Analytics Platformの中核 Actian Analytics Platform™ Analyze ActConnect Actian Analytics Accelerators Actian DataFlow™ Actian Matrix™ Actian Vector™ Enterprise Applications Data Warehouse Social Internet of Things SaaS WWW Machine Data Mobile World-Class Risk Management Competitive Advantage Customer Delight Disruptive New Business Models NoSQLTraditional Actian Analytics Platform™ Accelerate Hadoop Accelerate Analytics Accelerate BI
  • 4. Amazon RedshiftはMatrixを採用 “Actian has an industry leading solution and is rethinking database cloud – we’re excited to back such a strong team.” - Jeff Blackburn, SVP of Business Development for Amazon Amazon Redshift is the fastest growing service in their portfolio Selected after deep evaluation against all competitors based on price-performance value proposition of Actian’s platform Amazon Redshift service has over 1000 new customers since launch in Feb ’13 Actian complements Redshift with on-premise, high-scale analytics suite and support Actian Analytics Platform Underpins AMAZON REDSHIFT Created New Cloud Service driving $50M+ revenue annually.
  • 5. 本当にスケールするの? CentOS 6.4 64bit Intel Xeon L5640 2.26GHz (2 cores only) 8GB SATA SSD * 2 (RAID0 全ノード共有) Actian Matrix 5.1 Virtual Gigabit Ethernet x N = ?
  • 8. スケールアウトの秘密を暴く Leader Node Parser Queries & Joins Non-Query Commands Execution Planner & Optimizer Code Generation Queue & Workload Manager Scheduler Communication Layer listener ODBC / JDBC / PSQL
  • 9. データ処理の基本は「Slice」 Leader Node Compute Node 1 Slice 1 1, 10, 20, 30, 40, 50, 60, 70…. 5, 14, 24, 34, 44, 54, 64, 74…. Slice 2 2, 11, 21, 31, 41, 51, 61, 71…. 6, 15, 25, 35, 45, 55, 65, 75…. Slice 3 3, 12, 22, 32, 42, 52, 62, 72.... 7, 16, 26, 36, 46, 56, 66, 76… Slice 4 4, 13, 33, 43, 53, 63, 73…. 8, 17, 27, 37, 47, 57, 67, 77… Compute Node 2 Slice 5 5, 14, 24, 34, 44, 54, 64, 74…. 1, 10, 20, 30, 40, 50, 60, 70…. Slice 6 6, 15, 25, 35, 45, 55, 65, 75…. 2, 11, 21, 31, 41, 51, 61, 71…. Slice 7 7, 16, 26, 36, 46, 56, 66, 76…. 3, 12, 22, 32, 42, 52, 62, 72.... Slice 8 8, 17, 27, 37, 47, 57, 67, 77… 4, 13, 33, 43, 53, 63, 73….
  • 11. 集計処理は2段階 Supplier Nation AcctBal S0 --------- 1 2 4 4 8 S1 --------- 1 1 7 7 8 S0 --------- $5 $10 $12 $15 $30 S1 --------- $10 $11 $15 $5 $8 S0 Hash aggregate table 1 – $5 2 – $10 4 – $27 8 - $30 S1 Hash aggregate table 1 – $21 7 – $20 8 - $8 S0 ----------- 1 1 1 2 2 S1 --------- 4 4 S0 --------- $5 $21 $15 $10 $7 S1 --------- $27 $1054 Aggr Dist Aggr Supplier Nation AcctBal S2 --------- 1 7 7 9 10 S3 --------- 2 4 4 6 9 S2 --------- $15 $1 $12 $10 $3 S3 --------- $7 $1050 $4 $10 $2 S2 Hash aggregate table 1 – $15 7 – $13 9 – $10 10 - $3 S3 Hash aggregate table 2 – $7 4 – $1054 6 – $10 9 = $2 S2 ----------- 6 7 7 S3 --------- 8 8 9 9 10 S2 --------- $10 $20 $13 S3 --------- $30 $8 $10 $2 $3 Node 2Node 1 ... ... Scan S2 Hash aggregate table 6 – $10 7 – $33 S3 Hash aggregate table 8 – $38 9 – $12 10 – $3 S0 Hash aggregate table 1 – $41 2 – $17 S1 Hash aggregate table 4 – $1081 select nation, sum(acctbal) from supplier group by nation; create table supplier ( suppkey int4 not null distkey, name char(25) not null, address varchar(40) not null, nation int4 not null, phone char(15) not null, acctbal numeric(12,2) not null, comment varchar(101) not null ) sortkey (suppkey);
  • 12. Queryの実行例 • TPC-H Q16 select p_brand, p_type, p_size, count(distinct ps_suppkey) as supplier_cnt from partsupp, part where p_partkey = ps_partkey and p_brand <> 'Brand#15' and p_type not like 'STANDARD POLISHED%' and p_size in (3, 8, 49, 19, 29, 9, 47, 32) and ps_suppkey not in ( select s_suppkey from supplier where s_comment like '%Customer%Complaints%' ) group by p_brand, p_type, p_size order by supplier_cnt desc, p_brand, p_type, p_size;
  • 13. Queryの実行例 stm | seg | step | maxtime | avgtime | rows | bytes | label | slices -----+-----+------+-----------------+-----------------+----------+------------+----------------------+-------- 0 | 0 | 0 | 00:00:00.082427 | 00:00:00.047169 | 479 | 37414 | scan tblP =108506 | 32 0 | 0 | 2 | 00:00:00.082427 | 00:00:00.047169 | 479 | 1916 | bcast | 32 0 | 1 | 0 | 00:00:00.099844 | 00:00:00.094777 | 7664 | 30656 | scan fabric=67 | 32 0 | 1 | 2 | 00:00:00.099844 | 00:00:00.094777 | 7664 | 122624 | hash tblT =240 | 32 1 | 2 | 0 | 00:00:00.002559 | 00:00:00.001517 | 0 | 0 | scan tblP =108490 | 32 1 | 2 | 1 | 00:00:00.002559 | 00:00:00.001517 | 0 | 0 | sort tblT =242 | 32 2 | 3 | 0 | 00:00:00.002244 | 00:00:00.001048 | 0 | 0 | scan tblP =108514 | 32 2 | 3 | 1 | 00:00:00.002244 | 00:00:00.001048 | 0 | 0 | sort tblT =244 | 32 3 | 4 | 0 | 00:00:02.231598 | 00:00:01.725522 | 79999318 | 1279989088 | scan tblP =108514 | 32 3 | 4 | 1 | 00:00:02.231598 | 00:00:01.725522 | 0 | 0 | merge | 32 3 | 4 | 5 | 00:00:02.231598 | 00:00:01.725522 | 11885548 | 0 | mjoin tbl =239 | 32 3 | 4 | 8 | 00:00:02.231598 | 00:00:01.725522 | 11879878 | 0 | hjoin tblT =240 | 32 3 | 4 | 11 | 00:00:02.231598 | 00:00:01.725522 | 11879783 | 712462256 | aggr tblT =257 | 32 3 | 4 | 12 | 00:00:02.231598 | 00:00:01.725522 | 11879783 | 565281908 | dist | 32 3 | 5 | 0 | 00:00:02.426613 | 00:00:02.371618 | 11879783 | 569904860 | scan fabric=68 | 32 3 | 5 | 1 | 00:00:02.426613 | 00:00:02.371618 | 11877404 | 712319756 | aggr tblT =260 | 32 4 | 6 | 0 | 00:00:00.192183 | 00:00:00.133277 | 11877404 | 712319756 | scan tblT =260 | 32 4 | 6 | 5 | 00:00:00.192183 | 00:00:00.133277 | 890878 | 56991616 | aggr tblT =265 | 32 4 | 6 | 6 | 00:00:00.192183 | 00:00:00.133277 | 890878 | 45434532 | dist | 32 4 | 7 | 0 | 00:00:00.301407 | 00:00:00.292919 | 890878 | 49864592 | scan fabric=69 | 32 4 | 7 | 1 | 00:00:00.301407 | 00:00:00.292919 | 27840 | 1780992 | aggr tblT =268 | 32 5 | 8 | 0 | 00:00:00.001789 | 00:00:00.001143 | 27840 | 1780992 | scan tblT =268 | 32 5 | 8 | 3 | 00:00:00.001789 | 00:00:00.001143 | 27840 | 1558272 | sort tblT =238 | 32 6 | 9 | 0 | 00:00:00.000595 | 00:00:00.000336 | 27840 | 1558272 | scan tblT =238 | 32 6 | 9 | 1 | 00:00:00.000595 | 00:00:00.000336 | 27840 | 1419844 | return | 32 6 | 10 | 0 | 00:00:00.046609 | 00:00:00.046609 | 27840 | 0 | merge | 1 6 | 10 | 2 | 00:00:00.046609 | 00:00:00.046609 | 0 | 0 | return | 1
  • 14. いぢめないで… select l_partkey, l_extendedprice from lineitem order by 2, 1; stm | seg | step | maxtime | avgtime | rows | bytes | label | slices -----+-----+------+-----------------+-----------------+-----------+-------------+----------------------+-------- 0 | 0 | 0 | 00:00:23.496729 | 00:00:19.806 | 600037902 | 12000758040 | scan tblP =108542 | 32 0 | 0 | 3 | 00:00:23.496729 | 00:00:19.806 | 600037902 | 9600606432 | sort tblT =238 | 32 1 | 1 | 0 | 00:08:29.514698 | 00:08:29.109248 | 600037902 | 9600606432 | scan tblT =238 | 32 1 | 1 | 1 | 00:08:29.514698 | 00:08:29.109248 | 600037902 | 9600474240 | return | 32 1 | 2 | 0 | 00:08:33.764077 | 00:08:33.764077 | 600037902 | 0 | merge | 1 1 | 2 | 2 | 00:08:33.764077 | 00:08:33.764077 | 0 | 0 | return | 1
  • 15. データの持ち方も重要 分散キー (distkey) catid category catgroup catname catdesc distkey Slice 0 Slice 1 catitem catid distkey itemid ソートキー (sortkey) Amazon Buffer Create Drive Enjoy . . . . Xbox You zone Super Final high VACUUM
  • 16. カラムナーDBの十八番、圧縮 エンコード名 キーワード サポートされるデータ型 圧縮の特徴 Byte dictionary BYTEDICT VARCHARとBOOLEAN を除く全て ブロックごとに最大255通りの値を辞書に持たせる ことで1カラム1バイトに圧縮。 Global dictionary GLOBALDICT256, GLOBALDICT64K BOOLEAN以外全て カラム全体で1つの辞書を持つ。256だと255通りの 値を1バイトに、64Kだと65535通りの値を2バイトに 圧縮。 Delta DELTA, DELTA32K SMALLINT (DELTAのみ), INT, BIGINT, DATE, TIMESTAMP, DECIMAL 前の値との差分を格納。差分の値が元データ型の サイズよりも小さければ圧縮可能。 Run-length RUNLENGTH 全て ランレングス圧縮。同一のデータがいくつ連続する かを格納。連続した同一値には高い圧縮率。 LZ (Lempel-Ziv) DEFLATE BOOLEAN, REAL, DOUBLE PRECISION を除く全て LZ法(ZIPなど一般的なファイル圧縮で使われている アルゴリズム)で圧縮。圧縮率は高いが圧縮・展開 のCPU負荷も高い。 Mostly MOSTLY8 SMALLINT, INT, BIGINT, DECIMAL カラム内の値が指定されたデータ型よりも小さいサ イズで格納可能な場合、指定された(元のデータ型 よりも小さい)サイズでデータを格納する。収まらな い場合は元のサイズで格納。 MOSTLY16 INT, BIGINT, DECIMAL MOSTLY32 BIGINT, DECIMAL TEXT255, 32K TEXT255, TEXT32K VARCHARのみ 辞書を使用した圧縮のVARCHAR版。245通りの単 語まで辞書に登録可能。
  • 17. 上手に圧縮、サイズは1/2以下! create table lineitem ( l_orderkey int8 not null encode delta sortkey distkey, l_partkey int4 not null, l_suppkey int4 not null encode mostly16, l_linenumber int4 not null encode mostly8, l_quantity numeric(19,2) not null encode bytedict, l_extendedprice numeric(19,2) not null encode mostly32, l_discount numeric(19,2) not null encode mostly8, l_tax numeric(19,2) not null encode mostly8, l_returnflag char(1) not null encode runlength, l_linestatus char(1) not null encode runlength, l_shipdate date not null encode delta, l_commitdate date not null encode delta, l_receiptdate date not null encode delta, l_shipinstruct char(25) not null encode bytedict, l_shipmode char(10) not null encode bytedict, l_comment varchar(44) not null ); create table lineitem ( l_orderkey int8 not null sortkey distkey, l_partkey int4 not null, l_suppkey int4 not null, l_linenumber int4 not null, l_quantity numeric(19,2) not null, l_extendedprice numeric(19,2) not null, l_discount numeric(19,2) not null, l_tax numeric(19,2) not null, l_returnflag char(1) not null, l_linestatus char(1) not null, l_shipdate date not null, l_commitdate date not null, l_receiptdate date not null, l_shipinstruct char(25) not null, l_shipmode char(10) not null, l_comment varchar(44) not null ); 行数: 600,037,902 40,204 MB 18,900 MB !
  • 18. 隠し味はUDF(ユーザー定義関数) • PL/pgSQLの例 CREATE OR REPLACE FUNCTION f_echo(_text varchar) RETURNS varchar AS $$ BEGIN return _text; END; $$ LANGUAGE plpgsql; • C++の例 #include "padb_udf.hpp" PADB_UDF_VERSION(charcount); extern "C" { padb_udf::int_t charcount ( padb_udf::ScalarArg &aux, padb_udf::varchar_t *target, padb_udf::varchar_t *tst ) { padb_udf::int_t ret = 0; if ( tst->len != 1 ) { aux.throwError( __func__,"probe length must be = 1" ); } char ch = tst->str[0]; for ( padb_udf::len_t ix = 0; ix < target->len; ix++ ) { if ( target->str[ix] == ch ) { ret++; } } return aux.retIntVal( ret ); } } CREATE OR REPLACE FUNCTION charcount (target_string varchar, search_character varchar) RETURNS int AS '/tmp/scalar_charcount.o' LANGUAGE C STABLE; • ユーザーのビジネスロジック組み込み • サードパーティ製分析関数 • ODI(On-Demand Integration)の実現
  • 23. まずはHadoopでデータ加工だ! algorithm_PRON 1991 297 185 algorithm_PRON 1992 325 217 algorithm_PRON 1993 336 235 algorithm_PRON 1994 308 202 algorithm_PRON 1995 331 244 algorithm_PRON 1996 376 243 algorithm_PRON 1997 404 243 algorithm_PRON 1998 404 269 algorithm_PRON 1999 495 295 algorithm_PRON 2000 480 318 algorithm PRON 1991 297 185 algorithm PRON 1992 325 217 algorithm PRON 1993 336 235 algorithm PRON 1994 308 202 algorithm PRON 1995 331 244 algorithm PRON 1996 376 243 algorithm PRON 1997 404 243 algorithm PRON 1998 404 269 algorithm PRON 1999 495 295 algorithm PRON 2000 480 318 単語と品詞を分離したい MapReduceだ!
  • 25. こんなクエリが書けちゃう select word, sum(wordcount) from odi_hadoop_import( with jobname('googlebooks_job') masternode('hadoop01.com') inputdir('/user/dhirama/googlebooksModifyDemo') padb_schema('googlebooksWords') delimiter('¥t') ) where word like 'another%' group by word;