1
1
<?xml version="1.0" encoding="UTF-8"?>
2
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
3
"http://www.w3.org/TR/html4/loose.dtd">
4
<html><head><title></title>
5
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
8
<div><p>Harnessing Flexible Data in the Cloud
10
<p>Matthias Brantner (brantner@28msec.com)
12
<p>Thursday, August 23, 12</p>
14
</div><div><p>Demo
16
<p>Thursday, August 23, 12</p>
18
</div><div><p>Flexible Data
36
<p>Thursday, August 23, 12</p>
38
</div><div><p>Harness Data
46
<p>query &amp; update
50
<p>full-text search
54
<p>complex queries
60
<p>reliability, availability, performance, and scalability
62
<p>Thursday, August 23, 12</p>
64
</div><div><p>Possible Solution Stack
70
<p>Thursday, August 23, 12</p>
72
</div><div><p>Development Time
82
<p>&#8220;manual&#8221; approach
84
<p>Thursday, August 23, 12</p>
86
</div><div><p>How do we do this?
88
<p>Thursday, August 23, 12</p>
90
</div><div><p>XML / JSON / Text
92
<p>Processing Language
196
<p>Thursday, August 23, 12</p>
198
</div><div><p>Example (1)
200
<p>1 for $zip in db:collection(&quot;zips&quot;)
202
<p>2 group by $zip(&quot;state&quot;)
204
<p>3 let $count := count($zip)
206
<p>4 order by $count descending
208
<p>5 return { &#8220;state&#8221; : $state, &#8220;count&#8221; : $count }
210
<p>{ &quot;state&quot; : &quot;TX&quot;, &quot;count&quot; : 1676 }
212
<p>{ &quot;state&quot; : &quot;NY&quot;, &quot;count&quot; : 1596 }
214
<p>{ &quot;state&quot; : &quot;CA&quot;, &quot;count&quot; : 1500 }
218
<p>Thursday, August 23, 12</p>
220
</div><div><p>Example (2)
222
<p>1 let $search-result := jn:parse-json(
224
<p>2 http:get-text(&quot;twitter.com/search.json?q=.&quot;)[2])
226
<p>3 for $result in jn:members($search-result(&quot;results&quot;))
228
<p>4 let $text := $result(&quot;text&quot;)
230
<p>5 for $token in ft:tokenize-string($text)
232
<p>6 where not(ft:is-stop-word($token))
234
<p>7 let $lc := ft:strip-diacritics(lower-case($token))
236
<p>8 group by $lc
238
<p>9 let $count := count($token)
240
<p>10 order by $count descending
242
<p>11 return { &#8220;token&#8221; : $lc, &#8220;count&#8221; : $count }
244
<p>{ &quot;token&quot; : &quot;hard&quot;, &quot;count&quot; : 3 }
246
<p>{ &quot;token&quot; : &quot;truths&quot;, &quot;count&quot; : 3 }
248
<p>{ &quot;token&quot; : &quot;sql&quot;, &quot;count&quot; : 3 }
250
<p>{ &quot;token&quot; : &quot;revolution&quot;, &quot;count&quot; : 2 }
252
<p>Thursday, August 23, 12</p>
254
</div><div><p>Module Library
256
<p>Thursday, August 23, 12</p>
258
</div><div><p>Productivity
272
<p>Scientific Publication Forum AWS
310
<p>Java JSONiq PHP
312
<p>Thursday, August 23, 12</p>
314
</div><div><p>Data Store
444
<p>Thursday, August 23, 12</p>
446
</div><div><p>Storage Layout (1)
458
<p> &quot;name&quot; : &quot;Matthias&quot;
460
<p> &quot;dob&quot; : 1978-09-12
464
<p>&lt;person&gt;
466
<p> &lt;name&gt;Matthias&lt;/name&gt;
468
<p> &lt;dob&gt;1978-09-12&lt;/dob&gt;
470
<p>&lt;/person&gt;
474
<p>&lt;person&gt;
476
<p> &lt;name&gt;Matthias&lt;/name&gt;
478
<p> &lt;dob&gt;1978-09-12&lt;/dob&gt;
480
<p>&lt;/person&gt;
484
<p> &quot;name&quot; : &quot;Matthias&quot;
486
<p> &quot;dob&quot; : 1978-09-12
490
<p>Thursday, August 23, 12</p>
492
</div><div><p>Storage Layout (2)
504
<p> &quot;name&quot; : &quot;Matthias&quot;
506
<p> &quot;dob&quot; : 1978-09-12
510
<p>&lt;person&gt;
512
<p> &lt;name&gt;Matthias&lt;/name&gt;
514
<p> &lt;dob&gt;1978-09-12&lt;/dob&gt;
516
<p>&lt;/person&gt;
520
<p>Index (BTree)
522
<p>&lt;person&gt;
524
<p> &lt;name&gt;Matthias&lt;/name&gt;
526
<p> &lt;dob&gt;1978-09-12&lt;/dob&gt;
528
<p>&lt;/person&gt;
532
<p> &quot;name&quot; : &quot;Matthias&quot;
534
<p> &quot;dob&quot; : 1978-09-12
538
<p>Thursday, August 23, 12</p>
540
</div><div><p>Cloud Infrastructure - Request Processing
546
<p>Request Handler
548
<p>JSONiq Processor
552
<p>DataCompiled Code
582
<p>Thursday, August 23, 12</p>
584
</div><div><p>Conclusion
588
<p>JSONiq to process flexible data
592
<p>using MongoDB as data store and index
598
<p>up to 5x more (cost) effective
602
<p>scalable infrastructure on AWS
604
<p>Thursday, August 23, 12</p>
606
</div><div><p>JSONiq talks
614
<p>Jonathan Robie (EMC)
622
<p>Chris Hillery (FLWOR Foundation)
624
<p>Thursday, August 23, 12</p>
626
</div><div><p>Matthias Brantner (brantner@28msec.com)
632
<p>Visit us at our booth!
634
<p>Thursday, August 23, 12</p>
636
</div></body></html>
b'\\ No newline at end of file'
2
true true true true true true true true
b'\\ No newline at end of file'