DEIM Forum 2019 H2-2 SuperSQL 223 8522 3 14 1 E-mail: {terui,goto}@db.ics.keio.ac.jp, toyama@ics.keio.ac.jp SuperSQL SQL SuperSQL Web SuperSQL DBMS PipelineDB SuperSQL Web Web 1 SQL SuperSQL HTML SuperSQL SQL SQL SuperSQL SuperSQL Web php SuperSQL Web SuperSQL SuperSQL Web DBMS PipelineDB DBMS Web SuperSQL Web SuperSQL Web Ajax Server Sent Events 2 Web SuperSQL Web 2 SuperSQL 3 4 SuperSQL Web 5 6 2 SuperSQL SuperSQL 1 SuperSQL 1 SuperSQL SuperSQL SQL [1], [2] SQL SELECT GENERATE <media> <TFE> GENERATE <media> HTML PDF Mobile HTML5 [3] <TFE> Target Form Expression
2. 1 ( ) 3 (,) name, place name place (!) name name! place place 2. 2 []!, []!, [ ]! [! [, ]! ]! ([ ],) [Name], name1 name2 name10 ([ ]!) name1 name2 [Name]! name10 2. 3 SuperSQL (@) < >@{< >} =, [name@{width=100, color=red}]! 3 3. 1 3. 1. 1 PipelineDB PipelineDB [4] SQL PostgreSQL PostgreSQL PipelineDB SQL PostgreSQL 1 1 PipelineDB Stream INSERT Stream Stream Stream Continous View SQL SQL ETL Apache Kafka [5] Spark Streaming [7] Amazon Kinesis [6] SuperSQL DBMS PostgreSQL PostgreSQL PipelineDB 3. 2 google map JavaScript DOM Ajax W3C html5 API Server Sent Events Ajax polling Server Sent Events HTTP server push
1 pull Ajax push Server Sent Events 4 SuperSQL Web 4. 1 SuperSQL 3 pull @{stream=n} Web n n n 1000 SuperSQL stream [ TEF1, [ TEF2 ]! ]!@{stream=n} 4. 2 2 Super- SQL HTML CSS JavaScript PHP 3 pull 2 PHP JSON HTML JavaScript 4. 3 3. 2 2 2 1 2 pull stream mode= pull mode pull pull Ajax push stream mode= push push Server Sent Events 4 push crypto(id exchange name rate) users(id name) monitor(c id, u id) crypto 3. 1. 1 Continuos View users monitor crypto users crypto Stream INSERT
4 sample.ssql push GENERATE HTML bootstrap [ null((asc)u.id) u.name, [ c.exchange, c.name, c.rate ]! ]!@{stream=3000} FROM users u, crypto c, monitor m WHERE c.id = m.c id AND u.id = m.u id sample.ssql 5 5. 1 Web cpu OS: CentOS 7.3.1611 CPU: Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz 10 2core : 126GB DBMS: PipelineDB 0.9.9 OS: Mac OS Mojave CPU: 3.1 GHz Intel Core i5 : 16GB : firefox 64.0 Web 100, 200,..., 1000 CPU 6 6 5 sample.ssql 5 5 PipelineDB pull push cpu pull pull 2.1 CPU pull push 5. 2 PipelineDB PipelineDB CPU Web 5. 1 10 Web 1, 2,..., 10 PipelineDB CPU 7 PipelineDB
[4] PipelineDB: https://www.pipelinedb.com/ [5] Jay Kreps Neha Narkhede and Jun Rao Kafka: a distributed messaging system for log processing ACM SIG- MOD Workshop on Networking Meets Databases page 6 2011 [6] Amazon Kinesis: http://aws.amazon.com/kinesis/ [7] Spark Streaming: https://spark.apache.org/streaming/ 7 PipelineDB PipelineDB CPU (CPU ) () (1) 1 (1 ) () = ( ) (PHP ) () (2) Web Web CPU ( ) ( CPU ) () (3) (PHP ) (1 ) ( ) ( CPU ) ( ) () (4) (PHP ) (1 ) 6 SuperSQL Web Web HTML JavaScript PHP SuperSQL Web [1] SuperSQL: http://supersql.db.ics.keio.ac.jp [2] M Toyama SuperSQL: An Extended SQL for Database Publishing and Presentation Proceedings of ACM SIG- MOD 98 International Conference on Management of Data pp 584-586 1998 [3] K Goto and M Toyama Mobile Web Application Generation Features For SuperSQL in Proceedings of the 20th International Database Engineering Applications Symposium IDEAS 2016 pp 308-315 2016