Enviar pesquisa
Carregar
Treasure Dataを支える技術 - MessagePack編
•
36 gostaram
•
13,728 visualizações
Taro L. Saito
Seguir
Treasure Dataの基本データフォーマットであるMessagePackと、msgpack-javaでの最適化について紹介します。
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 42
Baixar agora
Baixar para ler offline
Recomendados
Plazma - Treasure Data’s distributed analytical database -
Plazma - Treasure Data’s distributed analytical database -
Treasure Data, Inc.
Parser combinatorってなんなのさ
Parser combinatorってなんなのさ
cct-inc
Writing Spring WebFlux more esay with kotlin
Writing Spring WebFlux more esay with kotlin
賢太郎 前多
검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민
종민 김
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
Masatoshi Tada
파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)
Heungsub Lee
計算量のはなし(Redisを使うなら必読!O(logN)など)
計算量のはなし(Redisを使うなら必読!O(logN)など)
Makoto SAKAI
Recomendados
Plazma - Treasure Data’s distributed analytical database -
Plazma - Treasure Data’s distributed analytical database -
Treasure Data, Inc.
Parser combinatorってなんなのさ
Parser combinatorってなんなのさ
cct-inc
Writing Spring WebFlux more esay with kotlin
Writing Spring WebFlux more esay with kotlin
賢太郎 前多
검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민
종민 김
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
Masatoshi Tada
파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)
Heungsub Lee
計算量のはなし(Redisを使うなら必読!O(logN)など)
計算量のはなし(Redisを使うなら必読!O(logN)など)
Makoto SAKAI
アプリを成長させるためのログ取りとログ解析に必要なこと
アプリを成長させるためのログ取りとログ解析に必要なこと
Takao Sumitomo
차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js
차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js
HeeJung Hwang
JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」
JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」
Junichiro Kazama
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Treasure Data, Inc.
ドメイン駆動設計入門
ドメイン駆動設計入門
Takuya Kitamura
Amazon DynamoDB(初心者向け 超速マスター編)JAWSUG大阪
Amazon DynamoDB(初心者向け 超速マスター編)JAWSUG大阪
崇之 清水
Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (DAT321) ...
Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (DAT321) ...
Amazon Web Services
ぼくがAthenaで死ぬまで
ぼくがAthenaで死ぬまで
Shinichi Takahashi
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Chihiro Ito
JVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニング
佑哉 廣岡
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
(SDD411) Amazon CloudSearch Deep Dive and Best Practices | AWS re:Invent 2014
(SDD411) Amazon CloudSearch Deep Dive and Best Practices | AWS re:Invent 2014
Amazon Web Services
Presto At Treasure Data
Presto At Treasure Data
Taro L. Saito
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方
増田 亨
ユースケース駆動開発のワークショップやってみた!
ユースケース駆動開発のワークショップやってみた!
Tomoe Sawai
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみた
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみた
Narami Kiyokura
An Insider’s Guide to Maximizing Spark SQL Performance
An Insider’s Guide to Maximizing Spark SQL Performance
Takuya UESHIN
HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ
HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ
LINE Corporation
[수정본] 우아한 객체지향
[수정본] 우아한 객체지향
Young-Ho Cho
webservice scaling for newbie
webservice scaling for newbie
DaeMyung Kang
並列データベースシステムの概念と原理
並列データベースシステムの概念と原理
Makoto Yui
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
Yoshifumi Kawai
Mais conteúdo relacionado
Mais procurados
アプリを成長させるためのログ取りとログ解析に必要なこと
アプリを成長させるためのログ取りとログ解析に必要なこと
Takao Sumitomo
차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js
차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js
HeeJung Hwang
JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」
JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」
Junichiro Kazama
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Treasure Data, Inc.
ドメイン駆動設計入門
ドメイン駆動設計入門
Takuya Kitamura
Amazon DynamoDB(初心者向け 超速マスター編)JAWSUG大阪
Amazon DynamoDB(初心者向け 超速マスター編)JAWSUG大阪
崇之 清水
Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (DAT321) ...
Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (DAT321) ...
Amazon Web Services
ぼくがAthenaで死ぬまで
ぼくがAthenaで死ぬまで
Shinichi Takahashi
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Chihiro Ito
JVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニング
佑哉 廣岡
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
(SDD411) Amazon CloudSearch Deep Dive and Best Practices | AWS re:Invent 2014
(SDD411) Amazon CloudSearch Deep Dive and Best Practices | AWS re:Invent 2014
Amazon Web Services
Presto At Treasure Data
Presto At Treasure Data
Taro L. Saito
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方
増田 亨
ユースケース駆動開発のワークショップやってみた!
ユースケース駆動開発のワークショップやってみた!
Tomoe Sawai
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみた
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみた
Narami Kiyokura
An Insider’s Guide to Maximizing Spark SQL Performance
An Insider’s Guide to Maximizing Spark SQL Performance
Takuya UESHIN
HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ
HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ
LINE Corporation
[수정본] 우아한 객체지향
[수정본] 우아한 객체지향
Young-Ho Cho
webservice scaling for newbie
webservice scaling for newbie
DaeMyung Kang
Mais procurados
(20)
アプリを成長させるためのログ取りとログ解析に必要なこと
アプリを成長させるためのログ取りとログ解析に必要なこと
차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js
차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js
JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」
JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
ドメイン駆動設計入門
ドメイン駆動設計入門
Amazon DynamoDB(初心者向け 超速マスター編)JAWSUG大阪
Amazon DynamoDB(初心者向け 超速マスター編)JAWSUG大阪
Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (DAT321) ...
Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (DAT321) ...
ぼくがAthenaで死ぬまで
ぼくがAthenaで死ぬまで
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
JVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニング
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
(SDD411) Amazon CloudSearch Deep Dive and Best Practices | AWS re:Invent 2014
(SDD411) Amazon CloudSearch Deep Dive and Best Practices | AWS re:Invent 2014
Presto At Treasure Data
Presto At Treasure Data
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方
ユースケース駆動開発のワークショップやってみた!
ユースケース駆動開発のワークショップやってみた!
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみた
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみた
An Insider’s Guide to Maximizing Spark SQL Performance
An Insider’s Guide to Maximizing Spark SQL Performance
HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ
HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ
[수정본] 우아한 객체지향
[수정본] 우아한 객체지향
webservice scaling for newbie
webservice scaling for newbie
Destaque
並列データベースシステムの概念と原理
並列データベースシステムの概念と原理
Makoto Yui
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
Yoshifumi Kawai
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Yoshifumi Kawai
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
Yoshifumi Kawai
RuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for Unity
Yoshifumi Kawai
Embulk, an open-source plugin-based parallel bulk data loader
Embulk, an open-source plugin-based parallel bulk data loader
Sadayuki Furuhashi
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#
Yoshifumi Kawai
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
Yoshifumi Kawai
Fluentd meetup #2
Fluentd meetup #2
Treasure Data, Inc.
爆速クエリエンジン”Presto”を使いたくなる話
爆速クエリエンジン”Presto”を使いたくなる話
Kentaro Yoshida
Presto - Hadoop Conference Japan 2014
Presto - Hadoop Conference Japan 2014
Sadayuki Furuhashi
Protocol Buffers 入門
Protocol Buffers 入門
Yuichi Ito
How to Run a Post-Mortem (With Humans, Not Robots), Velocity 2013
How to Run a Post-Mortem (With Humans, Not Robots), Velocity 2013
Dan Milstein
TwitterのStreaming APIについて
TwitterのStreaming APIについて
Hidenori Goto
おひろめ会:Javaにおけるデータシリアライズ手法
おひろめ会:Javaにおけるデータシリアライズ手法
moai kids
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月
Takashi Someda
10分で分かるデータストレージ
10分で分かるデータストレージ
Takashi Hoshino
Javaにおけるデータシリアライズと圧縮
Javaにおけるデータシリアライズと圧縮
moai kids
OData って何?
OData って何?
Yoshitaka Seo
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps
MITSUNARI Shigeo
Destaque
(20)
並列データベースシステムの概念と原理
並列データベースシステムの概念と原理
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
RuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for Unity
Embulk, an open-source plugin-based parallel bulk data loader
Embulk, an open-source plugin-based parallel bulk data loader
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
Fluentd meetup #2
Fluentd meetup #2
爆速クエリエンジン”Presto”を使いたくなる話
爆速クエリエンジン”Presto”を使いたくなる話
Presto - Hadoop Conference Japan 2014
Presto - Hadoop Conference Japan 2014
Protocol Buffers 入門
Protocol Buffers 入門
How to Run a Post-Mortem (With Humans, Not Robots), Velocity 2013
How to Run a Post-Mortem (With Humans, Not Robots), Velocity 2013
TwitterのStreaming APIについて
TwitterのStreaming APIについて
おひろめ会:Javaにおけるデータシリアライズ手法
おひろめ会:Javaにおけるデータシリアライズ手法
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月
10分で分かるデータストレージ
10分で分かるデータストレージ
Javaにおけるデータシリアライズと圧縮
Javaにおけるデータシリアライズと圧縮
OData って何?
OData って何?
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps
Semelhante a Treasure Dataを支える技術 - MessagePack編
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
Insight Technology, Inc.
Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例
Taro L. Saito
トレジャーデータ新サービス発表 2013/12/9
トレジャーデータ新サービス発表 2013/12/9
Treasure Data, Inc.
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
Masahiro Nagano
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
terurou
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
Dai Utsui
Apache Drill を利用した実データの分析
Apache Drill を利用した実データの分析
MapR Technologies Japan
AWS Black Belt Techシリーズ AWS Data Pipeline
AWS Black Belt Techシリーズ AWS Data Pipeline
Amazon Web Services Japan
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
Apache Drill Overview - Tokyo Apache Drill Meetup 2015/09/15
Apache Drill Overview - Tokyo Apache Drill Meetup 2015/09/15
MapR Technologies Japan
Spark Streaming の基本とスケールする時系列データ処理 - Spark Meetup December 2015/12/09
Spark Streaming の基本とスケールする時系列データ処理 - Spark Meetup December 2015/12/09
MapR Technologies Japan
【Jpug勉強会】10大ニュースで振り返るpg con2013
【Jpug勉強会】10大ニュースで振り返るpg con2013
Daichi Egawa
OpenStack Object Storage; Usage
OpenStack Object Storage; Usage
irix_jp
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
Hadoop / Spark Conference Japan
Data Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdays
Kenta Suzuki
Data Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdays
VOYAGE GROUP
10大ニュースで振り返るpg con2013
10大ニュースで振り返るpg con2013
NTT DATA OSS Professional Services
Treasure Data Intro for Data Enthusiast!!
Treasure Data Intro for Data Enthusiast!!
Takahiro Inoue
ConsulとNomadで簡単クッキング
ConsulとNomadで簡単クッキング
Masatomo Ito
Semelhante a Treasure Dataを支える技術 - MessagePack編
(20)
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例
トレジャーデータ新サービス発表 2013/12/9
トレジャーデータ新サービス発表 2013/12/9
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
Apache Drill を利用した実データの分析
Apache Drill を利用した実データの分析
AWS Black Belt Techシリーズ AWS Data Pipeline
AWS Black Belt Techシリーズ AWS Data Pipeline
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
Apache Drill Overview - Tokyo Apache Drill Meetup 2015/09/15
Apache Drill Overview - Tokyo Apache Drill Meetup 2015/09/15
Spark Streaming の基本とスケールする時系列データ処理 - Spark Meetup December 2015/12/09
Spark Streaming の基本とスケールする時系列データ処理 - Spark Meetup December 2015/12/09
【Jpug勉強会】10大ニュースで振り返るpg con2013
【Jpug勉強会】10大ニュースで振り返るpg con2013
OpenStack Object Storage; Usage
OpenStack Object Storage; Usage
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
Data Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdays
10大ニュースで振り返るpg con2013
10大ニュースで振り返るpg con2013
Treasure Data Intro for Data Enthusiast!!
Treasure Data Intro for Data Enthusiast!!
ConsulとNomadで簡単クッキング
ConsulとNomadで簡単クッキング
Mais de Taro L. Saito
Unifying Frontend and Backend Development with Scala - ScalaCon 2021
Unifying Frontend and Backend Development with Scala - ScalaCon 2021
Taro L. Saito
Journey of Migrating 1 Million Presto Queries - Presto Webinar 2020
Journey of Migrating 1 Million Presto Queries - Presto Webinar 2020
Taro L. Saito
Scala for Everything: From Frontend to Backend Applications - Scala Matsuri 2020
Scala for Everything: From Frontend to Backend Applications - Scala Matsuri 2020
Taro L. Saito
Airframe RPC
Airframe RPC
Taro L. Saito
td-spark internals: Extending Spark with Airframe - Spark Meetup Tokyo #3 2020
td-spark internals: Extending Spark with Airframe - Spark Meetup Tokyo #3 2020
Taro L. Saito
Airframe Meetup #3: 2019 Updates & AirSpec
Airframe Meetup #3: 2019 Updates & AirSpec
Taro L. Saito
Presto At Arm Treasure Data - 2019 Updates
Presto At Arm Treasure Data - 2019 Updates
Taro L. Saito
Reading The Source Code of Presto
Reading The Source Code of Presto
Taro L. Saito
How To Use Scala At Work - Airframe In Action at Arm Treasure Data
How To Use Scala At Work - Airframe In Action at Arm Treasure Data
Taro L. Saito
Airframe: Lightweight Building Blocks for Scala - Scale By The Bay 2018
Airframe: Lightweight Building Blocks for Scala - Scale By The Bay 2018
Taro L. Saito
Airframe: Lightweight Building Blocks for Scala @ TD Tech Talk 2018-10-17
Airframe: Lightweight Building Blocks for Scala @ TD Tech Talk 2018-10-17
Taro L. Saito
Tips For Maintaining OSS Projects
Tips For Maintaining OSS Projects
Taro L. Saito
Learning Silicon Valley Culture
Learning Silicon Valley Culture
Taro L. Saito
Scala at Treasure Data
Scala at Treasure Data
Taro L. Saito
Introduction to Presto at Treasure Data
Introduction to Presto at Treasure Data
Taro L. Saito
Workflow Hacks #1 - dots. Tokyo
Workflow Hacks #1 - dots. Tokyo
Taro L. Saito
Presto @ Treasure Data - Presto Meetup Boston 2015
Presto @ Treasure Data - Presto Meetup Boston 2015
Taro L. Saito
JNuma Library
JNuma Library
Taro L. Saito
Presto as a Service - Tips for operation and monitoring
Presto as a Service - Tips for operation and monitoring
Taro L. Saito
Weaving Dataflows with Silk - ScalaMatsuri 2014, Tokyo
Weaving Dataflows with Silk - ScalaMatsuri 2014, Tokyo
Taro L. Saito
Mais de Taro L. Saito
(20)
Unifying Frontend and Backend Development with Scala - ScalaCon 2021
Unifying Frontend and Backend Development with Scala - ScalaCon 2021
Journey of Migrating 1 Million Presto Queries - Presto Webinar 2020
Journey of Migrating 1 Million Presto Queries - Presto Webinar 2020
Scala for Everything: From Frontend to Backend Applications - Scala Matsuri 2020
Scala for Everything: From Frontend to Backend Applications - Scala Matsuri 2020
Airframe RPC
Airframe RPC
td-spark internals: Extending Spark with Airframe - Spark Meetup Tokyo #3 2020
td-spark internals: Extending Spark with Airframe - Spark Meetup Tokyo #3 2020
Airframe Meetup #3: 2019 Updates & AirSpec
Airframe Meetup #3: 2019 Updates & AirSpec
Presto At Arm Treasure Data - 2019 Updates
Presto At Arm Treasure Data - 2019 Updates
Reading The Source Code of Presto
Reading The Source Code of Presto
How To Use Scala At Work - Airframe In Action at Arm Treasure Data
How To Use Scala At Work - Airframe In Action at Arm Treasure Data
Airframe: Lightweight Building Blocks for Scala - Scale By The Bay 2018
Airframe: Lightweight Building Blocks for Scala - Scale By The Bay 2018
Airframe: Lightweight Building Blocks for Scala @ TD Tech Talk 2018-10-17
Airframe: Lightweight Building Blocks for Scala @ TD Tech Talk 2018-10-17
Tips For Maintaining OSS Projects
Tips For Maintaining OSS Projects
Learning Silicon Valley Culture
Learning Silicon Valley Culture
Scala at Treasure Data
Scala at Treasure Data
Introduction to Presto at Treasure Data
Introduction to Presto at Treasure Data
Workflow Hacks #1 - dots. Tokyo
Workflow Hacks #1 - dots. Tokyo
Presto @ Treasure Data - Presto Meetup Boston 2015
Presto @ Treasure Data - Presto Meetup Boston 2015
JNuma Library
JNuma Library
Presto as a Service - Tips for operation and monitoring
Presto as a Service - Tips for operation and monitoring
Weaving Dataflows with Silk - ScalaMatsuri 2014, Tokyo
Weaving Dataflows with Silk - ScalaMatsuri 2014, Tokyo
Último
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
Último
(9)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Treasure Dataを支える技術 - MessagePack編
1.
Treasure Dataを支える技術 -
MessagePack編 Taro L. Saito, Treasure Data leo@treasure-data.com December 11, 2014 ビッグデータ基盤勉強会@NTT武蔵野開発センター Copyright ©2014 Treasure Data. All Rights Reserved.
2.
自己紹介 @taroleo •
2002 東京大学 理学部 情報科学科卒 • 2007 Ph.D. – XMLデータベース(SIGMOD’08)、トランザクション処理の研究 • ~ 2014 東京大学 情報生命科学専攻 助教 – ゲノムサイエンス研究 • 大規模データ処理、並列・分散コンピューティング • 2014.3月~ Treasure Data – ソフトウェアエンジニア, MPP Team Leader Copyright ©2014 Treasure Data. All Rights Reserved. 2
3.
「データベース」に関連するオープンソース活動 • sqlite-jdbc
– SQLite DBMS for Java – 1ファイル=1DB Copyright ©2014 Treasure Data. All Rights Reserved. • snappy-java – 高速圧縮ライブラリ – 月に10万回以上ダウンロード – Sparkでも採用 • msgpack-java • UT Genome Browser (UTGB) – 大規模ゲノム情報の可視化 3
4.
Treasure Dataとは? •
米シリコンバレー発日本人創業のビッグデータ関連企業 – 2011年12月、米Mountain Viewにて創業 – 2012年11月、東京丸の内に日本支社設立 • クラウド型データマネージメントサービス「Treasure Data Service」を提供 Copyright ©2014 Treasure Data. All Rights Reserved. 4 芳川裕誠 – CEO Open source business veteran 太田一樹 – CTO Founder of world’s largest Hadoop Group 主要投資家 Sierra Ventures – (Tim Guleri) 企業向けソフト・データベース領域での有力VC Bill Tai Charles River Ventures, Twitterなどに投資 まつもとゆきひろ Ruby言語開発者 創業者 Jerry Yang Yahoo! Inc. 創業者 古橋貞之 – Software Engineer MessagePack, Fluentd開発者
5.
Treasure Data Service
ビッグデータのための「クラウド + マネジメント」一体型サービス データ収集~保存~分析までワンストップでサポート Copyright ©2014 Treasure Data. All Rights Reserved. 5 • 毎日数百億規模のレコードが取り込まれている – 2014年5月に5兆(trillion)レコードに到達 • SQLベース(Hive, Presto, Pigなど)による検索サービスを提供
6.
Impressive Momentum Copyright
©2014 Treasure Data. All Rights Reserved. 7000 6000 5000 4000 3000 2000 1000 0 Data Growth in Billions Data (records) Imported Service Launched 4 Trillion 3 Trillion 1 Trillion 5 Trillion 2 Trillion Series A Funding Gartner Cool 100 Customers Vendor Report 6
7.
Copyright ©2014 Treasure
Data. All Rights Reserved. 7
8.
Over 100 customers,
including: Copyright ©2014 Treasure Data. All Rights Reserved. 8
9.
Claremont Report on
Database Research • データベースの研究者、ユーザー、 識者が今後のDBMSについて議論 – CACM, Vol. 52 No. 6, 2009 • Cloud Data Serviceの発展を予測 – SQLの重要な役割 • 機能を制限できる • サービスとして提供するには好都合 – 難しい例:Spark • 任意のコードを実行させるためのセ キュアなコンテナ開発が別途必要 Copyright ©2014 Treasure Data. All Rights Reserved. 9
10.
Beckman Report on
Database Research • 2013年版 – http://beckman.cs.wisc.edu/beckman-report2013.pdf – ほぼ全面Big Dataについての話題 Copyright ©2014 Treasure Data. All Rights Reserved. • End-to-end – データの収集から、knowledgeまで生み出す • Cloud Serviceの普及 – IaaS, PaaS, SaaS – DBMSの全てをクラウドで、という理想にはまだ到達していない • DB教育にも言及 – 70, 80年代のシステムの紹介から脱するべき – DBの技術は、分散システム、Hadoopなど他分野にも価値があることを理 解すべき 10
11.
Big Data Simplified:
The Treasure Data Approach Infinite & Economical Cloud Data Store Treasure Agent Treasure Agent Copyright ©2014 Treasure Data. All Rights Reserved. SQL SQL-based Dashboards Results Push Results Push App Servers Multi-structured Events! • register! • login! • start_event! • purchase! • etc! DBs & Data Marts SQL-based Ad-hoc Queries Other Apps Familiar & Table-oriented ü App log data! ü Mobile event data! ü Sensor data! ü Telemetry! Web SDK Mobile SDKs Treasure Agent structured Events Treasure Agent Multi-structured Events Multi-Treasure Agent Treasure Agent Treasure Agent Treasure Agent Embedded SDKs Server-side Agents 11
12.
Treasure Dataの基盤技術 •
データを「正しく集める」 Copyright ©2014 Treasure Data. All Rights Reserved. – Fluentd • ログコレクター • タグ -> JSON or MessagePack形式のログ(データ) – PlazmaDB • Columnar DB • MessagePack + Compression • データを「手軽に解析する」 – クラウド上での分散クエリエンジン • Hive, Presto, Pigベース 12
13.
Fluentd: データを正しく集めるための入り口 •
基本:JSON・MessagePack形式のデータを受け取る – 種々のinput/output plugin • メッセージのルーティング – メッセージに付けられたタグ毎に送り先を切り替えられる Copyright ©2014 Treasure Data. All Rights Reserved. 13 fluentd.org
14.
Multi-structured Events Copyright
©2014 Treasure Data. All Rights Reserved. Multi-structured Events Agent Server-side Agents! Javascript SDK! Collectors Mobile / Embedded SDKs! Web File Uploader! Bulk Loader Bulk Importers! Small Files For the latest list http://docs.treasuredata.com 14
15.
TDのバックエンドストレージ import SQL
Query • Real-Time Storage – 直近のデータ (MessagePack format) Copyright ©2014 Treasure Data. All Rights Reserved. • Archive Storage – 過去のデータ, MapReduceでcolumnarに分解、圧縮 (MessagePack + gzipなど) – もともとのサイズ(json形式)の10分の1程度になる 15 Real-time Storage Archive Storage 23c82b0ba3405d4c15aa85d2190e 6d7b1482412ab14f0332b8aee119 8a7bc848b2791b8fd603c719e54f 0e3d402b17638477c9a7977e7dab ... 2012-10-08 00:23:00 912ec80 2012-10-09 00:01:00 277a259 ... 1時間毎にmerge
16.
Object Storage +
Index import SQL Query Copyright ©2014 Treasure Data. All Rights Reserved. • Storage – Amazon S3を利用。S3互換のRiak CS (Basho)も利用できる – HTTP経由のデータ通信 • Object Index: PostgreSQLを使用 – S3ファイルのリスト列挙操作は遅いため – ユーザー毎、時系列毎の範囲で検索するためにGiST indexを利用 16 Real-time Storage Archive Storage 23c82b0ba3405d4c15aa85d2190e 6d7b1482412ab14f0332b8aee119 8a7bc848b2791b8fd603c719e54f 0e3d402b17638477c9a7977e7dab ... 2012-10-08 00:23:00 912ec80 2012-10-09 00:01:00 277a259 ... 1時間毎にmerge
17.
Copyright ©2014 Treasure
Data. All Rights Reserved. PlazmaDB 17
18.
time ip :
string code : int action : string 2014-09-21 10:14:33 135.52.211.23 15 upload 2014-09-21 10:14:33 45.25.38.156 -1 temp 2014-09-21 10:14:34 97.12.76.55 99 null 2014-09-21 10:14:36 76.121.9.35 21 event Collectors PlazmaDB Copyright ©2014 Treasure Data. All Rights Reserved. Agent ü Familiar Tables 18
19.
time ip :
string code : int action : string 2014-09-21 10:14:33 135.52.211.23 15 upload 2014-09-21 10:14:33 45.25.38.156 -1 temp 2014-09-21 10:14:34 97.12.76.55 99 null 2014-09-21 10:14:36 76.121.9.35 21 event 2014-09-21 11:27:41 97.12.76.55 99 null 2014-09-21 11:27:42 45.25.38.156 -1 temp 2014-09-21 11:27:42 135.52.211.23 15 upload 2014-09-21 12:02:18 97.12.76.55 99 null 2014-09-21 12:02:18 45.25.38.156 -1 temp 2014-09-21 12:02:19 135.52.211.23 15 upload Collectors ü Familiar Tables ü Time-based Partitioning Copyright ©2014 Treasure Data. All Rights Reserved. Agent Query Partition Pruning PlazmaDB 19
20.
time ip :
string code : int action : string status : string 2014-09-21 10:14:33 135.52.211.23 15 upload null 2014-09-21 10:14:33 45.25.38.156 -1 temp null 2014-09-21 10:14:34 97.12.76.55 99 null null 2014-09-21 10:14:36 76.121.9.35 21 event null 2014-09-21 11:27:41 97.12.76.55 99 null null 2014-09-21 11:27:42 45.25.38.156 -1 temp null 2014-09-21 11:27:42 135.52.211.23 15 upload null 2014-09-21 12:02:18 97.12.76.55 99 null null 2014-09-21 12:02:18 45.25.38.156 -1 temp null 2014-09-21 12:02:19 135.52.211.23 15 upload null 2014-09-21 12:03:24 76.34.123.54 13 status ok 2014-09-21 12:03:25 92.67.7.113 13 status error 2014-09-21 12:04:51 135.52.211.23 15 upload null Collectors PlazmaDB ü Familiar Tables ü Time-based Partitioning ü Schema-Flexible Copyright ©2014 Treasure Data. All Rights Reserved. Agent 20
21.
MessagePack Copyright ©2014
Treasure Data. All Rights Reserved. 21 • レコードはMessagePack形式 • 入力時のデータ型はそのまま保存 – intやstring型のデータが列中に混在した状況でも使える PlazmaDBがスキーマに合わせて自動型変換を行う
22.
MessagePack Format Types
• 0x00 ~ 0x7f int Copyright ©2014 Treasure Data. All Rights Reserved. – 1 byte • 0xe0 ~ 0xff neg int – 1 byte • Support fixed/variable length data 22
23.
Dynamic Data Type
Conversion SELECT 54 (int) (Explicit) Schema user:int name:string value:int Copyright ©2014 Treasure Data. All Rights Reserved. 23 NULL {“user”:54, “name”:”test”, “value”:”120”, “host”:”local”} データ(JSON) “test” (string) 120 (int) host:int
24.
Implicit / Explicit
Schema • Implicit Schema – スキーマは自動的に付与される – 入力されたデータ列から自動的に決定 – ユーザーはスキーマ定義なしにデータを放り込める • Explicit Schema – 明示的にカラムに型を設定できる • 変換可能でない場合はNULLとして出力される – スキーマ変更への柔軟さ Copyright ©2014 Treasure Data. All Rights Reserved. 24
25.
Non-1NF Type (NF^2)
Support • Array types Copyright ©2014 Treasure Data. All Rights Reserved. – [1, 2, … ] • Map types – {id:1, name:leo, address:[xxxx, yyyy]} • In SQL – JSON-based interface 25
26.
msgpack-java Copyright ©2014
Treasure Data. All Rights Reserved. 26
27.
MessagePacker Copyright ©2014
Treasure Data. All Rights Reserved. 27
28.
MessageUnpacker Copyright ©2014
Treasure Data. All Rights Reserved. 28
29.
msgpack-java: Implementation Details
Copyright ©2014 Treasure Data. All Rights Reserved. 29
30.
Copyright ©2014 Treasure
Data. All Rights Reserved. • https://github.com/msgpack/msgpack-java/ 30
31.
MessagePackの高速化 • なぜ高速化するのか?
• 例:2割速くなる => マシン台数を2割減らせる – 大幅なコストダウン • クエリ処理も速くなる – 全体のスループット向上 Copyright ©2014 Treasure Data. All Rights Reserved. 31
32.
MessageBuffer • 内部用buffer
• Javaのheapメモリに直接アクセス • sun.misc.Unsafe – byte[]中の任意の位置のデータを特定 のprimitive typeにcastできる – JavaでDBを作りたいなら必須の機能 Copyright ©2014 Treasure Data. All Rights Reserved. 32
33.
UnsafeでCに匹敵するメモリアクセス性能を出せる • http://frsyuki.hatenablog.com/entry/2014/03/12/155231
Copyright ©2014 Treasure Data. All Rights Reserved. 33
34.
なぜByteBufferは遅いのか? • 良いプログラミング作法
– interfaceを定義して、派生クラスによる実装を用意する – 例: ByteBufferにはHeapByteBuffer, DirectByteBufferなどの実装がクラ スパスに存在 • 現実:TypeProfile – どの派生クラスのコードが呼び出されるか実行時に判定 – JVMでTypeProfileが生成され、table lookupのコストが余計に必要 – 遅くなる! • MessageBufferのlittle endian版はTypeProfileを生成しないので高速 Copyright ©2014 Treasure Data. All Rights Reserved. 34
35.
Format Typeの確認 •
Unpackerで必要 – prefixを1 byte 読んで データタイプを判定 Copyright ©2014 Treasure Data. All Rights Reserved. • 自然な実装 – switch-case • ANTLRが生成するlexer/ parserはこのパターンの コード 35
36.
Format Typeの確認 •
lookup tableを作成 - cacheの活用 – 20000x faster! Copyright ©2014 Treasure Data. All Rights Reserved. 36
37.
2x performance improvement
in v07 Copyright ©2014 Treasure Data. All Rights Reserved. 37
38.
MessagePack v07 •
Value interface – Integer, Float, Array, Map, ExtendedValue, etc. – Query Result -> Value -> ResultOutput • TDではクエリ結果(Valueで表現)をCSV, JSON, S3, RDBMS, Tableau Server 用フォーマットなどに変換して出力している • msgpack-jackson – オブジェクトデータをMessagePack形式でserialize/deserialize – v06にあったコード生成テンプレート機能 • 廃止へ • 維持が大変、javassistで生成されるコードをクラスローダーに読ませる部分 が難しいなど、様々な課題 Copyright ©2014 Treasure Data. All Rights Reserved. 38
39.
MessagePack Hackathon at
Silicon Valley • SV – @frsyuki – @oza_x86 – @hkmurakami – @taroleo Copyright ©2014 Treasure Data. All Rights Reserved. • JP – @komamitsu 39
40.
Copyright ©2014 Treasure
Data. All Rights Reserved. 40
41.
Copyright ©2014 Treasure
Data. All Rights Reserved. 41
42.
Treasure Dataが目指すもの •
「世の中の誰もが手軽にデータベースを使える」ようにする • まずは誰もが「データを手軽に正しく集められる」ように – Fluentd+msgpackで柔軟にデータを取り込む • そして誰もが「データを手軽に解析」できる ように – 分散SQLエンジン • Hive, Presto – plazmadbによるcolumnar storage, MessagePack Copyright ©2014 Treasure Data. All Rights Reserved. • A lot more … WE ARE HIRING! 42
Baixar agora