This is an automated email from the ASF dual-hosted git repository.
isapego pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite-website.git
The following commit(s) were added to refs/heads/master by this push:
new bd280022da IGNITE-27092 Replace mermaid diagram with image (#286)
bd280022da is described below
commit bd280022daae4e20944598f7c86262ab9b7d77c2
Author: IgGusev <[email protected]>
AuthorDate: Tue Nov 18 21:36:35 2025 +0400
IGNITE-27092 Replace mermaid diagram with image (#286)
---
.../schema-design-for-distributed-systems-ai3.pug | 31 +--------------
_src/_components/base.pug | 4 +-
_src/_components/templates/post.pug | 12 +-----
assets/images/schema-design.png | Bin 0 -> 80634 bytes
.../schema-design-for-distributed-systems-ai3.html | 43 +--------------------
5 files changed, 6 insertions(+), 84 deletions(-)
diff --git a/_src/_blog/schema-design-for-distributed-systems-ai3.pug
b/_src/_blog/schema-design-for-distributed-systems-ai3.pug
index 33e26c2b75..d92fd94e7c 100644
--- a/_src/_blog/schema-design-for-distributed-systems-ai3.pug
+++ b/_src/_blog/schema-design-for-distributed-systems-ai3.pug
@@ -90,35 +90,8 @@ p.
-pre.mermaid.
- %%{init: {
- "themeVariables": { "fontSize": "24px" },
- "flowchart": { "htmlLabels": true, "useMaxWidth": true, "nodeSpacing": 90,
"rankSpacing": 90, "diagramPadding": 28 }
- }}%%
- graph TB
- subgraph "3-Node Cluster"
- N1["Node 1 Partitions: 0,3,6,9"]
- N2["Node 2 Partitions: 1,4,7,10"]
- N3["Node 3 Partitions: 2,5,8,11"]
- end
-
- subgraph "Album Table - colocateBy ArtistId"
- B1["AlbumId=101, ArtistId=1 hash(1)→P1 Node 2"]
- B2["AlbumId=102, ArtistId=1 hash(1)→P1 Node 2"]
- B3["AlbumId=201, ArtistId=22 hash(22)→P11 Node 3"]
- B4["AlbumId=301, ArtistId=42 hash(42)→P6 Node 1"]
- end
-
- subgraph "Artist Table"
- A1["ArtistId=1 hash→P1 Node 2"]
- A2["ArtistId=22 hash→P11 Node 3"]
- A3["ArtistId=42 hash→P6 Node 1"]
- end
-
- A1 -.->|"Same partition"| B1 -.-> N2
- A1 -.->|"Same partition"| B2 -.-> N2
- A2 -.->|"Same partition"| B3 -.-> N3
- A3 -.->|"Same partition"| B4 -.-> N1
+p
+ img(src="/assets/images/schema-design.png" alt="Data colocation diagram
showing how Artist and Album tables are partitioned across a 3-node cluster"
style="max-width: 100%; height: auto;")
p.
Colocation configuration in your schema ensures that Album records use the
#[code ArtistId] value (not #[code AlbumId]) for partition assignment. This
guarantees that Artist 1 and all albums with #[code ArtistId = 1] hash to the
same partition and therefore live on the same nodes.
diff --git a/_src/_components/base.pug b/_src/_components/base.pug
index af7259b27b..16528f74e2 100644
--- a/_src/_components/base.pug
+++ b/_src/_components/base.pug
@@ -26,6 +26,4 @@ html(lang="en")
script(src="/js/vendor/hystmodal/hystmodal.min.js")
script(src="/js/vendor/smoothscroll.js")
- script(src="/js/main.js?ver=" + config.version)
-
- block scripts
+ script(src="/js/main.js?ver=" + config.version)
\ No newline at end of file
diff --git a/_src/_components/templates/post.pug
b/_src/_components/templates/post.pug
index 3e69606d95..a940bc08e9 100644
--- a/_src/_components/templates/post.pug
+++ b/_src/_components/templates/post.pug
@@ -33,14 +33,4 @@ block main
a(href=`/blog/${tag}`)= tag
aside.blog__sidebar
- include ./../../_src/_components/templates/tags.pug
-
-block append scripts
- script(src='https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js')
- script.
- (function () {
- mermaid.initialize({ startOnLoad: false, securityLevel: 'strict' });
- if (document.querySelector('.mermaid')) {
- mermaid.run({ querySelector: '.mermaid' });
- }
- }());
\ No newline at end of file
+ include ./../../_src/_components/templates/tags.pug
\ No newline at end of file
diff --git a/assets/images/schema-design.png b/assets/images/schema-design.png
new file mode 100644
index 0000000000..4434a0fec9
Binary files /dev/null and b/assets/images/schema-design.png differ
diff --git a/blog/schema-design-for-distributed-systems-ai3.html
b/blog/schema-design-for-distributed-systems-ai3.html
index 87fa0fae23..fc56eac1f5 100644
--- a/blog/schema-design-for-distributed-systems-ai3.html
+++ b/blog/schema-design-for-distributed-systems-ai3.html
@@ -117,7 +117,7 @@
<nav class="hdrmenu">
<ul class="flexi">
<li class="js-hasdrop"><a class="hdrmenu--expanded" href="/"
data-panel="getStarted">Get Started</a></li>
- <li class="js-hasdrop"><a class="hdrmenu--expanded"
href="/features" data-panel="features">Features</a></li>
+ <li class="js-hasdrop"><a class="hdrmenu__current
hdrmenu--expanded" href="/features" data-panel="features">Features</a></li>
<li class="js-hasdrop"><a class="hdrmenu--expanded"
href="/community.html" data-panel="community">Community</a></li>
<li><a href="/use-cases/provenusecases.html"
data-panel="">Powered By</a></li>
<li class="js-hasdrop"><a class="hdrmenu--expanded"
href="/resources.html" data-panel="resources">Resources</a></li>
@@ -415,37 +415,7 @@
The diagram below shows how colocation works in practice.
Artist and Album tables use different primary keys, but colocation strategy
ensures albums are partitioned by <code>ArtistId</code> rather than
<code>AlbumId</code>:
</p>
- <pre class="mermaid">
-%%{init: {
- "themeVariables": { "fontSize": "24px" },
- "flowchart": { "htmlLabels": true, "useMaxWidth": true, "nodeSpacing": 90,
"rankSpacing": 90, "diagramPadding": 28 }
-}}%%
-graph TB
- subgraph "3-Node Cluster"
- N1["Node 1 Partitions: 0,3,6,9"]
- N2["Node 2 Partitions: 1,4,7,10"]
- N3["Node 3 Partitions: 2,5,8,11"]
- end
-
- subgraph "Album Table - colocateBy ArtistId"
- B1["AlbumId=101, ArtistId=1 hash(1)→P1 Node 2"]
- B2["AlbumId=102, ArtistId=1 hash(1)→P1 Node 2"]
- B3["AlbumId=201, ArtistId=22 hash(22)→P11 Node 3"]
- B4["AlbumId=301, ArtistId=42 hash(42)→P6 Node 1"]
- end
-
- subgraph "Artist Table"
- A1["ArtistId=1 hash→P1 Node 2"]
- A2["ArtistId=22 hash→P11 Node 3"]
- A3["ArtistId=42 hash→P6 Node 1"]
- end
-
- A1 -.->|"Same partition"| B1 -.-> N2
- A1 -.->|"Same partition"| B2 -.-> N2
- A2 -.->|"Same partition"| B3 -.-> N3
- A3 -.->|"Same partition"| B4 -.-> N1
-</pre
- >
+ <p><img src="/assets/images/schema-design.png" alt="Data
colocation diagram showing how Artist and Album tables are partitioned across a
3-node cluster" style="max-width: 100%; height: auto" /></p>
<p>
Colocation configuration in your schema ensures that Album
records use the <code>ArtistId</code> value (not <code>AlbumId</code>) for
partition assignment. This guarantees that Artist 1 and all albums with
<code>ArtistId = 1</code> hash to the same partition and
therefore live on the same nodes.
@@ -748,14 +718,5 @@ albums.upsert(null, abbeyRoad); // Automatically
colocated with artist
<script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
<script src="/js/vendor/smoothscroll.js"></script>
<script src="/js/main.js?ver=0.9"></script>
- <script
src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
- <script>
- (function () {
- mermaid.initialize({ startOnLoad: false, securityLevel: 'strict' });
- if (document.querySelector('.mermaid')) {
- mermaid.run({ querySelector: '.mermaid' });
- }
- })();
- </script>
</body>
</html>