Submit Search
Upload
Treasure Dataを支える技術 - MessagePack編
•
36 likes
•
13,728 views
Taro L. Saito
Follow
Treasure Dataの基本データフォーマットであるMessagePackと、msgpack-javaでの最適化について紹介します。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 42
Download now
Download to read offline
Recommended
KafkaとPulsar
KafkaとPulsar
Yahoo!デベロッパーネットワーク
行ロックと「LOG: process 12345 still waiting for ShareLock on transaction 710 afte...
行ロックと「LOG: process 12345 still waiting for ShareLock on transaction 710 afte...
Masahiko Sawada
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門
Akihiro Kuwano
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
Yoshinori Matsunobu
Vacuum徹底解説
Vacuum徹底解説
Masahiko Sawada
PostgreSQLモニタリング機能の現状とこれから(Open Developers Conference 2020 Online 発表資料)
PostgreSQLモニタリング機能の現状とこれから(Open Developers Conference 2020 Online 発表資料)
NTT DATA Technology & Innovation
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
NTT DATA Technology & Innovation
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
Recommended
KafkaとPulsar
KafkaとPulsar
Yahoo!デベロッパーネットワーク
行ロックと「LOG: process 12345 still waiting for ShareLock on transaction 710 afte...
行ロックと「LOG: process 12345 still waiting for ShareLock on transaction 710 afte...
Masahiko Sawada
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門
Akihiro Kuwano
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
Yoshinori Matsunobu
Vacuum徹底解説
Vacuum徹底解説
Masahiko Sawada
PostgreSQLモニタリング機能の現状とこれから(Open Developers Conference 2020 Online 発表資料)
PostgreSQLモニタリング機能の現状とこれから(Open Developers Conference 2020 Online 発表資料)
NTT DATA Technology & Innovation
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
NTT DATA Technology & Innovation
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方
歩 柴田
AWS で Presto を徹底的に使いこなすワザ
AWS で Presto を徹底的に使いこなすワザ
Noritaka Sekiyama
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
オラクルエンジニア通信
Presto At Treasure Data
Presto At Treasure Data
Taro L. Saito
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
Yuki Morishita
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo!デベロッパーネットワーク
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
Hironobu Suzuki
トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2
Takashi Hoshino
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
dm-writeboost-kernelvm
dm-writeboost-kernelvm
Akira Hayakawa
NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例
Amazon Web Services Japan
Introduction to Storm
Introduction to Storm
Chandler Huang
Oracle Data Guard による高可用性
Oracle Data Guard による高可用性
Yahoo!デベロッパーネットワーク
PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題
NTT DATA OSS Professional Services
Oracle Database Enterprise Edition で解決するデータベースシステムの課題 (12c対応版)
Oracle Database Enterprise Edition で解決するデータベースシステムの課題 (12c対応版)
オラクルエンジニア通信
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
NTT DATA Technology & Innovation
TiDBのトランザクション
TiDBのトランザクション
Akio Mitobe
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
Kentaro Yoshida
これで怖くない!?大規模環境で体験するDB負荷対策~垂直から水平の彼方へ~
これで怖くない!?大規模環境で体験するDB負荷対策~垂直から水平の彼方へ~
hideakikabuto
MySQLレプリケーションあれやこれや
MySQLレプリケーションあれやこれや
yoku0825
並列データベースシステムの概念と原理
並列データベースシステムの概念と原理
Makoto Yui
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
Yoshifumi Kawai
More Related Content
What's hot
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方
歩 柴田
AWS で Presto を徹底的に使いこなすワザ
AWS で Presto を徹底的に使いこなすワザ
Noritaka Sekiyama
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
オラクルエンジニア通信
Presto At Treasure Data
Presto At Treasure Data
Taro L. Saito
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
Yuki Morishita
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo!デベロッパーネットワーク
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
Hironobu Suzuki
トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2
Takashi Hoshino
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
dm-writeboost-kernelvm
dm-writeboost-kernelvm
Akira Hayakawa
NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例
Amazon Web Services Japan
Introduction to Storm
Introduction to Storm
Chandler Huang
Oracle Data Guard による高可用性
Oracle Data Guard による高可用性
Yahoo!デベロッパーネットワーク
PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題
NTT DATA OSS Professional Services
Oracle Database Enterprise Edition で解決するデータベースシステムの課題 (12c対応版)
Oracle Database Enterprise Edition で解決するデータベースシステムの課題 (12c対応版)
オラクルエンジニア通信
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
NTT DATA Technology & Innovation
TiDBのトランザクション
TiDBのトランザクション
Akio Mitobe
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
Kentaro Yoshida
これで怖くない!?大規模環境で体験するDB負荷対策~垂直から水平の彼方へ~
これで怖くない!?大規模環境で体験するDB負荷対策~垂直から水平の彼方へ~
hideakikabuto
MySQLレプリケーションあれやこれや
MySQLレプリケーションあれやこれや
yoku0825
What's hot
(20)
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方
AWS で Presto を徹底的に使いこなすワザ
AWS で Presto を徹底的に使いこなすワザ
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
Presto At Treasure Data
Presto At Treasure Data
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
dm-writeboost-kernelvm
dm-writeboost-kernelvm
NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例
Introduction to Storm
Introduction to Storm
Oracle Data Guard による高可用性
Oracle Data Guard による高可用性
PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題
Oracle Database Enterprise Edition で解決するデータベースシステムの課題 (12c対応版)
Oracle Database Enterprise Edition で解決するデータベースシステムの課題 (12c対応版)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
TiDBのトランザクション
TiDBのトランザクション
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
これで怖くない!?大規模環境で体験するDB負荷対策~垂直から水平の彼方へ~
これで怖くない!?大規模環境で体験するDB負荷対策~垂直から水平の彼方へ~
MySQLレプリケーションあれやこれや
MySQLレプリケーションあれやこれや
Viewers also liked
並列データベースシステムの概念と原理
並列データベースシステムの概念と原理
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
Viewers also liked
(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
Similar to Treasure Dataを支える技術 - MessagePack編
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
Insight Technology, Inc.
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Treasure Data, 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
Similar to Treasure Dataを支える技術 - MessagePack編
(20)
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
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!!
More from 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
More from 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
Recently uploaded
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
Recently uploaded
(9)
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
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
Download now