Enviar búsqueda
Cargar
おひろめ会:Javaにおけるデータシリアライズ手法
•
Descargar como KEY, PDF
•
16 recomendaciones
•
5,740 vistas
moai kids
Seguir
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 84
Descargar ahora
Recomendados
Javaにおけるデータシリアライズと圧縮
Javaにおけるデータシリアライズと圧縮
moai kids
Serialization (Avro, Message Pack, Kryo)
Serialization (Avro, Message Pack, Kryo)
오석 한
Treasure Dataを支える技術 - MessagePack編
Treasure Dataを支える技術 - MessagePack編
Taro L. Saito
Best Practices for Using Apache Spark on AWS
Best Practices for Using Apache Spark on AWS
Amazon Web Services
小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみた
JubatusOfficial
単語コレクター(文章自動校正器)
単語コレクター(文章自動校正器)
JubatusOfficial
jubarecommenderの紹介
jubarecommenderの紹介
JubatusOfficial
新聞から今年の漢字を予測する
新聞から今年の漢字を予測する
JubatusOfficial
Recomendados
Javaにおけるデータシリアライズと圧縮
Javaにおけるデータシリアライズと圧縮
moai kids
Serialization (Avro, Message Pack, Kryo)
Serialization (Avro, Message Pack, Kryo)
오석 한
Treasure Dataを支える技術 - MessagePack編
Treasure Dataを支える技術 - MessagePack編
Taro L. Saito
Best Practices for Using Apache Spark on AWS
Best Practices for Using Apache Spark on AWS
Amazon Web Services
小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみた
JubatusOfficial
単語コレクター(文章自動校正器)
単語コレクター(文章自動校正器)
JubatusOfficial
jubarecommenderの紹介
jubarecommenderの紹介
JubatusOfficial
新聞から今年の漢字を予測する
新聞から今年の漢字を予測する
JubatusOfficial
jubabanditの紹介
jubabanditの紹介
JubatusOfficial
かまってちゃん小町
かまってちゃん小町
JubatusOfficial
Jubatus 新機能ハイライト
Jubatus 新機能ハイライト
JubatusOfficial
JubaQLご紹介
JubaQLご紹介
JubatusOfficial
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
JubatusOfficial
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
JubatusOfficial
Jubaanomalyについて
Jubaanomalyについて
JubatusOfficial
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
JubatusOfficial
Jubakit の紹介
Jubakit の紹介
kmaehashi
発言小町からのプロファイリング
発言小町からのプロファイリング
JubatusOfficial
銀座のママ
銀座のママ
JubatusOfficial
JUBARHYME
JUBARHYME
JubatusOfficial
小町の溜息
小町の溜息
JubatusOfficial
Jubatus 1.0 の紹介
Jubatus 1.0 の紹介
JubatusOfficial
地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAI
JubatusOfficial
中国最新ニュースアプリ事情
中国最新ニュースアプリ事情
moai kids
FluentdとRedshiftの素敵な関係
FluentdとRedshiftの素敵な関係
moai kids
Twitterのsnowflakeについて
Twitterのsnowflakeについて
moai kids
Programming Hive Reading #4
Programming Hive Reading #4
moai kids
Programming Hive Reading #3
Programming Hive Reading #3
moai kids
"Programming Hive" Reading #1
"Programming Hive" Reading #1
moai kids
Casual Compression on MongoDB
Casual Compression on MongoDB
moai kids
Más contenido relacionado
Destacado
jubabanditの紹介
jubabanditの紹介
JubatusOfficial
かまってちゃん小町
かまってちゃん小町
JubatusOfficial
Jubatus 新機能ハイライト
Jubatus 新機能ハイライト
JubatusOfficial
JubaQLご紹介
JubaQLご紹介
JubatusOfficial
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
JubatusOfficial
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
JubatusOfficial
Jubaanomalyについて
Jubaanomalyについて
JubatusOfficial
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
JubatusOfficial
Jubakit の紹介
Jubakit の紹介
kmaehashi
発言小町からのプロファイリング
発言小町からのプロファイリング
JubatusOfficial
銀座のママ
銀座のママ
JubatusOfficial
JUBARHYME
JUBARHYME
JubatusOfficial
小町の溜息
小町の溜息
JubatusOfficial
Jubatus 1.0 の紹介
Jubatus 1.0 の紹介
JubatusOfficial
地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAI
JubatusOfficial
Destacado
(15)
jubabanditの紹介
jubabanditの紹介
かまってちゃん小町
かまってちゃん小町
Jubatus 新機能ハイライト
Jubatus 新機能ハイライト
JubaQLご紹介
JubaQLご紹介
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
Jubaanomalyについて
Jubaanomalyについて
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
Jubakit の紹介
Jubakit の紹介
発言小町からのプロファイリング
発言小町からのプロファイリング
銀座のママ
銀座のママ
JUBARHYME
JUBARHYME
小町の溜息
小町の溜息
Jubatus 1.0 の紹介
Jubatus 1.0 の紹介
地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAI
Más de moai kids
中国最新ニュースアプリ事情
中国最新ニュースアプリ事情
moai kids
FluentdとRedshiftの素敵な関係
FluentdとRedshiftの素敵な関係
moai kids
Twitterのsnowflakeについて
Twitterのsnowflakeについて
moai kids
Programming Hive Reading #4
Programming Hive Reading #4
moai kids
Programming Hive Reading #3
Programming Hive Reading #3
moai kids
"Programming Hive" Reading #1
"Programming Hive" Reading #1
moai kids
Casual Compression on MongoDB
Casual Compression on MongoDB
moai kids
Introduction to MongoDB
Introduction to MongoDB
moai kids
Hadoop Conference Japan 2011 Fallに行ってきました
Hadoop Conference Japan 2011 Fallに行ってきました
moai kids
HBase本輪読会資料(11章)
HBase本輪読会資料(11章)
moai kids
snappyについて
snappyについて
moai kids
第四回月次セミナー(公開版)
第四回月次セミナー(公開版)
moai kids
第三回月次セミナー(公開版)
第三回月次セミナー(公開版)
moai kids
Pythonで自然言語処理
Pythonで自然言語処理
moai kids
HandlerSocket plugin Client for Javaとそれを用いたベンチマーク
HandlerSocket plugin Client for Javaとそれを用いたベンチマーク
moai kids
Yammer試用レポート(公開版)
Yammer試用レポート(公開版)
moai kids
掲示板時間軸コーパスを用いたワードトレンド解析(公開版)
掲示板時間軸コーパスを用いたワードトレンド解析(公開版)
moai kids
中国と私(仮題)
中国と私(仮題)
moai kids
不自然言語処理コンテストLT資料
不自然言語処理コンテストLT資料
moai kids
n-gramコーパスを用いた類義語自動獲得手法について
n-gramコーパスを用いた類義語自動獲得手法について
moai kids
Más de moai kids
(20)
中国最新ニュースアプリ事情
中国最新ニュースアプリ事情
FluentdとRedshiftの素敵な関係
FluentdとRedshiftの素敵な関係
Twitterのsnowflakeについて
Twitterのsnowflakeについて
Programming Hive Reading #4
Programming Hive Reading #4
Programming Hive Reading #3
Programming Hive Reading #3
"Programming Hive" Reading #1
"Programming Hive" Reading #1
Casual Compression on MongoDB
Casual Compression on MongoDB
Introduction to MongoDB
Introduction to MongoDB
Hadoop Conference Japan 2011 Fallに行ってきました
Hadoop Conference Japan 2011 Fallに行ってきました
HBase本輪読会資料(11章)
HBase本輪読会資料(11章)
snappyについて
snappyについて
第四回月次セミナー(公開版)
第四回月次セミナー(公開版)
第三回月次セミナー(公開版)
第三回月次セミナー(公開版)
Pythonで自然言語処理
Pythonで自然言語処理
HandlerSocket plugin Client for Javaとそれを用いたベンチマーク
HandlerSocket plugin Client for Javaとそれを用いたベンチマーク
Yammer試用レポート(公開版)
Yammer試用レポート(公開版)
掲示板時間軸コーパスを用いたワードトレンド解析(公開版)
掲示板時間軸コーパスを用いたワードトレンド解析(公開版)
中国と私(仮題)
中国と私(仮題)
不自然言語処理コンテストLT資料
不自然言語処理コンテストLT資料
n-gramコーパスを用いた類義語自動獲得手法について
n-gramコーパスを用いた類義語自動獲得手法について
おひろめ会:Javaにおけるデータシリアライズ手法
1.
Java
2.
Java
API public class Hoge implements Serializable{
3.
XML
wikipedia to
4.
Hello World!
Java →116 ac ed 00 05 73 72 00 26 62 65 6e 63 68 6d 61 72 6b 2e 74 65 73 74 63 61 73 65 2e 62 65 61 6e 2e 48 65 6c 6c 6f 57 6f 72 6c 64 42 65 61 6e 52 9a 88 0d cc 48 49 00 02 00 02 4a 00 04 74 69 6d 65 4c 00 03 73 74 72 74 00 12 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 78 70 00 00 01 27 8a dc 2a e2 74 00 0c 48 65 6c 6c 6f 20 57 6f 72 6c 64 21 JSON →43 {"str":"Hello World!","time":1269345080819}
5.
Java RMI EJB
RPC(Remote Procedure Call)
6.
7.
8.
Java ※ Java
9.
✓ ✓ ✓ ✓
10.
11.
{"str":"Hello World!","time":1269345080819} JavaScript
12.
Java
JSON • Json-lib( ) http://json-lib.sourceforge.net/ • JSONIC http://jsonic.sourceforge.jp/ • FlexJson http://flexjson.sourceforge.net/ •
13.
Java
API (writeExternal/readExternal) public class Hoge implements Externalizable{ private String str; private long time; @Override public void writeExternal(ObjectOutput out) { out.writeObject(this.str); out.writeLong(this.time); } @Override public void readExternal(ObjectInput in) { this.str = (String)in.readObject(); this.long = in.readLong(); } }
14.
public class Hoge
implements Externalizable{
15.
ac
ed 00 05 73 72 00 0d ac ed 00 05 73 72 00 1b 74 65 73 74 2e 54 65 73 74 65 73 74 2e 45 78 74 74 42 65 61 6e 20 e9 e2 65 72 6e 61 6c 69 7a 61 62 c4 df 79 42 02 00 03 62 6c 65 54 65 73 74 42 4a 00 02 69 64 4c 00 04 65 61 6e a3 be c9 30 53 74 69 6d 65 74 00 10 4c 4a 7a f8 0c 00 00 78 70 6a 61 76 61 2f 75 74 69 77 08 00 00 00 00 00 00 6c 2f 44 61 74 65 3b 4c 00 01 74 00 04 74 65 73 00 05 76 61 6c 75 65 74 74 73 72 00 0e 6a 61 76 00 12 4c 6a 61 76 61 2f 61 2e 75 74 69 6c 2e 44 6c 61 6e 67 2f 53 74 72 61 74 65 68 6a 81 01 4b 69 6e 67 3b 78 70 00 00 59 74 19 03 00 00 78 70 00 00 00 00 00 01 73 72 77 08 00 00 01 27 74 e6 00 0e 6a 61 76 61 2e 75 d3 af 78 78 74 69 6c 2e 44 61 74 65 68 6a 81 01 4b 59 74 19 03 00 00 78 70 77 08 00 00 01 27 74 e6 d2 3c 78 74 00 04 74 65 73 74
16.
Google
BigTable RPC 2008 7 Apache Lisence Ver. 2.0)
17.
IDL
DSL IDL (C++ Python Java package serializable.protobuf; message TestBean{ required int32 id = 1; required string value = 2; required int64 time = 3; }
18.
ac
ed 00 05 73 72 00 0d 08 01 12 04 74 65 73 74 74 65 73 74 2e 54 65 73 18 f6 e2 b3 e1 06 74 42 65 61 6e 20 e9 e2 62 c4 df 79 42 02 00 03 4a 00 02 69 64 4c 00 04 74 69 6d 65 74 00 10 4c 6a 61 76 61 2f 75 74 69 6c 2f 44 61 74 65 3b 4c 00 05 76 61 6c 75 65 74 00 12 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 78 70 00 00 00 00 00 00 00 01 73 72 00 0e 6a 61 76 61 2e 75 74 69 6c 2e 44 61 74 65 68 6a 81 01 4b 59 74 19 03 00 00 78 70 77 08 00 00 01 27 74 e6 d2 3c 78 74 00 04 74 65 73 74
19.
20.
Hadoop
2009 4 RPC C C++ Java Python Ruby Hadoop Core Hive Pig RPC
21.
JSON
Java {"type": "array", "items": "string"}
22.
4f
62 6a 01 02 16 61 76 72 6f 2e 73 63 68 65 6d 61 ca 02 7b 22 74 79 70 65 22 3a 22 72 65 63 6f 72 64 22 2c 22 6e 61 6d 65 22 3a 22 50 72 69 6d 69 74 69 76 65 54 65 73 74 42 65 61 6e 22 2c 22 6e 61 6d 65 73 70 61 63 65 22 3a 22 74 65 73 74 22 2c 22 66 69 65 6c 64 73 22 3a 5b 7b 22 6e 61 6d 65 22 3a 22 69 64 22 2c 22 74 79 70 65 22 3a 22 6c 6f 6e 67 22 7d 2c 7b 22 6e 61 6d 65 22 3a 22 76 61 6c 75 65 22 2c 22 74 79 70 65 22 3a 22 73 74 72 69 6e 67 22 7d 2c 7b 22 6e 61 6d 65 22 3a 22 74 69 6d 65 22 2c 22 74 79 70 65 22 3a 22 6c 6f 6e 67 22 7d 5d 7d 00 0c 64 69 4e 57 ee 5f 83 7d a0 a8 7f b7 bb 60 33 02 18 02 08 74 65 73 74 f4 cf b6 ce ee 49 0c 64 69 4e 57 ee 5f 83 7d a0 a8 7f b7 bb 60 33
23.
24.
(Ruby
Python Perl C C++ Java
25.
Protocol Buffers
zero-copy serialize C++ Ruby
26.
•
JSON - {} [] - ๏ 0xcc →unsigned 8-bit integer • - • - • URL - http://d.hatena.ne.jp/viver/20100324/p1
27.
JSON ac
ed 00 05 73 72 00 0d 83 a2 69 64 a1 31 a4 74 74 65 73 74 2e 54 65 73 69 6d 65 ad 31 32 36 39 74 42 65 61 6e 20 e9 e2 34 31 32 30 39 34 36 36 62 c4 df 79 42 02 00 03 31 a5 76 61 6c 75 65 ac 4a 00 02 69 64 4c 00 04 48 65 6c 6c 6f 20 57 6f 74 69 6d 65 74 00 10 4c 72 6c 64 21 6a 61 76 61 2f 75 74 69 6c 2f 44 61 74 65 3b 4c 00 05 76 61 6c 75 65 74 00 12 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 78 70 00 00 00 00 00 00 00 01 73 72 00 0e 6a 61 76 61 2e 75 74 69 6c 2e 44 61 74 65 68 6a 81 01 4b 59 74 19 03 00 00 78 70 77 08 00 00 01 27 74 e6 d2 3c 78 74 00 04 74 65 73 74
28.
29.
30.
✓ ✓ ✓ ✓
31.
-
1MB - List 1KB × 256 - Map key:256byte / value:int ×256 - Java
32.
- - -
10000
33.
-
Serializable - Externalizable - JSONIC - FlexJson - Protocol Bufferes - Hadoop Avro - Message Pack
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
Message Pack - ProtoBuf - Java
Serializable Externalizable -
46.
✓ ✓ ✓ ✓
47.
bzip2
48.
49.
50.
• Deflate -
gzip zip • QuickLZ -
51.
gzip
zip gzip = gzip Deflate LZ77 + (
52.
Abraham Lempel
Jacob Ziv 1977 LZ LZ77 ※
53.
Abraham Lempel
Jacob Ziv 1977
54.
Abraham Lempel
Jacob Ziv 1977
55.
Abraham Lempel
Jacob Ziv 1977
56.
Abraham Lempel
Jacob Ziv 1977
57.
Abraham Lempel
Jacob Ziv 1977
58.
Abraham Lempel
Jacob Ziv 1977
59.
Abraham Lempel
Jacob Ziv 1977
60.
Abraham Lempel
Jacob Ziv 1977
61.
Abraham Lempel
Jacob Ziv 1977
62.
63.
•
DAEBCBACBBBC •
64.
•
DAEBCBACBBBC •
65.
•
DAEBCBACBBBC •
66.
•
DAEBCBACBBBC •
67.
•
DAEBCBACBBBC •
68.
•
DAEBCBACBBBC •
69.
•
DAEBCBACBBBC •
70.
•
DAEBCBACBBBC •
71.
•
DAEBCBACBBBC •
72.
•
DAEBCBACBBBC •
73.
•
DAEBCBACBBBC • → →
74.
75.
- Message Pack -
Message Pack + Deflate - Message Pack + QuickLZ twitter (JSON) - - (
76.
77.
78.
79.
80.
81.
JSON
Message Pack - 3/4 Deflate
82.
✓ ✓ ✓ ✓
83.
Java Message Pack Java API
Serializable Externalizable Deflate
Notas del editor
Descargar ahora