Skip to content

Add converged-modeling-patterns lab (with hands-on console) + Workshop 1 deck - #12

Merged
WSPluta merged 12 commits into
mainfrom
labs/add-converged-modeling-patterns
Oct 1, 2026
Merged

WSPluta merged 12 commits into
mainfrom
labs/add-converged-modeling-patterns

Conversation

@rhoulihan

@rhoulihan rhoulihan commented Sep 25, 2026 •

Copy link
Copy Markdown
Collaborator

What this adds

A new self-contained lab, labs/converged-modeling-patterns/, plus the 90-minute Workshop 1 deck it backs.

The lab — six document-modeling patterns (Extended Reference, Computed, Bucket, Subset, Tree/Hierarchy, Outlier), each a runnable side-by-side: the document-model starting point and the converged alternative that keeps the read win without the write amplification. Validated on one free Oracle AI Database 26ai container across two lanes — SQL (sqlplus) and the Oracle API for MongoDB (mongosh) — with cross-API parity assertions proving both lanes return byte-identical results (./run.sh → 19 passed, 0 failed: 18 lab scripts + the console's test suite).

The hands-on console — app/, a browser console served by the lab-ui compose service (http://localhost:3100). Attendees view, copy, edit and run every pattern's SQL and MongoDB statements; a single-permit gate keeps one attendee statement in the database at a time (load-tested at 150 attendees), and a read-only cache absorbs a room re-running the same card. Measure it runs each document-model write and its converged counterpart in one exclusive slot and plots the redo ratio on a per-pattern curve calibrated on 26ai Free. Solo mode for self-study; event mode gives each attendee their own workspace plus an instructor admin page (docs/instructor-runbook.md). ⓘ help on every card, tab and knob explains what each step does and why it matters.

The deck — presentations/converged-data-modeling-workshop1.html, the lecture the lab backs.

Conventions

Mirrors labs/converged-database-lab/: self-contained lab dir, a row in labs/README.md, and a per-lab CI workflow (.github/workflows/converged-modeling-patterns.yml, nightly + on-PR). UPL 1.0 throughout (inherits the repo-root license).

🤖 Generated with Claude Code

https://claude.ai/code/session_01BeoRFyVLAZ7nma6UueR1P6

New self-contained lab under labs/converged-modeling-patterns/: six document-
modeling patterns as runnable side-by-sides — the document-model starting point
and the converged alternative that keeps the read win without the write
amplification — validated across two lanes (SQL via sqlplus and the Oracle API
for MongoDB via mongosh) with cross-API parity assertions, on a free Oracle AI
Database 26ai container. Also adds the 90-minute Workshop 1 deck under
presentations/.

Mirrors the converged-database-lab conventions: a self-contained lab directory,
a row in labs/README.md, and a per-lab CI workflow
(.github/workflows/converged-modeling-patterns.yml) that builds the image and
runs ./run.sh to grade both lanes nightly, on push, and on PR. Licensed under
UPL 1.0 — inherits the hub root LICENSE.txt with no in-subdir LICENSE, matching
converged-database-lab.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BeoRFyVLAZ7nma6UueR1P6
@oracle-contributor-agreement oracle-contributor-agreement Bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Sep 25, 2026
@oracle-contributor-agreement

Copy link
Copy Markdown

Thank you for your pull request and welcome to our community! To contribute, please sign the Oracle Contributor Agreement (OCA).
The following contributors of this PR have not signed the OCA:

To sign the OCA, please create an Oracle account and sign the OCA in Oracle's Contributor Agreement Application.

When signing the OCA, please provide your GitHub username. After signing the OCA and getting an OCA approval from Oracle, this PR will be automatically updated.

If you are an Oracle employee, please make sure that you are a member of the main Oracle GitHub organization, and your membership in this organization is public.

@oracle-contributor-agreement oracle-contributor-agreement Bot added OCA Required At least one contributor does not have an approved Oracle Contributor Agreement. and removed OCA Verified All contributors have signed the Oracle Contributor Agreement. labels Sep 29, 2026
@rhoulihan rhoulihan changed the title Add converged-modeling-patterns lab + Workshop 1 deck Add converged-modeling-patterns lab (with hands-on console) + Workshop 1 deck Sep 30, 2026
rhoulihan and others added 2 commits September 30, 2026 08:36
Each of the six patterns (Extended Reference, Computed, Bucket, Subset,
Tree/Hierarchy, Outlier) now has four slides: the problem (access patterns
and the document as built), the model (canonical ERD vs where writes land),
where the knobs flip it (illustrative cost model with the break-even and
where the document design still wins), and the converged answer (projection
flow, SQL from the validated lab, before/after). Speaker notes on every
slide. Slides outside the pattern walk are unchanged. 27 -> 45 slides.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BeoRFyVLAZ7nma6UueR1P6
…hop 1 deck

Syncs the lab with its source repo:
- app/: browser console (lab-ui compose service, port 3100 on localhost by default)
  to view, copy, edit and run every pattern's SQL and MongoDB statements, with a
  single-permit gate, read-only card cache, solo and event modes (per-attendee
  workspaces, admin page), a slide-up console dock and ⓘ help on every card/tab/knob.
- Measure it: V$MYSTAT redo/block deltas for each document vs converged write,
  plotted against a per-pattern calibration curve measured on 26ai Free.
- Patterns 02/06 rescaled and 03's measure pair made equal work so each
  measured claim holds honestly; exported deck figures per pattern.
- run.sh stage 3 runs the console's test suite; docs/instructor-runbook.md added.
- Workshop 1 deck: 02/03/06 wording aligned with the lab's measurements.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BeoRFyVLAZ7nma6UueR1P6
@rhoulihan
rhoulihan force-pushed the labs/add-converged-modeling-patterns branch from b61fa6d to 2949953 Compare September 30, 2026 13:36
@oracle-contributor-agreement oracle-contributor-agreement Bot added OCA Verified All contributors have signed the Oracle Contributor Agreement. and removed OCA Required At least one contributor does not have an approved Oracle Contributor Agreement. labels Sep 30, 2026
rhoulihan and others added 9 commits September 30, 2026 09:28
…er help

The "Open full size" link now sits above the figure (it was pushed out of the
popover's visible area), figure popovers may grow taller, and a hover popover
waits 350 ms before closing so the pointer can cross from the ⓘ into it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BeoRFyVLAZ7nma6UueR1P6
…ker scripts

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BeoRFyVLAZ7nma6UueR1P6
…rough timeline, duality-view walkthrough

Act 1 slides now carry a headline, short bullets and one graphic (full talk
track moved to speaker notes); slide 10 adds the replica/region/backup/CDC
multiplier; slide 13 explains $sql; slide 17 is a step-through duality-view
walkthrough verified on 26ai (allowed write, rejected write, one-row update).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BeoRFyVLAZ7nma6UueR1P6
…y offline)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BeoRFyVLAZ7nma6UueR1P6
Deck: slides 38-45 rebuilt with one graphic each (prose to speaker notes);
review fixes on 13/16/21/22/23/25/28/39-43 ($sql introduced as Oracle's
aggregation-pipeline stage, security callout, multi-region/multi-cloud added
benefit, collection vs duality read cost). Lab: em dashes removed from READMEs,
runbook, help text, UI strings and exported figures.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BeoRFyVLAZ7nma6UueR1P6
…gical model; tables, documents and graphs are projections

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BeoRFyVLAZ7nma6UueR1P6
Sync from rhoulihan/converged-modeling-patterns master (d12f9af: PRs #11, #12).

- Podman: lab.sh runs the stack with the plain podman/docker CLI when no
  compose provider is installed; run.sh falls back to it; the image builds
  on arm64 ($basearch in the mongosh repo).
- Positioning: UMT vocabulary (canonical form = primary truth; projections
  = stored forms; projected shapes = what access surfaces create), every
  pattern framed as a tradeoff with its breakpoint and when the document
  shape stays; deck content (slides 14-39) carried into the lab text.
- Pattern 06 flow figure: "same rows, two reads".

Prose and comments only in patterns/: no SQL/JS logic changed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…eads'

Sync from rhoulihan/converged-modeling-patterns master (3d9f713, PR #13).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@WSPluta
WSPluta merged commit b83e096 into main Oct 1, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OCA Verified All contributors have signed the Oracle Contributor Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants