diff --git a/doc/data_flow_realtime.dot b/doc/data_flow_realtime.dot new file mode 100644 index 00000000000..e29cd47a743 --- /dev/null +++ b/doc/data_flow_realtime.dot @@ -0,0 +1,39 @@ +digraph DruidDataFlow { + graph [bgcolor="#fffef5", clusterrank=global, rankdir=TB]; + node [color="#0a0701", fillcolor="#fdf4c6", fontname=Helvetica, shape=box, style=filled, label="\N"]; + edge [color="#377d18"]; + + 1 [label = "REST query"]; + 2 [label = "realtime_data_src"]; + 4 [label = "indexed segments\nblob_store (S3, HDFS)"]; + 5 [label = "Realtime.working_set"]; + 6 [label = "Realtime.spill_disk"]; + 7 [label = "HDFS_data_src"]; + 8 [label = "external_data_src"]; + 9 [label = "Realtime.local_disk"]; + 10 [label = "metadata_store (mysql)"]; + 11 [label = "HadoopDruidIndexer.working_set"]; + 12 [label = "IndexerService.working_set"]; + +2 -> 5 [label = "Realtime.Firehose"]; +5 -> 6 [label = "Realtime.Firehose"]; + +5 -> 9 [label = "Realtime.Indexer"]; +6 -> 9 [label = "Realtime.Indexer"]; +5 -> 10 [label = "Realtime.MetadataUpdater"]; + +7 -> 11 [label = "HadoopDruidIndexer"]; +11 -> 4 [label = "HadoopDruidIndexer"]; +11 -> 10 [label = "HadoopDruidIndexer"]; + +8 -> 12 [label = "IndexerService"]; +12 -> 4 [label = "IndexerService"]; +12 -> 10 [label = "IndexerService"]; + + +9 -> 4 [label = "Realtime.segmentPusher"]; + +5 -> 1 [label = " results "]; + +1 -> 5 [label = " query "]; +} diff --git a/doc/data_flow_realtime.png b/doc/data_flow_realtime.png new file mode 100644 index 00000000000..f05bd0f5ea2 Binary files /dev/null and b/doc/data_flow_realtime.png differ diff --git a/doc/data_flow_realtime.svg b/doc/data_flow_realtime.svg new file mode 100644 index 00000000000..873010aff3f --- /dev/null +++ b/doc/data_flow_realtime.svg @@ -0,0 +1,128 @@ + + + + + +DruidDataFlow + +1 + +REST query + +5 + +Realtime.working_set + +1->5 + + + query + +2 + +realtime_data_src + +2->5 + + +Realtime.Firehose + +4 + +indexed segments +blob_store (S3, HDFS) + +5->1 + + + results + +6 + +Realtime.spill_disk + +5->6 + + +Realtime.Firehose + +9 + +Realtime.local_disk + +5->9 + + +Realtime.Indexer + +10 + +metadata_store (mysql) + +5->10 + + +Realtime.MetadataUpdater + +6->9 + + +Realtime.Indexer + +7 + +HDFS_data_src + +11 + +HadoopDruidIndexer.working_set + +7->11 + + +HadoopDruidIndexer + +8 + +external_data_src + +12 + +IndexerService.working_set + +8->12 + + +IndexerService + +9->4 + + +Realtime.segmentPusher + +11->4 + + +HadoopDruidIndexer + +11->10 + + +HadoopDruidIndexer + +12->4 + + +IndexerService + +12->10 + + +IndexerService + + + diff --git a/doc/data_flow_simple.dot b/doc/data_flow_simple.dot new file mode 100644 index 00000000000..a30f8ad73de --- /dev/null +++ b/doc/data_flow_simple.dot @@ -0,0 +1,27 @@ +digraph DruidDataFlow { + graph [bgcolor="#fffef5", clusterrank=global, rankdir=TB]; + node [color="#0a0701", fillcolor="#fdf4c6", fontname=Helvetica, shape=box, style=filled, label="\N"]; + edge [color="#377d18"]; + + 1 [label = "REST query"]; + 10 [label = "Broker.query_cache"]; + 2 [label = "realtime_data_src"]; + 3 [label = "Compute.disk_cache"]; + 4 [label = "indexed segments\nblob_store (S3, HDFS)"]; + 5 [label = "Realtime.working_set"]; + 6 [label = "Compute.working_set"]; + +2 -> 5 [label = "Realtime.Firehose"]; +5 -> 4 [label = "Realtime.segmentPusher"]; + +4 -> 3 [label = "Compute.load"]; +3 -> 6 [label = "Compute.map"]; + +5 -> 10 [label = " results "]; +6 -> 10 [label = " results "]; +10 -> 1 [label = " results "]; + +10 -> 5 [label = " query "]; +10 -> 6 [label = " query "]; +1 -> 10 [label = " query "]; +} diff --git a/doc/data_flow_simple.png b/doc/data_flow_simple.png new file mode 100644 index 00000000000..f397953b651 Binary files /dev/null and b/doc/data_flow_simple.png differ diff --git a/doc/data_flow_simple.svg b/doc/data_flow_simple.svg new file mode 100644 index 00000000000..012a06c2977 --- /dev/null +++ b/doc/data_flow_simple.svg @@ -0,0 +1,92 @@ + + + + + +DruidDataFlow + +1 + +REST query + +10 + +Broker.query_cache + +1->10 + + + query + +10->1 + + + results + +5 + +Realtime.working_set + +10->5 + + + query + +6 + +Compute.working_set + +10->6 + + + query + +2 + +realtime_data_src + +2->5 + + +Realtime.Firehose + +3 + +Compute.disk_cache + +3->6 + + +Compute.map + +4 + +indexed segments +blob_store (S3, HDFS) + +4->3 + + +Compute.load + +5->10 + + + results + +5->4 + + +Realtime.segmentPusher + +6->10 + + + results + + +