<docbook><section><title>VirtClusteringDiagrams</title><para> </para>
<title> Clustering Deployment Architecture Diagrams for Virtuoso (Release 6 and later, Commercial Edition only)</title> Clustering Deployment Architecture Diagrams for Virtuoso (Release 6 and later, Commercial Edition only)
<bridgehead class="http://www.w3.org/1999/xhtml:h2"> Does my Virtuoso deployment support Replication Clustering and/or Elastic Clustering?</bridgehead>
<para><ulink url="VirtGraphReplication">Replication Clustering</ulink> is a feature of all Commercial Editions of Virtuoso 6 and later.
 It is not available for use in the Open Source Edition (VOS).</para>
<para>Elastic Clustering is enabled by the add-on Cluster Module of Virtuoso 7 and later.
 It is not available for use in the Open Source Edition (VOS).</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2"> Replication Clustering</bridgehead>
<para>Replication clusters provide redundancy and disaster recovery, and can provide some degree of load balancing and high availability -- but the downstream subscribers (commonly called &quot;slaves&quot;) are entirely dependent on the upstream publishers (&quot;masters&quot;) for their data.</para>
<para>READ clients <emphasis>may</emphasis> be allowed to access any instance, but they will only get whatever data has flowed downstream through the replication topology at that point.</para>
<para>In Star or Chain topologies, WRITE clients should only access the most upstream instance, so that all changes flow to all other instances.
 In a Bi-directional topology, it doesn&#39;t matter which instance a WRITE client targets -- but issues can arise from collisions, when conflicting WRITEs are made to opposite ends of the stream.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> Replication Clustering with Single-Server Virtuoso instances</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="VirtGraphReplicationStar">Star Topology</ulink> <figure><graphic fileref="VirtClusteringDiagrams/../VirtGraphReplicationStar/topo-star.png" /></figure> </listitem>
<listitem><ulink url="VirtGraphReplicationChain">Chain Topology</ulink> <figure><graphic fileref="VirtClusteringDiagrams/../VirtGraphReplicationChain/topo-chain.png" /></figure> </listitem>
<listitem><ulink url="VirtGraphReplicationBiDirectional">2-node Bi-directional Topology</ulink> <figure><graphic fileref="VirtClusteringDiagrams/../VirtGraphReplicationBiDirectional/topo-bidirectional.png" /></figure></listitem>
</itemizedlist><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2"> Shared-Nothing Elastic Clustering</bridgehead>
<para><ulink url="http://docs.openlinksw.com/virtuoso/clusteroperation/">Shared-Nothing Elastic Clustering</ulink> is enabled by the Cluster Module, an optionally licensed component of Virtuoso 7 and later.</para>
<para>Clients may access any instance in an Elastic Cluster, and every instance in the Elastic Cluster effectively has <emphasis>all</emphasis> data available to it at all times.</para>
<para>Each Single-Server instance shown in the basic Replication Clustering, above, could be replaced by one of the &quot;clouds&quot; shown below.
 Typically, the deployment configuration within each &quot;cloud&quot; in a given Replication Cluster would be the same as in all the others, but there <emphasis>are</emphasis> circumstances where the instances in a replication cluster might not be identical.</para>
<para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> Simple Elastic Clustering (quorums of 1 instance per cluster node)</bridgehead>
<para>Adding hosts to an elastic cluster provides more resources, and thus improves performance, and increases capacities.</para>
<para>The three clouds below may be viewed as a deployment&#39;s growth from initial deployment on one host (with one license file), expanding to 2 hosts (and two license files), and on to four hosts (and four license files).</para>
<para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h4"> Four cluster nodes, one cluster host node</bridgehead>
<ulink url="VirtClusteringDiagrams/elastic-simple-1-host-4-nodes.png"><figure><graphic fileref="VirtClusteringDiagrams/elastic-simple-1-host-4-nodes.png" /></figure></ulink><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h4"> Four cluster nodes, two cluster host nodes</bridgehead>
<ulink url="VirtClusteringDiagrams/elastic-simple-2-hosts-4-nodes.png"><figure><graphic fileref="VirtClusteringDiagrams/elastic-simple-2-hosts-4-nodes.png" /></figure></ulink><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h4"> Four cluster nodes, four cluster host nodes</bridgehead>
<ulink url="VirtClusteringDiagrams/elastic-simple-4-hosts-4-nodes.png"><figure><graphic fileref="VirtClusteringDiagrams/elastic-simple-4-hosts-4-nodes.png" /></figure></ulink><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> High Availability Elastic Clustering (quorums of three instances per cluster node)</bridgehead>
<para>The three clouds in this section may be viewed as a high-availability version of the preceding three, likewise evolving from smaller scale to larger scale.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h4"> Four cluster nodes, three instances per cluster node (quorum), four instances per cluster host node, three cluster host nodes</bridgehead>
<ulink url="VirtClusteringDiagrams/elastic-ha-3-hosts-4-nodes-of-3-instance-quorums.png"><figure><graphic fileref="VirtClusteringDiagrams/elastic-ha-3-hosts-4-nodes-of-3-instance-quorums.png" /></figure></ulink><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h4"> Four cluster nodes, three instances per cluster node (quorum), two instances per cluster host node, six cluster host nodes</bridgehead>
<ulink url="VirtClusteringDiagrams/elastic-ha-6-hosts-4-nodes-of-3-instance-quorums.png"><figure><graphic fileref="VirtClusteringDiagrams/elastic-ha-6-hosts-4-nodes-of-3-instance-quorums.png" /></figure></ulink><bridgehead class="http://www.w3.org/1999/xhtml:h4"> Four cluster nodes, three instances per cluster node (quorum), one instance per cluster host node, twelve cluster host nodes</bridgehead>
<ulink url="VirtClusteringDiagrams/elastic-ha-12-hosts-4-nodes-of-3-instance-quorums.png"><figure><graphic fileref="VirtClusteringDiagrams/elastic-ha-12-hosts-4-nodes-of-3-instance-quorums.png" /></figure></ulink> </section></docbook>