@@ -51,6 +51,168 @@ By using GraphAr, you can:
51
51
- Utilize Apache Spark to quickly manipulate and transform your graphar
52
52
format data
53
53
54
+ ## Benchmark
55
+ Our experiments are conducted on an Alibaba Cloud r6.6xlarge instance, equipped with a
56
+ 24-core Intel(R) Xeon(R) Platinum 8269CY CPU at 2.50GHz and
57
+ 192GB RAM, running 64-bit Ubuntu 20.04 LTS. The data is hosted
58
+ on a 200GB PL0 ESSD with a peak I/O throughput of 180MB/s.
59
+ Additional tests on other platforms and S3-like storage yield similar
60
+ results.
61
+ We mainly conduct experiments from three aspects: Storage consumption, I/O speed and Query efficiency.
62
+
63
+
64
+ <table >
65
+ <thead>
66
+ <tr>
67
+ <th>Abbr.</th>
68
+ <th>Graph</th>
69
+ <th>|V|</th>
70
+ <th>|E|</th>
71
+ </tr>
72
+ </thead>
73
+ <tbody>
74
+ <tr>
75
+ <td>A5</td>
76
+ <td>Alibaba synthetic (scale 5)</td>
77
+ <td>75.0M</td>
78
+ <td>4.93B</td>
79
+ </tr>
80
+ <tr>
81
+ <td>A7</td>
82
+ <td>Alibaba synthetic (scale 7)</td>
83
+ <td>100M</td>
84
+ <td>6.69B</td>
85
+ </tr>
86
+ <tr>
87
+ <td>SF30</td>
88
+ <td><a href="https://dl.acm.org/doi/10.1145/2723372.2742786" target="_blank">SNB Interactive SF-30</a></td>
89
+ <td>99.4M</td>
90
+ <td>655M</td>
91
+ </tr>
92
+ <tr>
93
+ <td>SF100</td>
94
+ <td><a href="https://dl.acm.org/doi/10.1145/2723372.2742786" target="_blank">SNB Interactive SF-100</a></td>
95
+ <td>318M</td>
96
+ <td>2.15B</td>
97
+ </tr>
98
+ <tr>
99
+ <td>SF300</td>
100
+ <td><a href="https://dl.acm.org/doi/10.1145/2723372.2742786" target="_blank">SNB Interactive SF-300</a></td>
101
+ <td>908M</td>
102
+ <td>6.29B</td>
103
+ </tr>
104
+ </tbody>
105
+ </table >
106
+ All datasets have more than tens of millions of vertices and hundreds of millions of edges.
107
+
108
+
109
+ ### Storage consumption
110
+
111
+ ### I/O speed
112
+
113
+ ### Query efficiency
114
+ <table >
115
+ <caption>Query Execution Times (in seconds)</caption>
116
+ <thead>
117
+ <tr>
118
+ <th>Query</th>
119
+ <th>SF30</th>
120
+ <th></th>
121
+ <th></th>
122
+ <th></th>
123
+ <th>SF100</th>
124
+ <th></th>
125
+ <th></th>
126
+ <th></th>
127
+ <th>SF300</th>
128
+ <th></th>
129
+ <th></th>
130
+ <th></th>
131
+ </tr>
132
+ <tr>
133
+ <th></th>
134
+ <th>P</th>
135
+ <th>N</th>
136
+ <th>A</th>
137
+ <th>G</th>
138
+ <th>P</th>
139
+ <th>N</th>
140
+ <th>A</th>
141
+ <th>G</th>
142
+ <th>P</th>
143
+ <th>N</th>
144
+ <th>A</th>
145
+ <th>G</th>
146
+ </tr>
147
+ </thead>
148
+ <tbody>
149
+ <tr>
150
+ <td>ETL</td>
151
+ <td>6024</td>
152
+ <td>390</td>
153
+ <td>—</td>
154
+ <td>—</td>
155
+ <td>17726</td>
156
+ <td>2094</td>
157
+ <td>—</td>
158
+ <td>—</td>
159
+ <td>OM</td>
160
+ <td>9122</td>
161
+ <td>—</td>
162
+ <td>—</td>
163
+ </tr>
164
+ <tr>
165
+ <td>IS-3</td>
166
+ <td>1.00</td>
167
+ <td>0.30</td>
168
+ <td>0.16</td>
169
+ <td><strong>0.01</strong></td>
170
+ <td>6.59</td>
171
+ <td>2.09</td>
172
+ <td>0.48</td>
173
+ <td><strong>0.01</strong></td>
174
+ <td>OM</td>
175
+ <td>4.12</td>
176
+ <td>1.39</td>
177
+ <td><strong>0.03</strong></td>
178
+ </tr>
179
+ <tr>
180
+ <td>IC-8</td>
181
+ <td>1.35</td>
182
+ <td><strong>0.37</strong></td>
183
+ <td>72.2</td>
184
+ <td>3.36</td>
185
+ <td>8.43</td>
186
+ <td><strong>1.26</strong></td>
187
+ <td>246</td>
188
+ <td>6.56</td>
189
+ <td>OM</td>
190
+ <td><strong>2.98</strong></td>
191
+ <td>894</td>
192
+ <td>23.3</td>
193
+ </tr>
194
+ <tr>
195
+ <td>BI-2</td>
196
+ <td>125</td>
197
+ <td>45.0</td>
198
+ <td>67.7</td>
199
+ <td><strong>4.30</strong></td>
200
+ <td>3884</td>
201
+ <td>1101</td>
202
+ <td>232</td>
203
+ <td><strong>16.3</strong></td>
204
+ <td>OM</td>
205
+ <td>6636</td>
206
+ <td>756</td>
207
+ <td><strong>50.0</strong></td>
208
+ </tr>
209
+ </tbody>
210
+ </table >
211
+ <p ><strong >Notes: <a href =" https://github.com/apache/pinot " target =" _blank " >Pinot (P)</a >, <a href =" https://github.com/neo4j/neo4j " target =" _blank " >Neo4j (N)</a >, <a href =" https://arrow.apache.org/docs/cpp/streaming_execution.html " target =" _blank " >Acero (A)</a >, and GraphAr (G).
212
+ “OM” denotes failed execution due to out-of-memory errors.</strong ></p >
213
+
214
+
215
+
54
216
## The GraphAr Format
55
217
56
218
The GraphAr format is designed for storing property graphs. It uses
0 commit comments