Submit Search
おひろめ会:Javaにおけるデータシリアライズ手法
16 likes
5,743 views
moai kids
1 of 84
Download now
Downloaded 62 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
More Related Content
PDF
Javaにおけるデータシリアライズと圧縮
moai kids
PDF
Serialization (Avro, Message Pack, Kryo)
오석 한
PDF
Treasure Dataを支える技術 - MessagePack編
Taro L. Saito
ODP
小町のレス数が予測できるか試してみた
JubatusOfficial
PDF
単語コレクター(文章自動校正器)
JubatusOfficial
PDF
jubarecommenderの紹介
JubatusOfficial
PPTX
新聞から今年の漢字を予測する
JubatusOfficial
PDF
jubabanditの紹介
JubatusOfficial
Javaにおけるデータシリアライズと圧縮
moai kids
Serialization (Avro, Message Pack, Kryo)
오석 한
Treasure Dataを支える技術 - MessagePack編
Taro L. Saito
小町のレス数が予測できるか試してみた
JubatusOfficial
単語コレクター(文章自動校正器)
JubatusOfficial
jubarecommenderの紹介
JubatusOfficial
新聞から今年の漢字を予測する
JubatusOfficial
jubabanditの紹介
JubatusOfficial
Viewers also liked
(14)
PPTX
かまってちゃん小町
JubatusOfficial
PDF
Jubatus 新機能ハイライト
JubatusOfficial
PDF
JubaQLご紹介
JubatusOfficial
PDF
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
JubatusOfficial
PDF
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
JubatusOfficial
PDF
Jubaanomalyについて
JubatusOfficial
PDF
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
JubatusOfficial
PDF
Jubakit の紹介
kmaehashi
PPTX
発言小町からのプロファイリング
JubatusOfficial
PPTX
銀座のママ
JubatusOfficial
PPTX
JUBARHYME
JubatusOfficial
PPTX
小町の溜息
JubatusOfficial
PPTX
Jubatus 1.0 の紹介
JubatusOfficial
PDF
地域の魅力を伝えるツアーガイドAI
JubatusOfficial
かまってちゃん小町
JubatusOfficial
Jubatus 新機能ハイライト
JubatusOfficial
JubaQLご紹介
JubatusOfficial
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
JubatusOfficial
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
JubatusOfficial
Jubaanomalyについて
JubatusOfficial
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
JubatusOfficial
Jubakit の紹介
kmaehashi
発言小町からのプロファイリング
JubatusOfficial
銀座のママ
JubatusOfficial
JUBARHYME
JubatusOfficial
小町の溜息
JubatusOfficial
Jubatus 1.0 の紹介
JubatusOfficial
地域の魅力を伝えるツアーガイドAI
JubatusOfficial
Ad
More from moai kids
(20)
PDF
中国最新ニュースアプリ事情
moai kids
PDF
FluentdとRedshiftの素敵な関係
moai kids
PDF
Twitterのsnowflakeについて
moai kids
PDF
Programming Hive Reading #4
moai kids
PDF
Programming Hive Reading #3
moai kids
PDF
"Programming Hive" Reading #1
moai kids
PDF
Casual Compression on MongoDB
moai kids
PDF
Introduction to MongoDB
moai kids
PDF
Hadoop Conference Japan 2011 Fallに行ってきました
moai kids
PDF
HBase本輪読会資料(11章)
moai kids
PDF
snappyについて
moai kids
PDF
第四回月次セミナー(公開版)
moai kids
KEY
第三回月次セミナー(公開版)
moai kids
PDF
Pythonで自然言語処理
moai kids
PDF
HandlerSocket plugin Client for Javaとそれを用いたベンチマーク
moai kids
PDF
Yammer試用レポート(公開版)
moai kids
PDF
掲示板時間軸コーパスを用いたワードトレンド解析(公開版)
moai kids
PDF
中国と私(仮題)
moai kids
PDF
不自然言語処理コンテストLT資料
moai kids
PDF
n-gramコーパスを用いた類義語自動獲得手法について
moai kids
中国最新ニュースアプリ事情
moai kids
FluentdとRedshiftの素敵な関係
moai kids
Twitterのsnowflakeについて
moai kids
Programming Hive Reading #4
moai kids
Programming Hive Reading #3
moai kids
"Programming Hive" Reading #1
moai kids
Casual Compression on MongoDB
moai kids
Introduction to MongoDB
moai kids
Hadoop Conference Japan 2011 Fallに行ってきました
moai kids
HBase本輪読会資料(11章)
moai kids
snappyについて
moai kids
第四回月次セミナー(公開版)
moai kids
第三回月次セミナー(公開版)
moai kids
Pythonで自然言語処理
moai kids
HandlerSocket plugin Client for Javaとそれを用いたベンチマーク
moai kids
Yammer試用レポート(公開版)
moai kids
掲示板時間軸コーパスを用いたワードトレンド解析(公開版)
moai kids
中国と私(仮題)
moai kids
不自然言語処理コンテストLT資料
moai kids
n-gramコーパスを用いた類義語自動獲得手法について
moai kids
Ad
おひろめ会: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)
8.
Java ※ Java
9.
✓ ✓ ✓ ✓
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
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
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
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
45.
Message Pack - ProtoBuf - Java
Serializable Externalizable -
46.
✓ ✓ ✓ ✓
47.
bzip2
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
63.
•
DAEBCBACBBBC •
64.
•
DAEBCBACBBBC •
65.
•
DAEBCBACBBBC •
66.
•
DAEBCBACBBBC •
67.
•
DAEBCBACBBBC •
68.
•
DAEBCBACBBBC •
69.
•
DAEBCBACBBBC •
70.
•
DAEBCBACBBBC •
71.
•
DAEBCBACBBBC •
72.
•
DAEBCBACBBBC •
73.
•
DAEBCBACBBBC • → →
75.
- Message Pack -
Message Pack + Deflate - Message Pack + QuickLZ twitter (JSON) - - (
81.
JSON
Message Pack - 3/4 Deflate
82.
✓ ✓ ✓ ✓
83.
Java Message Pack Java API
Serializable Externalizable Deflate
Download