Merge branch 'master' into indexing-service-realtime

This commit is contained in:
fjy 2013-10-18 12:26:43 -07:00
commit 94d4920edd
7 changed files with 488 additions and 354 deletions

View File

@ -8,9 +8,9 @@
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
viewBox="40 36 470.92646 255.28501"
width="588.65808"
height="319.10626"
viewBox="40 36 466.7041 318.99965"
width="583.38013"
height="398.74957"
id="svg2"
inkscape:version="0.48.2 r9819"
sodipodi:docname="druid-dataflow.svg"
@ -34,9 +34,9 @@
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:zoom="0.9451452"
inkscape:cx="251.09952"
inkscape:cy="43.169182"
inkscape:zoom="1.3366372"
inkscape:cx="248.71225"
inkscape:cy="133.85839"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
@ -224,397 +224,502 @@
</font-face>
<filter
inkscape:collect="always"
id="filter4651"
id="filter5034"
x="-0.12"
width="1.24"
y="-0.12"
height="1.24"
color-interpolation-filters="sRGB">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.9"
id="feGaussianBlur4653" />
stdDeviation="1.8"
id="feGaussianBlur5036" />
</filter>
<filter
inkscape:collect="always"
id="filter4655"
id="filter5038"
x="-0.12"
width="1.24"
y="-0.12"
height="1.24"
color-interpolation-filters="sRGB">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.9"
id="feGaussianBlur4657" />
stdDeviation="1.8"
id="feGaussianBlur5040" />
</filter>
<filter
inkscape:collect="always"
id="filter4675"
id="filter5042"
x="-0.12"
width="1.24"
y="-0.12"
height="1.24"
color-interpolation-filters="sRGB">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.90799225"
id="feGaussianBlur4677" />
stdDeviation="1.8"
id="feGaussianBlur5044" />
</filter>
<filter
inkscape:collect="always"
id="filter4679"
id="filter5046"
x="-0.12"
width="1.24"
y="-0.12"
height="1.24"
color-interpolation-filters="sRGB">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.90799225"
id="feGaussianBlur4681" />
stdDeviation="1.8"
id="feGaussianBlur5048" />
</filter>
<filter
inkscape:collect="always"
id="filter4683"
id="filter5050"
x="-0.12"
width="1.24"
y="-0.12"
height="1.24"
color-interpolation-filters="sRGB">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.90799225"
id="feGaussianBlur4685" />
stdDeviation="1.8"
id="feGaussianBlur5052" />
</filter>
<filter
inkscape:collect="always"
id="filter4687"
id="filter5054"
x="-0.12"
width="1.24"
y="-0.12"
height="1.24"
color-interpolation-filters="sRGB">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.90799225"
id="feGaussianBlur4689" />
stdDeviation="1.8"
id="feGaussianBlur5056" />
</filter>
<filter
inkscape:collect="always"
id="filter5058"
x="-0.18000001"
width="1.36"
y="-0.18000001"
height="1.36"
color-interpolation-filters="sRGB">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="2.7"
id="feGaussianBlur5060" />
</filter>
<filter
inkscape:collect="always"
id="filter5062"
x="-0.18000001"
width="1.36"
y="-0.18000001"
height="1.36"
color-interpolation-filters="sRGB">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="2.7"
id="feGaussianBlur5064" />
</filter>
</defs>
<g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="Layer2"
style="display:inline">
<g
id="g4821"
transform="translate(-2.6747754e-6,-3.30513e-8)">
<text
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#33424f;stroke:none;font-family:Open Sans;-inkscape-font-specification:Open Sans Semi-Bold"
id="text109"
x="68.675781"
style="display:inline"
transform="translate(-1.2070312,-2.461015e-6)">
<text
sodipodi:linespacing="125%"
y="53.362823"
x="68.675781"
id="text109"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#33424f;stroke:none;font-family:Open Sans;-inkscape-font-specification:Open Sans">
<tspan
y="53.362823"
sodipodi:linespacing="125%">
<tspan
sodipodi:role="line"
id="tspan4550"
x="68.675781"
y="53.362823">streaming</tspan>
<tspan
sodipodi:role="line"
id="tspan4552"
x="68.675781"
y="68.362823">data</tspan>
</text>
<text
style="line-height:125%;fill:#33424f;stroke:none"
id="text115"
x="474.12738"
y="145.23154"
sodipodi:linespacing="125%">
<tspan
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#33424f;font-family:Open Sans;-inkscape-font-specification:Open Sans Semi-Bold"
id="tspan117"
textLength="43.283203"
y="158.23154"
x="479.33273"
font-weight="bold"
font-size="12">client</tspan>
</text>
<line
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#FilledArrow_Marker)"
id="line119"
y2="56.438995"
x2="132.23264"
y1="56.438995"
x1="106.93243" />
<text
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#33424f;stroke:none;font-family:Open Sans;-inkscape-font-specification:Open Sans Semi-Bold"
id="text121"
x="61.175785"
y="253.6384"
sodipodi:linespacing="125%">
<tspan
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#33424f;font-family:Open Sans;-inkscape-font-specification:Open Sans Semi-Bold"
id="tspan123"
textLength="32.71289"
y="266.6384"
x="65.447662"
font-weight="bold"
font-size="12">batch</tspan>
<tspan
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#33424f;font-family:Open Sans;-inkscape-font-specification:Open Sans Semi-Bold"
id="tspan125"
textLength="26.115234"
y="283.6384"
x="68.74649"
font-weight="bold"
font-size="12">data</tspan>
</text>
<line
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#FilledArrow_Marker)"
id="line127"
y2="270.6384"
x2="132.73264"
y1="270.6384"
x1="107.43243" />
<line
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#FilledArrow_Marker)"
id="line129"
y2="243.0784"
x2="159.79263"
y1="74.938965"
x1="159.79263" />
<path
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)"
d="m 185.06378,57.75783 214.03664,87.3856"
id="line131"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#FilledArrow_Marker)"
d="m 178.29264,270.63837 121.01422,0"
id="line133"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<line
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)"
id="line135"
y2="180.64258"
x2="405.93555"
y1="245.13406"
x1="355.03683" />
<line
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#FilledArrow_Marker)"
id="line137"
y2="155.13821"
x2="398.50443"
y1="155.13821"
x1="353.40796" />
<line
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#FilledArrow_Marker)"
id="line139"
y2="167.45596"
x2="243.0354"
y1="155.9173"
x1="243.03348" />
<path
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)"
d="m 277.8411,176.62586 30.29726,-9.86829"
id="line141"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)"
d="M 184.42804,68.73894 308.5797,140.29898"
id="line143"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<line
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#FilledArrow_Marker)"
id="line145"
y2="113.87802"
x2="218.83446"
y1="73.660522"
x1="177.49472" />
<line
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)"
id="line147"
y2="182.69818"
x2="334.90796"
y1="243.0784"
x1="334.90796" />
<path
d="m 142.63817,36.49612 30,0 c 1.65685,0 3,1.34314 3,3 l 0,30 c 0,1.65686 -1.34315,3 -3,3 l -30,0 c -1.65685,0 -3,-1.34314 -3,-3 l 0,-30 c 0,-1.65686 1.34315,-3 3,-3 z"
id="path177"
inkscape:connector-curvature="0"
style="fill:#9dde57;stroke:none" />
<path
d="m 142.63817,36.49611 30,0 c 1.65685,0 3,1.34315 3,3 l 0,30 c 0,1.65686 -1.34315,3 -3,3 l -30,0 c -1.65685,0 -3,-1.34314 -3,-3 l 0,-30 c 0,-1.65685 1.34315,-3 3,-3 z"
id="path179"
inkscape:connector-curvature="0"
style="fill:none;stroke:#75b035;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
<text
x="68.675781"
id="tspan4550"
sodipodi:role="line">streaming</tspan>
<tspan
y="68.362823"
x="68.675781"
id="tspan4552"
sodipodi:role="line">data</tspan>
</text>
<text
sodipodi:linespacing="125%"
y="145.23154"
x="487.89328"
id="text115"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#33424f;stroke:none;font-family:Open Sans;-inkscape-font-specification:Open Sans">
<tspan
font-size="12"
font-weight="bold"
x="493.09863"
y="158.23154"
textLength="43.283203"
id="tspan117"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#33424f;font-family:Open Sans;-inkscape-font-specification:Open Sans">client</tspan>
</text>
<line
x1="106.93243"
y1="56.438995"
x2="132.23264"
y2="56.438995"
id="line119"
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#FilledArrow_Marker)" />
<text
sodipodi:linespacing="125%"
y="253.6384"
x="64.488861"
id="text121"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#33424f;stroke:none;font-family:Open Sans;-inkscape-font-specification:Open Sans">
<tspan
font-size="12"
font-weight="bold"
x="68.760742"
y="266.6384"
textLength="32.71289"
id="tspan123"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#33424f;font-family:Open Sans;-inkscape-font-specification:Open Sans">batch</tspan>
<tspan
font-size="12"
font-weight="bold"
x="72.05957"
y="283.6384"
textLength="26.115234"
id="tspan125"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#33424f;font-family:Open Sans;-inkscape-font-specification:Open Sans">data</tspan>
</text>
<line
x1="107.43243"
y1="270.6384"
x2="132.73264"
y2="270.6384"
id="line127"
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#FilledArrow_Marker)" />
<line
x1="159.79263"
y1="74.938965"
x2="159.79263"
y2="243.0784"
id="line129"
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#FilledArrow_Marker)" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="line131"
d="m 185.06378,57.75783 214.03664,87.3856"
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="line133"
d="m 178.29264,270.63837 121.01422,0"
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#FilledArrow_Marker)" />
<line
x1="355.03683"
y1="245.13406"
x2="405.93555"
y2="180.64258"
id="line135"
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
<line
x1="353.40796"
y1="155.13821"
x2="398.50443"
y2="155.13821"
id="line137"
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#FilledArrow_Marker)" />
<line
x1="243.03348"
y1="155.9173"
x2="243.0354"
y2="167.45596"
id="line139"
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#FilledArrow_Marker)" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="line141"
d="m 277.8411,176.62586 30.29726,-9.86829"
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="line143"
d="M 184.42804,68.73894 308.5797,140.29898"
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
<line
x1="177.49472"
y1="73.660522"
x2="218.83446"
y2="113.87802"
id="line145"
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#FilledArrow_Marker)" />
<line
x1="334.90796"
y1="243.0784"
x2="334.90796"
y2="182.69818"
id="line147"
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
<path
style="fill:#89d735;fill-opacity:1;stroke:none"
inkscape:connector-curvature="0"
id="path177"
d="m 142.63817,36.49612 30,0 c 1.65685,0 3,1.34314 3,3 l 0,30 c 0,1.65686 -1.34315,3 -3,3 l -30,0 c -1.65685,0 -3,-1.34314 -3,-3 l 0,-30 c 0,-1.65686 1.34315,-3 3,-3 z" />
<path
style="fill:none;stroke:#60902c;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
inkscape:connector-curvature="0"
id="path179"
d="m 142.63817,36.49611 30,0 c 1.65685,0 3,1.34315 3,3 l 0,30 c 0,1.65686 -1.34315,3 -3,3 l -30,0 c -1.65685,0 -3,-1.34314 -3,-3 l 0,-30 c 0,-1.65685 1.34315,-3 3,-3 z" />
<text
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Open Sans;-inkscape-font-specification:Open Sans"
sodipodi:linespacing="125%"
id="text3436"
x="142.0069"
y="59.447937">
<tspan
y="59.447937"
x="142.0069"
id="text3436"
sodipodi:linespacing="125%"
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Open Sans;-inkscape-font-specification:Open Sans">
<tspan
sodipodi:role="line"
id="tspan4273"
x="142.0069"
y="59.447937">realtime</tspan>
<tspan
sodipodi:role="line"
id="tspan4275"
x="142.0069"
y="69.447937">nodes</tspan>
</text>
<path
d="m 311.90795,252.6384 46.0002,0 c 1.65685,0 3,1.34315 3,3 l 0,30 c 0,1.65685 -1.34315,3 -3,3 l -46.0002,0 c -1.65686,0 -3,-1.34315 -3,-3 l 0,-30 c 0,-1.65685 1.34314,-3 3,-3 z"
id="path186"
inkscape:connector-curvature="0"
style="fill:#687de9;stroke:none"
sodipodi:nodetypes="sssssssss" />
<path
d="m 311.90795,252.6384 46.0002,0 c 1.65685,0 3,1.34315 3,3 l 0,30 c 0,1.65685 -1.34315,3 -3,3 l -46.0002,0 c -1.65686,0 -3,-1.34315 -3,-3 l 0,-30 c 0,-1.65685 1.34314,-3 3,-3 z"
id="path188"
inkscape:connector-curvature="0"
style="fill:none;stroke:#3446b0;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
sodipodi:nodetypes="sssssssss" />
<text
id="text190"
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
x="311.92163"
id="tspan4273"
sodipodi:role="line">realtime</tspan>
<tspan
y="69.447937"
x="142.0069"
id="tspan4275"
sodipodi:role="line">nodes</tspan>
</text>
<path
sodipodi:nodetypes="sssssssss"
style="fill:#687de9;stroke:none"
inkscape:connector-curvature="0"
id="path186"
d="m 311.90795,252.6384 46.0002,0 c 1.65685,0 3,1.34315 3,3 l 0,30 c 0,1.65685 -1.34315,3 -3,3 l -46.0002,0 c -1.65686,0 -3,-1.34315 -3,-3 l 0,-30 c 0,-1.65685 1.34314,-3 3,-3 z" />
<path
sodipodi:nodetypes="sssssssss"
style="fill:none;stroke:#3446b0;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
inkscape:connector-curvature="0"
id="path188"
d="m 311.90795,252.6384 46.0002,0 c 1.65685,0 3,1.34315 3,3 l 0,30 c 0,1.65685 -1.34315,3 -3,3 l -46.0002,0 c -1.65686,0 -3,-1.34315 -3,-3 l 0,-30 c 0,-1.65685 1.34314,-3 3,-3 z" />
<text
sodipodi:linespacing="125%"
y="274.90717"
x="311.92163"
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
id="text190">
<tspan
y="274.90717"
sodipodi:linespacing="125%">
<tspan
sodipodi:role="line"
id="tspan4477"
x="311.92163"
y="274.90717">historical</tspan>
<tspan
sodipodi:role="line"
id="tspan4479"
x="311.92163"
y="284.90717">nodes</tspan>
</text>
<path
d="m 228.0304,119.4173 30,0 c 1.65685,0 3,1.34315 3,3 l 0,30 c 0,1.65685 -1.34315,3 -3,3 l -30,0 c -1.65685,0 -3,-1.34315 -3,-3 l 0,-30 c 0,-1.65685 1.34315,-3 3,-3 z"
id="path195"
inkscape:connector-curvature="0"
style="opacity:0.5;fill:#fd664a;stroke:none;filter:url(#filter4687)" />
<path
d="m 228.0304,119.4173 30,0 c 1.65685,0 3,1.34315 3,3 l 0,30 c 0,1.65685 -1.34315,3 -3,3 l -30,0 c -1.65685,0 -3,-1.34315 -3,-3 l 0,-30 c 0,-1.65685 1.34315,-3 3,-3 z"
id="path197"
inkscape:connector-curvature="0"
style="opacity:0.5;fill:none;stroke:#f3472c;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;filter:url(#filter4683)" />
<text
x="311.92163"
id="tspan4477"
sodipodi:role="line">historical</tspan>
<tspan
y="284.90717"
x="311.92163"
id="tspan4479"
sodipodi:role="line">nodes</tspan>
</text>
<path
style="opacity:0.5;fill:#fd664a;stroke:none;filter:url(#filter5046)"
inkscape:connector-curvature="0"
id="path195"
d="m 228.0304,119.4173 30,0 c 1.65685,0 3,1.34315 3,3 l 0,30 c 0,1.65685 -1.34315,3 -3,3 l -30,0 c -1.65685,0 -3,-1.34315 -3,-3 l 0,-30 c 0,-1.65685 1.34315,-3 3,-3 z"
transform="translate(-2.6747754e-6,-3.30513e-8)" />
<path
style="opacity:0.5;fill:none;stroke:#f3472c;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;filter:url(#filter5042)"
inkscape:connector-curvature="0"
id="path197"
d="m 228.0304,119.4173 30,0 c 1.65685,0 3,1.34315 3,3 l 0,30 c 0,1.65685 -1.34315,3 -3,3 l -30,0 c -1.65685,0 -3,-1.34315 -3,-3 l 0,-30 c 0,-1.65685 1.34315,-3 3,-3 z"
transform="translate(-2.6747754e-6,-3.30513e-8)" />
<text
sodipodi:linespacing="125%"
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
id="text199"
x="227.10298"
y="151.71964">
<tspan
y="151.71964"
x="227.10298"
id="text199"
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
sodipodi:linespacing="125%">
<tspan
sodipodi:role="line"
id="tspan4291"
x="227.10298"
y="151.71964">MySQL</tspan>
</text>
<path
d="m 220.03055,177.01595 45.99985,0 c 1.65685,0 3,1.34314 3,3 l 0,30 c 0,1.65685 -1.34315,3 -3,3 l -45.99985,0 c -1.65685,0 -3,-1.34315 -3,-3 l 0,-30 c 0,-1.65686 1.34315,-3 3,-3 z"
id="path204"
inkscape:connector-curvature="0"
style="fill:#3fbab2;stroke:none"
sodipodi:nodetypes="sssssssss" />
<path
d="m 220.03055,177.01595 45.99985,0 c 1.65685,0 3,1.34314 3,3 l 0,30 c 0,1.65685 -1.34315,3 -3,3 l -45.99985,0 c -0.82843,0 -1.57843,-0.33579 -2.12132,-0.87868 -0.54289,-0.54289 -0.87868,-1.29289 -0.87868,-2.12132 l 0,-15 0,-15 c 0,-0.82843 0.33579,-1.57843 0.87868,-2.12132 0.54289,-0.5429 1.29289,-0.87868 2.12132,-0.87868 z"
id="path206"
inkscape:connector-curvature="0"
style="fill:none;stroke:#1e9189;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
sodipodi:nodetypes="sssssssscsss" />
<text
sodipodi:linespacing="125%"
id="text208"
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
id="tspan4291"
sodipodi:role="line">MySQL</tspan>
</text>
<path
sodipodi:nodetypes="sssssssss"
style="fill:#3fbab2;stroke:none"
inkscape:connector-curvature="0"
id="path204"
d="m 220.03055,177.01595 45.99985,0 c 1.65685,0 3,1.34314 3,3 l 0,30 c 0,1.65685 -1.34315,3 -3,3 l -45.99985,0 c -1.65685,0 -3,-1.34315 -3,-3 l 0,-30 c 0,-1.65686 1.34315,-3 3,-3 z" />
<path
sodipodi:nodetypes="sssssssscsss"
style="fill:none;stroke:#1e9189;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
inkscape:connector-curvature="0"
id="path206"
d="m 220.03055,177.01595 45.99985,0 c 1.65685,0 3,1.34314 3,3 l 0,30 c 0,1.65685 -1.34315,3 -3,3 l -45.99985,0 c -0.82843,0 -1.57843,-0.33579 -2.12132,-0.87868 -0.54289,-0.54289 -0.87868,-1.29289 -0.87868,-2.12132 l 0,-15 0,-15 c 0,-0.82843 0.33579,-1.57843 0.87868,-2.12132 0.54289,-0.5429 1.29289,-0.87868 2.12132,-0.87868 z" />
<text
y="200.61603"
x="218.88231"
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
id="text208"
sodipodi:linespacing="125%">
<tspan
y="200.61603"
x="218.88231"
y="200.61603">
<tspan
sodipodi:role="line"
id="tspan4489"
x="218.88231"
y="200.61603">coordinator</tspan>
<tspan
sodipodi:role="line"
id="tspan4491"
x="218.88231"
y="210.61603">nodes</tspan>
</text>
<path
d="m 144.79263,252.63839 30,0 c 1.65685,0 3,1.34315 3,3 l 0,30 c 0,1.65686 -1.34315,3 -3,3 l -30,0 c -1.65685,0 -3,-1.34314 -3,-3 l 0,-30 c 0,-1.65685 1.34315,-3 3,-3 z"
id="path213"
inkscape:connector-curvature="0"
style="opacity:0.5;fill:#5ec2f2;stroke:none;filter:url(#filter4655)" />
<path
d="m 144.79263,252.63839 30,0 c 1.65685,0 3,1.34315 3,3 l 0,30 c 0,1.65686 -1.34315,3 -3,3 l -30,0 c -1.65685,0 -3,-1.34314 -3,-3 l 0,-30 c 0,-1.65685 1.34315,-3 3,-3 z"
id="path215"
inkscape:connector-curvature="0"
style="opacity:0.5;fill:none;stroke:#44a8d9;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;filter:url(#filter4651)" />
<text
id="text217"
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
x="144.0856"
id="tspan4489"
sodipodi:role="line">coordinator</tspan>
<tspan
y="210.61603"
x="218.88231"
id="tspan4491"
sodipodi:role="line">nodes</tspan>
</text>
<path
style="opacity:0.5;fill:#191f7d;fill-opacity:1;stroke:none;filter:url(#filter5038)"
inkscape:connector-curvature="0"
id="path213"
d="m 144.79263,252.63839 30,0 c 1.65685,0 3,1.34315 3,3 l 0,30 c 0,1.65686 -1.34315,3 -3,3 l -30,0 c -1.65685,0 -3,-1.34314 -3,-3 l 0,-30 c 0,-1.65685 1.34315,-3 3,-3 z"
transform="translate(-2.6747754e-6,-3.30513e-8)" />
<path
style="opacity:0.5;fill:none;stroke:#080b3e;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;filter:url(#filter5034)"
inkscape:connector-curvature="0"
id="path215"
d="m 144.79263,252.63839 30,0 c 1.65685,0 3,1.34315 3,3 l 0,30 c 0,1.65686 -1.34315,3 -3,3 l -30,0 c -1.65685,0 -3,-1.34314 -3,-3 l 0,-30 c 0,-1.65685 1.34315,-3 3,-3 z"
transform="translate(-2.6747754e-6,-3.30513e-8)" />
<text
sodipodi:linespacing="125%"
y="274.63846"
x="144.0856"
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
id="text217">
<tspan
y="274.63846"
sodipodi:linespacing="125%">
<tspan
sodipodi:role="line"
id="tspan4485"
x="144.0856"
y="274.63846">deep</tspan>
<tspan
sodipodi:role="line"
id="tspan4487"
x="144.0856"
y="284.63846">storage</tspan>
</text>
<path
d="m 319.90796,137.13819 30,0 c 1.65686,0 3,1.34315 3,3 l 0,30 c 0,1.65686 -1.34314,3 -3,3 l -30,0 c -1.65685,0 -3,-1.34314 -3,-3 l 0,-30 c 0,-1.65685 1.34315,-3 3,-3 z"
id="path222"
inkscape:connector-curvature="0"
style="opacity:0.5;fill:#d443a4;stroke:none;filter:url(#filter4679)" />
<path
d="m 319.90796,137.13819 30,0 c 1.65686,0 3,1.34315 3,3 l 0,30 c 0,1.65686 -1.34314,3 -3,3 l -30,0 c -1.65685,0 -3,-1.34314 -3,-3 l 0,-30 c 0,-1.65685 1.34315,-3 3,-3 z"
id="path224"
inkscape:connector-curvature="0"
style="opacity:0.5;fill:none;stroke:#ad3184;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;filter:url(#filter4675)" />
<text
sodipodi:linespacing="125%"
id="text226"
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
x="144.0856"
id="tspan4485"
sodipodi:role="line">deep</tspan>
<tspan
y="284.63846"
x="144.0856"
id="tspan4487"
sodipodi:role="line">storage</tspan>
</text>
<path
style="opacity:0.5;fill:#d443a4;stroke:none;filter:url(#filter5054)"
inkscape:connector-curvature="0"
id="path222"
d="m 319.90796,137.13819 30,0 c 1.65686,0 3,1.34315 3,3 l 0,30 c 0,1.65686 -1.34314,3 -3,3 l -30,0 c -1.65685,0 -3,-1.34314 -3,-3 l 0,-30 c 0,-1.65685 1.34315,-3 3,-3 z"
transform="translate(-2.6747754e-6,-3.30513e-8)" />
<path
style="opacity:0.5;fill:none;stroke:#ad3184;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;filter:url(#filter5050)"
inkscape:connector-curvature="0"
id="path224"
d="m 319.90796,137.13819 30,0 c 1.65686,0 3,1.34315 3,3 l 0,30 c 0,1.65686 -1.34314,3 -3,3 l -30,0 c -1.65685,0 -3,-1.34314 -3,-3 l 0,-30 c 0,-1.65685 1.34315,-3 3,-3 z"
transform="translate(-2.6747754e-6,-3.30513e-8)" />
<text
y="159.69537"
x="318.52225"
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
id="text226"
sodipodi:linespacing="125%">
<tspan
y="159.69537"
x="318.52225"
y="159.69537">
<tspan
sodipodi:role="line"
id="tspan4309"
x="318.52225"
y="159.69537">Zoo</tspan>
<tspan
sodipodi:role="line"
id="tspan4311"
x="318.52225"
y="169.69537">Keeper</tspan>
</text>
<line
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)"
id="line293"
y2="154.63828"
x2="467.89215"
y1="154.63824"
x1="453.12442" />
<path
d="m 411.06442,137.13821 30,0 c 1.65685,0 3,1.34314 3,3 l 0,30 c 0,1.65685 -1.34315,3 -3,3 l -30,0 c -1.65687,0 -3,-1.34315 -3,-3 l 0,-30 c 0,-1.65686 1.34313,-3 3,-3 z"
id="path296"
inkscape:connector-curvature="0"
style="fill:#fbae4e;stroke:none" />
<path
d="m 411.06442,137.13821 30,0 c 1.65685,0 3,1.34314 3,3 l 0,30 c 0,1.65685 -1.34315,3 -3,3 l -30,0 c -1.65687,0 -3,-1.34315 -3,-3 l 0,-30 c 0,-1.65686 1.34313,-3 3,-3 z"
id="path298"
inkscape:connector-curvature="0"
style="fill:none;stroke:#e48819;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
<text
id="text300"
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
x="409.95114"
id="tspan4309"
sodipodi:role="line">Zoo</tspan>
<tspan
y="169.69537"
x="318.52225"
id="tspan4311"
sodipodi:role="line">Keeper</tspan>
</text>
<line
x1="453.12442"
y1="154.63824"
x2="467.89215"
y2="154.63828"
id="line293"
style="fill:none;stroke:#7f95a7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker-start:url(#FilledArrow_Marker_2);marker-end:url(#FilledArrow_Marker)" />
<path
style="fill:#fbae4e;stroke:none"
inkscape:connector-curvature="0"
id="path296"
d="m 411.06442,137.13821 30,0 c 1.65685,0 3,1.34314 3,3 l 0,30 c 0,1.65685 -1.34315,3 -3,3 l -30,0 c -1.65687,0 -3,-1.34315 -3,-3 l 0,-30 c 0,-1.65686 1.34313,-3 3,-3 z" />
<path
style="fill:none;stroke:#e48819;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
inkscape:connector-curvature="0"
id="path298"
d="m 411.06442,137.13821 30,0 c 1.65685,0 3,1.34314 3,3 l 0,30 c 0,1.65685 -1.34315,3 -3,3 l -30,0 c -1.65687,0 -3,-1.34315 -3,-3 l 0,-30 c 0,-1.65686 1.34313,-3 3,-3 z" />
<text
sodipodi:linespacing="125%"
y="159.77753"
x="409.95114"
style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
id="text300">
<tspan
y="159.77753"
sodipodi:linespacing="125%">
<tspan
sodipodi:role="line"
id="tspan4481"
x="409.95114"
y="159.77753">broker</tspan>
<tspan
sodipodi:role="line"
id="tspan4483"
x="409.95114"
y="169.77753">nodes</tspan>
</text>
</g>
x="409.95114"
id="tspan4481"
sodipodi:role="line">broker</tspan>
<tspan
y="169.77753"
x="409.95114"
id="tspan4483"
sodipodi:role="line">nodes</tspan>
</text>
<path
d="m 424.40234,240.03369 30,0 c 1.65685,0 3,1.34315 3,3 l 0,30 c 0,1.65685 -1.34315,3 -3,3 l -30,0 c -1.65685,0 -3,-1.34315 -3,-3 l 0,-30 c 0,-1.65685 1.34315,-3 3,-3 z"
id="path5004"
inkscape:connector-curvature="0"
style="opacity:0.5;fill:#a3a3a3;fill-opacity:1;stroke:none;filter:url(#filter5062)"
transform="matrix(0.5,0,0,0.5,170.45068,213.49402)" />
<path
d="m 424.40234,240.03369 30,0 c 1.65685,0 3,1.34315 3,3 l 0,30 c 0,1.65685 -1.34315,3 -3,3 l -30,0 c -1.65685,0 -3,-1.34315 -3,-3 l 0,-30 c 0,-1.65685 1.34315,-3 3,-3 z"
id="path5006"
inkscape:connector-curvature="0"
style="opacity:0.5;fill:none;stroke:#8f8f8f;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;filter:url(#filter5058)"
transform="matrix(0.5,0,0,0.5,170.45068,213.49402)" />
<text
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#33424f;stroke:none;font-family:Open Sans;-inkscape-font-specification:Open Sans Semi-Bold"
id="text5012"
x="399.03949"
y="315.00461"
sodipodi:linespacing="125%">
<tspan
style="font-size:9.60000038px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#33424f;font-family:Open Sans;-inkscape-font-specification:Open Sans Light"
id="tspan5016"
textLength="26.115234"
y="345.00461"
x="406.6102"
font-weight="bold"
font-size="12">external dependencies</tspan>
</text>
<path
d="m 382.65185,305.62966 15,0 c 0.82843,0 1.5,0.67157 1.5,1.5 l 0,15 c 0,0.82842 -0.67157,1.5 -1.5,1.5 l -15,0 c -0.82844,0 -1.5,-0.67158 -1.5,-1.5 l 0,-15 c 0,-0.82843 0.67156,-1.5 1.5,-1.5 z"
id="path5026"
inkscape:connector-curvature="0"
style="fill:#a5a5a5;fill-opacity:1;stroke:none" />
<path
d="m 382.65185,305.62966 15,0 c 0.82843,0 1.5,0.67157 1.5,1.5 l 0,15 c 0,0.82842 -0.67157,1.5 -1.5,1.5 l -15,0 c -0.82844,0 -1.5,-0.67158 -1.5,-1.5 l 0,-15 c 0,-0.82843 0.67156,-1.5 1.5,-1.5 z"
id="path5028"
inkscape:connector-curvature="0"
style="fill:none;stroke:#7f7f7f;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
<text
sodipodi:linespacing="125%"
y="287.12341"
x="399.03949"
id="text5030"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#33424f;stroke:none;font-family:Open Sans;-inkscape-font-specification:Open Sans Semi-Bold">
<tspan
font-size="12"
font-weight="bold"
x="406.6102"
y="317.12341"
textLength="26.115234"
id="tspan5032"
style="font-size:9.60000038px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#33424f;font-family:Open Sans;-inkscape-font-specification:Open Sans Light">druid components</tspan>
</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -4,5 +4,34 @@ layout: doc_page
# Data Flow
<img src="../img/druid-dataflow-2x.png" width="800" height="434">
The diagram below illustrates how different Druid nodes download data and respond to queries:
<img src="../img/druid-dataflow-2x.png" width="800"/>
### Real-time Nodes
Real-time nodes ingest streaming data and announce themselves and the segments they are serving in Zookeeper on start up. During the segment hand-off stage, real-time nodes create a segment metadata entry in MySQL for the segment to hand-off. This segment is uploaded to Deep Storage. Real-time nodes use Zookeeper to monitor when historical nodes complete downloading the segment (indicating hand-off completion) so that it can forget about it. Real-time nodes also respond to query requests from broker nodes and also return query results to the broker nodes.
### Deep Storage
Batch indexed segments and segments created by real-time nodes are uploaded to deep storage. Historical nodes download these segments to serve for queries.
### MySQL
Real-time nodes and batch indexing create new segment metadata entries for the new segments they've created. Coordinator nodes read this metadata table to determine what segments should be loaded in the cluster.
### Coordinator Nodes
Coordinator nodes read segment metadata information from MySQL to determine what segments should be loaded in the cluster. Coordinator nodes user Zookeeper to determine what historical nodes exist, and also create Zookeeper entries to tell historical nodes to load and drop new segments.
### Zookeeper
Real-time nodes announce themselves and the segments they are serving in Zookeeper and also use Zookeeper to monitor segment hand-off. Coordinator nodes use Zookeeper to determine what historical nodes exist in the cluster and create new entries to communicate to historical nodes to load or drop new data. Historical nodes announce themselves and the segments they serve in Zookeeper. Historical nodes also monitor Zookeeper for new load or drop requests. Broker nodes use Zookeeper to determine what historical and real-time nodes exist in the cluster.
### Historical Nodes
Historical nodes announce themselves and the segments they are serving in Zookeeper. Historical nodes also use Zookeeper to monitor for signals to load or drop new segments. Historical nodes download segments from deep storage, respond to the queries from broker nodes about these segments, and return results to the broker nodes.
### Broker Nodes
Broker nodes receive queries from external clients and forward those queries down to real-time and historical nodes. When the individual nodes return their results, broker nodes merge these results and returns them to the caller. Broker nodes use Zookeeper to determine what real-time and historical nodes exist.

View File

@ -47,7 +47,7 @@ The data store world is vast, confusing and constantly in flux. This page is mea
Key Features
------------
- **Designed for Analytics** - Druid is built for exploratory analytics for OLAP workflows (streamalytics). It supports a variety of filters, aggregators and query types and provides a framework for plugging in new functionality. Users have leveraged Druids infrastructure to develop features such as top K queries and histograms.
- **Designed for Analytics** - Druid is built for exploratory analytics for OLAP workflows. It supports a variety of filters, aggregators and query types and provides a framework for plugging in new functionality. Users have leveraged Druids infrastructure to develop features such as top K queries and histograms.
- **Interactive Queries** - Druids low latency data ingestion architecture allows events to be queried milliseconds after they are created. Druids query latency is optimized by only reading and scanning exactly what is needed. Aggregate and filter on data without sitting around waiting for results.
- **Highly Available** - Druid is used to back SaaS implementations that need to be up all the time. Your data is still available and queryable during system updates. Scale up or down without data loss.
- **Scalable** - Existing Druid deployments handle billions of events and terabytes of data per day. Druid is designed to be petabyte scale.

View File

@ -320,7 +320,7 @@ Feel free to tweak other query parameters to answer other questions you may have
Next Steps
----------
What to know even more information about the Druid Cluster? Check out [Tutorial%3A The Druid Cluster](Tutorial%3A-The-Druid-Cluster.html)
What to know even more information about the Druid Cluster? Check out [The Druid Cluster](Tutorial%3A-The-Druid-Cluster.html)
Druid is even more fun if you load your own data into it! To learn how to load your data, see [Loading Your Data](Tutorial%3A-Loading-Your-Data-Part-1.html).

View File

@ -244,6 +244,5 @@ druid.processing.buffer.sizeBytes=10000000
Next Steps
----------
Now that you have an understanding of what the Druid cluster looks like, why not load some of your own data?
If you are intested in how data flows through the different Druid components, check out the Druid [Data Flow](Data-Flow.html). Now that you have an understanding of what the Druid cluster looks like, why not load some of your own data?
Check out the next [tutorial](Tutorial%3A-Loading-Your-Data-Part-1.html) section for more info!

View File

@ -47,6 +47,7 @@ h2. Querying
h2. Architecture
* "Design":./Design.html
** "Data Flow":./Data-Flow.html
* "Segments":./Segments.html
* Node Types
** "Historical":./Historical.html

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

After

Width:  |  Height:  |  Size: 138 KiB