<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mayank Mudgal</title>
    <description>The latest articles on DEV Community by Mayank Mudgal (@mudgal_mayank).</description>
    <link>https://dev.to/mudgal_mayank</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3981569%2Fd27a7c76-420c-46dc-a856-e2d7c05cfe4a.png</url>
      <title>DEV Community: Mayank Mudgal</title>
      <link>https://dev.to/mudgal_mayank</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mudgal_mayank"/>
    <language>en</language>
    <item>
      <title>From Ambient Memory to Deterministic Autonomy: AI-Native Infrastructure</title>
      <dc:creator>Mayank Mudgal</dc:creator>
      <pubDate>Mon, 21 Sep 2026 18:46:13 +0000</pubDate>
      <link>https://dev.to/mudgal_mayank/from-ambient-memory-to-deterministic-autonomy-ai-native-infrastructure-6hk</link>
      <guid>https://dev.to/mudgal_mayank/from-ambient-memory-to-deterministic-autonomy-ai-native-infrastructure-6hk</guid>
      <description>&lt;p&gt;AI with memory is impressive. AI that makes consistent, governed decisions is transformative.&lt;/p&gt;

&lt;p&gt;Those are not the same capability, and the gap between them is where most roadmaps stall.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ambient memory is table stakes now
&lt;/h2&gt;

&lt;p&gt;Every serious assistant remembers context across a session, sometimes across sessions. It recalls what you asked, what it answered, what you corrected.&lt;/p&gt;

&lt;p&gt;That's genuinely useful for a conversation. It's nowhere near sufficient for an action.&lt;/p&gt;

&lt;h2&gt;
  
  
  What autonomy needs that memory doesn't provide
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Capability&lt;/th&gt;
&lt;th&gt;Ambient memory&lt;/th&gt;
&lt;th&gt;Deterministic autonomy&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Recall&lt;/td&gt;
&lt;td&gt;What was said&lt;/td&gt;
&lt;td&gt;What was &lt;strong&gt;true&lt;/strong&gt;, and when&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Consistency&lt;/td&gt;
&lt;td&gt;Best-effort&lt;/td&gt;
&lt;td&gt;Guaranteed by construction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ambiguity&lt;/td&gt;
&lt;td&gt;Interpolates&lt;/td&gt;
&lt;td&gt;Refuses&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Authorisation&lt;/td&gt;
&lt;td&gt;The session's&lt;/td&gt;
&lt;td&gt;Proven per action, per identity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Evidence&lt;/td&gt;
&lt;td&gt;A transcript&lt;/td&gt;
&lt;td&gt;Reproducible derivation&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The "what was true, and when" row is the whole thing. A system acting autonomously has to know that a definition changed in April, and be able to reconstruct both sides of that change.&lt;/p&gt;

&lt;h2&gt;
  
  
  The progression
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Ambient memory&lt;/strong&gt; — remembers the conversation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Governed memory&lt;/strong&gt; — a typed, versioned graph of what's true, with policy attached&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deterministic execution&lt;/strong&gt; — decisions compiled through that graph, join paths proven, policy injected&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Autonomy&lt;/strong&gt; — the human leaves the loop because being wrong is structurally prevented, not statistically unlikely&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Most products are at step 1 and marketing step 4. Steps 2 and 3 are unglamorous infrastructure, which is exactly why they're skipped.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the order can't be rearranged
&lt;/h2&gt;

&lt;p&gt;You cannot bolt determinism onto a probabilistic pipeline after the fact. The guarantee has to be built into how queries are constructed — which means step 3 depends on step 2 existing first.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The full breakdown&lt;/strong&gt; — the progression in detail, what each stage requires, and the infrastructure behind deterministic autonomy — is here:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://colrows.com/blogs/ambient-memory-to-deterministic-autonomy/" rel="noopener noreferrer"&gt;From Ambient Memory to Deterministic Autonomy: AI-Native Infrastructure&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://colrows.com/blogs/ambient-memory-to-deterministic-autonomy/" rel="noopener noreferrer"&gt;colrows.com/blogs/ambient-memory-to-deterministic-autonomy&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>sql</category>
      <category>llm</category>
      <category>database</category>
    </item>
    <item>
      <title>Semantic Layer vs Text-to-SQL: When Each Wins, and Why Mature Teams Use Both</title>
      <dc:creator>Mayank Mudgal</dc:creator>
      <pubDate>Thu, 17 Sep 2026 14:53:52 +0000</pubDate>
      <link>https://dev.to/mudgal_mayank/semantic-layer-vs-text-to-sql-when-each-wins-and-why-mature-teams-use-both-3jk2</link>
      <guid>https://dev.to/mudgal_mayank/semantic-layer-vs-text-to-sql-when-each-wins-and-why-mature-teams-use-both-3jk2</guid>
      <description>&lt;p&gt;Half the market is evaluating text-to-SQL against a semantic layer, as if it were a choice.&lt;/p&gt;

&lt;p&gt;One turns language into a query. The other decides whether that query is allowed to mean what it says.&lt;/p&gt;

&lt;h2&gt;
  
  
  They operate at different layers
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Text-to-SQL&lt;/th&gt;
&lt;th&gt;Semantic layer&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Responsibility&lt;/td&gt;
&lt;td&gt;Parse intent, emit syntax&lt;/td&gt;
&lt;td&gt;Resolve meaning, grain, joins, policy&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Knows what &lt;code&gt;revenue&lt;/code&gt; means&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes, versioned&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Knows which join is valid&lt;/td&gt;
&lt;td&gt;Guesses&lt;/td&gt;
&lt;td&gt;Proves&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Knows who's asking&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes, and compiles accordingly&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fails how&lt;/td&gt;
&lt;td&gt;Confident wrong answer&lt;/td&gt;
&lt;td&gt;Explicit refusal&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Buying the first without the second gets you fluent SQL over ambiguous meaning — which is the exact failure every enterprise pilot reports.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why mature teams run both
&lt;/h2&gt;

&lt;p&gt;The LLM is genuinely good at one thing: turning messy human phrasing into structured intent. That's real value and worth having.&lt;/p&gt;

&lt;p&gt;What it's bad at is deciding what your business means — because that information was never in its training data and can't be fitted into a prompt.&lt;/p&gt;

&lt;p&gt;So the mature architecture uses each for what it's good at: model handles language, graph handles meaning, planner handles joins, policy engine handles authorisation, compiler emits SQL.&lt;/p&gt;

&lt;h2&gt;
  
  
  The number that makes the case
&lt;/h2&gt;

&lt;p&gt;Give the same model a resolved definition and a proven join and accuracy stops being a function of prompt quality. In our benchmark: &lt;strong&gt;14.5%&lt;/strong&gt; on raw schema, &lt;strong&gt;98.2%&lt;/strong&gt; with compiled context.&lt;/p&gt;

&lt;p&gt;Take the semantic layer away and no model upgrade recovers that gap, because the missing information isn't in the model.&lt;/p&gt;

&lt;h2&gt;
  
  
  The evaluation question
&lt;/h2&gt;

&lt;p&gt;Not "which one." It's whether the tool you're buying &lt;strong&gt;includes&lt;/strong&gt; the substrate, or quietly assumes you already have one.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The full breakdown&lt;/strong&gt; — the layer-by-layer division of responsibility, and how the two compose in production — is here:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://colrows.com/blogs/semantic-layer-vs-text-to-sql/" rel="noopener noreferrer"&gt;Semantic Layer vs Text-to-SQL: When Each Wins, and Why Mature Teams Use Both&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://colrows.com/blogs/semantic-layer-vs-text-to-sql/" rel="noopener noreferrer"&gt;colrows.com/blogs/semantic-layer-vs-text-to-sql&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>sql</category>
      <category>llm</category>
      <category>database</category>
    </item>
    <item>
      <title>Cube Pricing 2026: The Cloud Tiers, the Compute Units, and the Real Cost Drivers</title>
      <dc:creator>Mayank Mudgal</dc:creator>
      <pubDate>Tue, 15 Sep 2026 14:01:00 +0000</pubDate>
      <link>https://dev.to/mudgal_mayank/cube-pricing-2026-the-cloud-tiers-the-compute-units-and-the-real-cost-drivers-2mmd</link>
      <guid>https://dev.to/mudgal_mayank/cube-pricing-2026-the-cloud-tiers-the-compute-units-and-the-real-cost-drivers-2mmd</guid>
      <description>&lt;p&gt;Cube Cloud's pricing page is clearer than most in this category. Credit where it's due.&lt;/p&gt;

&lt;p&gt;The cost that catches teams out isn't on the page — it's pre-aggregation.&lt;/p&gt;

&lt;h2&gt;
  
  
  The tiers are the easy part
&lt;/h2&gt;

&lt;p&gt;Straightforward structure, published, comparable. Start there and then add the three things that actually move the number.&lt;/p&gt;

&lt;h2&gt;
  
  
  What moves the bill
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Driver&lt;/th&gt;
&lt;th&gt;Why it grows&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Pre-aggregations&lt;/td&gt;
&lt;td&gt;What makes Cube fast; they build and refresh continuously&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Refresh frequency&lt;/td&gt;
&lt;td&gt;Set once, rarely revisited, directly multiplies compute&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Query volume&lt;/td&gt;
&lt;td&gt;Scales with every app connected, not with users&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Warehouse compute&lt;/td&gt;
&lt;td&gt;Billed by Snowflake/BigQuery, not by Cube&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data model upkeep&lt;/td&gt;
&lt;td&gt;An engineer's time, permanently&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Refresh frequency is the single most under-examined lever. Teams pick something conservative during setup and never tune it, then wonder why the compute line grew faster than usage.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to model it honestly
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Count applications, not users — each connected app multiplies query volume&lt;/li&gt;
&lt;li&gt;Enumerate pre-aggregations and their refresh cadence&lt;/li&gt;
&lt;li&gt;Attribute the warehouse compute those refreshes cause&lt;/li&gt;
&lt;li&gt;Add the engineer who maintains the data model&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Then run the identical four-part model against anything you're comparing it to. Comparing Cube's tier against another product's total cost flatters it by roughly the size of a salary.&lt;/p&gt;

&lt;h2&gt;
  
  
  The verdict
&lt;/h2&gt;

&lt;p&gt;Cube is well engineered and the pricing is honest. It's a good fit for multi-app estates with a stable metric set.&lt;/p&gt;

&lt;p&gt;Just build the comparison on your actual refresh and query patterns rather than the headline tier — and include the modelling labour on both sides.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The full breakdown&lt;/strong&gt; — tier structure, compute unit mechanics, and a complete cost model — is here:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://colrows.com/blogs/cube-pricing/" rel="noopener noreferrer"&gt;Cube Pricing 2026: The Cloud Tiers, the Compute Units, and the Real Cost Drivers&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://colrows.com/blogs/cube-pricing/" rel="noopener noreferrer"&gt;colrows.com/blogs/cube-pricing&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>dataengineering</category>
      <category>database</category>
      <category>ai</category>
      <category>datascience</category>
    </item>
    <item>
      <title>ThoughtSpot Pricing Explained: List Price, Real Contracts, and the Cost of Modeling</title>
      <dc:creator>Mayank Mudgal</dc:creator>
      <pubDate>Thu, 10 Sep 2026 16:18:25 +0000</pubDate>
      <link>https://dev.to/mudgal_mayank/thoughtspot-pricing-explained-list-price-real-contracts-and-the-cost-of-modeling-30g8</link>
      <guid>https://dev.to/mudgal_mayank/thoughtspot-pricing-explained-list-price-real-contracts-and-the-cost-of-modeling-30g8</guid>
      <description>&lt;p&gt;ThoughtSpot's list price is not the number that decides this deal.&lt;/p&gt;

&lt;p&gt;The worksheet layer someone has to build and maintain is — and it never appears on the quote.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's on the quote
&lt;/h2&gt;

&lt;p&gt;Platform cost is comparable to peers and reasonably transparent once you're in a conversation. Consumption-based tiers scale with query volume, which means &lt;strong&gt;adoption success costs more&lt;/strong&gt; — worth modelling before you celebrate usage growth.&lt;/p&gt;

&lt;h2&gt;
  
  
  What isn't
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Cost&lt;/th&gt;
&lt;th&gt;Why it's invisible&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Worksheet curation&lt;/td&gt;
&lt;td&gt;Determines search quality; needs an owner&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Indexed data volume&lt;/td&gt;
&lt;td&gt;Performance tuning turns into spend&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Re-modelling&lt;/td&gt;
&lt;td&gt;Every upstream schema change&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Query volume growth&lt;/td&gt;
&lt;td&gt;The success case is the expensive case&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The worksheet layer is the real driver. Search quality is a direct function of how well it's curated and how current it's kept — and that's a salary line, not a licence line.&lt;/p&gt;

&lt;h2&gt;
  
  
  The pattern across this category
&lt;/h2&gt;

&lt;p&gt;It's consistent: the licence buys the engine, and the semantics are a labour cost nobody budgets for. That's true of ThoughtSpot, Looker, AtScale and Cube alike, in different proportions.&lt;/p&gt;

&lt;p&gt;Which means the only honest comparison prices three things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Licence and platform&lt;/li&gt;
&lt;li&gt;Compute and indexing&lt;/li&gt;
&lt;li&gt;The person who maintains the model&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Run that model against every option, including one where the modelling line is the system's job rather than a headcount. The ranking often changes.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to negotiate it
&lt;/h2&gt;

&lt;p&gt;Model your query volume at 3× current usage, not current. Consumption pricing rewards vendors when you succeed, and the second-year invoice is where that lands.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The full breakdown&lt;/strong&gt; — list price vs real contracts, the modelling cost analysis, and a like-for-like TCO framework — is here:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://colrows.com/blogs/thoughtspot-pricing/" rel="noopener noreferrer"&gt;ThoughtSpot Pricing Explained: List Price, Real Contracts, and the Cost of Modeling&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://colrows.com/blogs/thoughtspot-pricing/" rel="noopener noreferrer"&gt;colrows.com/blogs/thoughtspot-pricing&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>dataengineering</category>
      <category>database</category>
      <category>ai</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Qlik Sense Alternatives: Why Dashboard-First BI Is Dead for Agentic Enterprises</title>
      <dc:creator>Mayank Mudgal</dc:creator>
      <pubDate>Tue, 08 Sep 2026 14:24:43 +0000</pubDate>
      <link>https://dev.to/mudgal_mayank/qlik-sense-alternatives-why-dashboard-first-bi-is-dead-for-agentic-enterprises-45d2</link>
      <guid>https://dev.to/mudgal_mayank/qlik-sense-alternatives-why-dashboard-first-bi-is-dead-for-agentic-enterprises-45d2</guid>
      <description>&lt;p&gt;Qlik's associative engine was genuinely ahead of its time — exploring data by what connects to what.&lt;/p&gt;

&lt;p&gt;An AI agent can't explore. It has to be right on the first attempt.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two different interaction models
&lt;/h2&gt;

&lt;p&gt;Associative exploration is built for a human following a hunch: click, see what co-occurs, follow the thread. That's a real strength and it's why Qlik kept its footprint.&lt;/p&gt;

&lt;p&gt;Agents work the other way round. They arrive with an intent, need one correct interpretation, and must prove entitlement before running anything.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Associative exploration&lt;/th&gt;
&lt;th&gt;Agent resolution&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Interaction&lt;/td&gt;
&lt;td&gt;Iterative, human-guided&lt;/td&gt;
&lt;td&gt;Single-shot, machine-initiated&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ambiguity resolved by&lt;/td&gt;
&lt;td&gt;The user clicking around&lt;/td&gt;
&lt;td&gt;The system, or a refusal&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Join semantics&lt;/td&gt;
&lt;td&gt;Discovered by navigation&lt;/td&gt;
&lt;td&gt;Proven at compile time&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Governance&lt;/td&gt;
&lt;td&gt;App and sheet level&lt;/td&gt;
&lt;td&gt;Compiled into the query&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Output&lt;/td&gt;
&lt;td&gt;A view to interpret&lt;/td&gt;
&lt;td&gt;A number plus its derivation&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What to weigh in an evaluation
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Does the layer resolve business meaning, or expose an exploration surface?&lt;/li&gt;
&lt;li&gt;Is the join path proven, or discovered by the user?&lt;/li&gt;
&lt;li&gt;Is authorisation enforced in the generated query, or at the app layer?&lt;/li&gt;
&lt;li&gt;Who maintains the model as schemas change?&lt;/li&gt;
&lt;li&gt;Can the same question, asked twice, be shown to return the same answer?&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The honest position
&lt;/h2&gt;

&lt;p&gt;Qlik remains strong for analyst-led discovery, and if that's your dominant workload there's no argument for moving.&lt;/p&gt;

&lt;p&gt;The question is what serves the consumers that are about to outnumber your analysts — and an exploration engine, however good, doesn't produce the proof that automated decisions require.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The full breakdown&lt;/strong&gt; — the scored comparison, and the architectural difference between exploration and resolution — is here:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://colrows.com/blogs/qlik-sense-alternatives/" rel="noopener noreferrer"&gt;Qlik Sense Alternatives: Why Dashboard-First BI Is Dead for Agentic Enterprises&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://colrows.com/blogs/qlik-sense-alternatives/" rel="noopener noreferrer"&gt;colrows.com/blogs/qlik-sense-alternatives&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>dataengineering</category>
      <category>database</category>
      <category>ai</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Snowflake Semantic Views Explained: What They Are, and What Sits Beyond</title>
      <dc:creator>Mayank Mudgal</dc:creator>
      <pubDate>Mon, 07 Sep 2026 17:02:26 +0000</pubDate>
      <link>https://dev.to/mudgal_mayank/snowflake-semantic-views-explained-what-they-are-and-what-sits-beyond-408h</link>
      <guid>https://dev.to/mudgal_mayank/snowflake-semantic-views-explained-what-they-are-and-what-sits-beyond-408h</guid>
      <description>&lt;p&gt;Snowflake shipped Semantic Views and a lot of people declared the category solved.&lt;/p&gt;

&lt;p&gt;It's a real step forward. It's also scoped to exactly one warehouse.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you genuinely get
&lt;/h2&gt;

&lt;p&gt;Metric definitions living next to the data, governed by Snowflake's own model, queryable by Cortex and external tools. For a single-platform estate that beats redefining the same metric in four dashboards.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to understand before building on it
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Consideration&lt;/th&gt;
&lt;th&gt;Reality&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Authoring&lt;/td&gt;
&lt;td&gt;Hand-written by your team&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Scope&lt;/td&gt;
&lt;td&gt;Ends at the Snowflake boundary&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Governance&lt;/td&gt;
&lt;td&gt;Snowflake RBAC — strong, but Snowflake-only&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Drift detection&lt;/td&gt;
&lt;td&gt;None; a stale definition stays stale silently&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Join proof&lt;/td&gt;
&lt;td&gt;Not provided — inference still happens upstream&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The drift row is the one that bites over time. A definition that stopped matching how people query it produces no error, no alert, and no failing test. You find out when two teams disagree in a meeting.&lt;/p&gt;

&lt;h2&gt;
  
  
  The question that decides it
&lt;/h2&gt;

&lt;p&gt;What happens to the third of your data that isn't in Snowflake?&lt;/p&gt;

&lt;p&gt;For most enterprises there's a lakehouse someone piloted, an operational Postgres, and a SaaS system that never got migrated. A warehouse-native semantic layer can't see any of it, so cross-boundary joins fall back to hand-written SQL — and the metric gets defined a second time, differently.&lt;/p&gt;

&lt;h2&gt;
  
  
  The pragmatic position
&lt;/h2&gt;

&lt;p&gt;Adopt Semantic Views. They're good, they're included, and they improve consistency inside Snowflake.&lt;/p&gt;

&lt;p&gt;Just don't mistake a metric store for an execution layer. It tells an agent what a metric &lt;em&gt;is&lt;/em&gt;; it doesn't prove the join is valid or that the caller was entitled to the rows.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The full breakdown&lt;/strong&gt; — what Semantic Views do in detail, the boundaries, and what a cross-estate layer adds above them — is here:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://colrows.com/blogs/snowflake-semantic-views/" rel="noopener noreferrer"&gt;Snowflake Semantic Views Explained: What They Are, and What Sits Beyond&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://colrows.com/blogs/snowflake-semantic-views/" rel="noopener noreferrer"&gt;colrows.com/blogs/snowflake-semantic-views&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>dataengineering</category>
      <category>database</category>
      <category>ai</category>
      <category>cloud</category>
    </item>
    <item>
      <title>ThoughtSpot Alternatives: Why AI Agents Need a Semantic Compiler</title>
      <dc:creator>Mayank Mudgal</dc:creator>
      <pubDate>Thu, 03 Sep 2026 06:05:58 +0000</pubDate>
      <link>https://dev.to/mudgal_mayank/thoughtspot-alternatives-why-ai-agents-need-a-semantic-compiler-3d8c</link>
      <guid>https://dev.to/mudgal_mayank/thoughtspot-alternatives-why-ai-agents-need-a-semantic-compiler-3d8c</guid>
      <description>&lt;p&gt;ThoughtSpot bet that people want to search their data. They were right, and it worked.&lt;/p&gt;

&lt;p&gt;Then the primary user stopped being a person.&lt;/p&gt;

&lt;h2&gt;
  
  
  Search was a genuinely good idea
&lt;/h2&gt;

&lt;p&gt;Search-first BI made analytics approachable for business users, and the indexing engineering behind it was serious. For analyst-led exploration it still holds up.&lt;/p&gt;

&lt;h2&gt;
  
  
  Agents don't search — they resolve
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Need&lt;/th&gt;
&lt;th&gt;Search ranking&lt;/th&gt;
&lt;th&gt;Semantic compiler&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Which definition applies&lt;/td&gt;
&lt;td&gt;Top-ranked candidate&lt;/td&gt;
&lt;td&gt;The authoritative one, versioned&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Which join to use&lt;/td&gt;
&lt;td&gt;Relevance score&lt;/td&gt;
&lt;td&gt;Proven path, or failure&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Authorisation&lt;/td&gt;
&lt;td&gt;Around the content&lt;/td&gt;
&lt;td&gt;Injected into the query&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Determinism&lt;/td&gt;
&lt;td&gt;Ranking can shift&lt;/td&gt;
&lt;td&gt;Identical by construction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Audit&lt;/td&gt;
&lt;td&gt;Cites the worksheet&lt;/td&gt;
&lt;td&gt;Reproduces the SQL&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;"Best match" is a reasonable standard for a human exploring. It isn't a standard of proof, and every row above is downstream of that difference.&lt;/p&gt;

&lt;h2&gt;
  
  
  The modelling burden nobody mentions
&lt;/h2&gt;

&lt;p&gt;Search quality depends on a curated worksheet layer someone maintains. That's where most deployments quietly stall — not on user adoption, but on the sustained modelling effort that keeps search results correct as schemas move.&lt;/p&gt;

&lt;p&gt;Ask any vendor in this category: does the system's knowledge of my business grow because someone curated it, or because it read my sources and maintains itself?&lt;/p&gt;

&lt;h2&gt;
  
  
  When ThoughtSpot remains right
&lt;/h2&gt;

&lt;p&gt;Analysts exploring, curiosity-driven work, a team that owns the worksheet layer. Good fit, real value.&lt;/p&gt;

&lt;p&gt;The trigger to look elsewhere is when the output starts feeding automated decisions or regulated workflows — because then ranking isn't enough and you need proof.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The full breakdown&lt;/strong&gt; — the scored alternatives comparison, the modelling cost analysis, and the agent-native requirements — is here:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://colrows.com/blogs/thoughtspot-alternatives/" rel="noopener noreferrer"&gt;ThoughtSpot Alternatives: Why AI Agents Need a Semantic Compiler&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://colrows.com/blogs/thoughtspot-alternatives/" rel="noopener noreferrer"&gt;colrows.com/blogs/thoughtspot-alternatives&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>dataengineering</category>
      <category>database</category>
      <category>ai</category>
      <category>datascience</category>
    </item>
    <item>
      <title>The ROI of a Company Brain: What the Evidence Actually Shows Executives</title>
      <dc:creator>Mayank Mudgal</dc:creator>
      <pubDate>Tue, 01 Sep 2026 15:43:30 +0000</pubDate>
      <link>https://dev.to/mudgal_mayank/the-roi-of-a-company-brain-what-the-evidence-actually-shows-executives-2k6f</link>
      <guid>https://dev.to/mudgal_mayank/the-roi-of-a-company-brain-what-the-evidence-actually-shows-executives-2k6f</guid>
      <description>&lt;p&gt;Every AI business case I see is built on a vendor's ROI calculator.&lt;/p&gt;

&lt;p&gt;Here's what the numbers look like when they come from deployments instead.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three patterns that hold up
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Decision latency collapses before headcount changes.&lt;/strong&gt; At Cipla, decision latency fell over 90% and data adoption rose 8×. The win was speed, not savings — and it arrived first.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The IT burden drops as a second-order effect.&lt;/strong&gt; An 80% fall in report requests wasn't the goal. It happened because people stopped needing a human to interpret data for them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Diagnosis time is where the outsized numbers live.&lt;/strong&gt; Campaign diagnosis went from days to effectively instant — roughly a 1000× improvement — because the causal path was already modelled rather than reconstructed by an analyst each time.&lt;/p&gt;

&lt;h2&gt;
  
  
  The pattern across deployments
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Organisation&lt;/th&gt;
&lt;th&gt;Result&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Cipla (pharma)&lt;/td&gt;
&lt;td&gt;8× data adoption · &amp;gt;90% lower decision latency · 80% fewer IT report requests&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SSP Group (travel retail)&lt;/td&gt;
&lt;td&gt;40% less data-management overhead · 3× faster issue resolution&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Confidential ARC (BFSI)&lt;/td&gt;
&lt;td&gt;&amp;gt;95% lower evaluation cycle time · 100% regulatory coverage&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What this says about how to budget
&lt;/h2&gt;

&lt;p&gt;ROI doesn't come from replacing analysts. It comes from removing the wait between a question and a &lt;em&gt;trustworthy&lt;/em&gt; answer.&lt;/p&gt;

&lt;p&gt;That ordering matters for the business case. Fund the layer that makes answers trustworthy and the productivity numbers follow. Fund the productivity tool first and you get a pilot, because nobody acts on numbers they can't defend.&lt;/p&gt;

&lt;h2&gt;
  
  
  The number to put in the model
&lt;/h2&gt;

&lt;p&gt;Not headcount saved. &lt;strong&gt;Decision latency&lt;/strong&gt; — how long between a question being asked and a defensible answer existing. It's measurable today, it's usually embarrassing, and it's the variable that actually moves.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The full evidence review&lt;/strong&gt; — the deployment data, the methodology behind each figure, and how to build the business case — is here:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://colrows.com/blogs/company-brain-roi-evidence-for-executives/" rel="noopener noreferrer"&gt;The ROI of a Company Brain: What the Evidence Actually Shows Executives&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://colrows.com/blogs/company-brain-roi-evidence-for-executives/" rel="noopener noreferrer"&gt;colrows.com/blogs/company-brain-roi-evidence-for-executives&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>rag</category>
      <category>architecture</category>
      <category>dataengineering</category>
    </item>
    <item>
      <title>Wren AI Alternatives: When Open-Source GenBI Needs Production Governance</title>
      <dc:creator>Mayank Mudgal</dc:creator>
      <pubDate>Tue, 01 Sep 2026 15:40:32 +0000</pubDate>
      <link>https://dev.to/mudgal_mayank/wren-ai-alternatives-when-open-source-genbi-needs-production-governance-586g</link>
      <guid>https://dev.to/mudgal_mayank/wren-ai-alternatives-when-open-source-genbi-needs-production-governance-586g</guid>
      <description>&lt;p&gt;Wren AI is the most credible open-source answer to conversational BI right now.&lt;/p&gt;

&lt;p&gt;It's also the fastest way to learn that the hard part was never the chat interface.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why open source is the right pilot choice
&lt;/h2&gt;

&lt;p&gt;No procurement, full visibility into behaviour, easy to prove or kill the concept. For validating that your users actually want this, it's hard to beat.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where production changes the calculation
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Concern&lt;/th&gt;
&lt;th&gt;Open source reality&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Semantic modelling&lt;/td&gt;
&lt;td&gt;Yours to author and maintain, indefinitely&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Governance&lt;/td&gt;
&lt;td&gt;Integrates with your stack rather than enforcing in-query&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multi-tenant isolation&lt;/td&gt;
&lt;td&gt;Your engineering problem&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Audit trails&lt;/td&gt;
&lt;td&gt;Your engineering problem&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Accuracy ceiling&lt;/td&gt;
&lt;td&gt;Plateaus at whatever modelling effort you sustain&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Drift detection&lt;/td&gt;
&lt;td&gt;Not included&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;None of that is a criticism — it's what open source &lt;em&gt;is&lt;/em&gt;. The question is whether your team wants to own a semantic layer as a product, or consume one as infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  The two-year test
&lt;/h2&gt;

&lt;p&gt;Ask who authors the semantic model in year two, after the engineer who set it up has moved to another team.&lt;/p&gt;

&lt;p&gt;If the answer is "we'll rotate it," you've committed to permanent maintenance with no owner. That's the pattern that turns a successful pilot into a stalled deployment — not a technical failure, just entropy.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to compare on
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Who maintains the model as schemas change — a person, or the system?&lt;/li&gt;
&lt;li&gt;Is authorisation proven pre-execution, or filtered after?&lt;/li&gt;
&lt;li&gt;Is the join path proven, or inferred?&lt;/li&gt;
&lt;li&gt;Can you reproduce a historical answer with the definitions then in force?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Wren scores honestly on all four; you just need to know that three of them become your backlog.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The full breakdown&lt;/strong&gt; — the scored comparison, the build-vs-consume framing, and what production hardening involves — is here:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://colrows.com/blogs/wren-ai-alternatives/" rel="noopener noreferrer"&gt;Wren AI Alternatives: When Open-Source GenBI Needs Production Governance&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://colrows.com/blogs/wren-ai-alternatives/" rel="noopener noreferrer"&gt;colrows.com/blogs/wren-ai-alternatives&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>dataengineering</category>
      <category>database</category>
      <category>ai</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Cortex Analyst Alternatives: Why Your Company Needs More Than Snowflake's Agentic Analyst</title>
      <dc:creator>Mayank Mudgal</dc:creator>
      <pubDate>Thu, 27 Aug 2026 15:01:11 +0000</pubDate>
      <link>https://dev.to/mudgal_mayank/cortex-analyst-alternatives-why-your-company-needs-more-than-snowflakes-agentic-analyst-5gam</link>
      <guid>https://dev.to/mudgal_mayank/cortex-analyst-alternatives-why-your-company-needs-more-than-snowflakes-agentic-analyst-5gam</guid>
      <description>&lt;p&gt;Cortex Analyst is a good product with one hard boundary: it ends where Snowflake ends.&lt;/p&gt;

&lt;p&gt;Most enterprises find that boundary about three weeks in.&lt;/p&gt;

&lt;h2&gt;
  
  
  When it's the right answer
&lt;/h2&gt;

&lt;p&gt;Everything you care about is in Snowflake, and someone maintains the semantic model file. That's a real configuration, it's already in your bill, and the integration depth is genuine.&lt;/p&gt;

&lt;h2&gt;
  
  
  When the evaluation starts
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Signal&lt;/th&gt;
&lt;th&gt;Why Cortex strains&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Data across Snowflake + lakehouse + operational systems&lt;/td&gt;
&lt;td&gt;Scope stops at Snowflake&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Questions needing cross-boundary joins&lt;/td&gt;
&lt;td&gt;Falls back to hand-written SQL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Governance must be consistent everywhere&lt;/td&gt;
&lt;td&gt;Snowflake RBAC covers Snowflake&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;No owner for the semantic model file&lt;/td&gt;
&lt;td&gt;Accuracy tracks a file nobody maintains&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Agents asking unmodelled questions&lt;/td&gt;
&lt;td&gt;Improvises rather than refusing&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The last row deserves emphasis. Warehouse-native assistants generally don't distinguish "I have no basis for this" from "here's a plausible join" — so the failure is silent.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two categories of alternative
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Other warehouse-native assistants&lt;/strong&gt; — Genie, Power BI Copilot and similar. Different platform, identical architecture, identical boundary. Switching gets you a different logo and the same ceiling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cross-estate semantic layers&lt;/strong&gt; — resolve intent against a graph spanning every source, prove the join path regardless of which engine holds the tables, compile policy uniformly, and emit dialect-perfect SQL per target.&lt;/p&gt;

&lt;p&gt;Only the second category answers cross-platform questions without someone hand-writing the join underneath.&lt;/p&gt;

&lt;h2&gt;
  
  
  The question to bring to any demo
&lt;/h2&gt;

&lt;p&gt;"Show me a question that spans Snowflake and something that isn't Snowflake." It's a short conversation, and it's the one that matters.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The full breakdown&lt;/strong&gt; — the scored alternatives comparison, the multi-platform architecture, and migration considerations — is here:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://colrows.com/blogs/cortex-analyst-alternatives/" rel="noopener noreferrer"&gt;Cortex Analyst Alternatives: Why Your Company Needs More Than Snowflake's Agentic Analyst&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://colrows.com/blogs/cortex-analyst-alternatives/" rel="noopener noreferrer"&gt;colrows.com/blogs/cortex-analyst-alternatives&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>dataengineering</category>
      <category>database</category>
      <category>ai</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Company Brain Security: Deterministic Governance for Enterprise AI</title>
      <dc:creator>Mayank Mudgal</dc:creator>
      <pubDate>Tue, 25 Aug 2026 17:58:07 +0000</pubDate>
      <link>https://dev.to/mudgal_mayank/company-brain-security-deterministic-governance-for-enterprise-ai-1d1f</link>
      <guid>https://dev.to/mudgal_mayank/company-brain-security-deterministic-governance-for-enterprise-ai-1d1f</guid>
      <description>&lt;p&gt;Every company brain demo ends with "and it knows everything about your business."&lt;/p&gt;

&lt;p&gt;That's the pitch. To a CISO, it's also the entire objection.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the objection is correct
&lt;/h2&gt;

&lt;p&gt;A system that ingests every document, ticket, contract and table has, by construction, assembled the most sensitive object in the company. Then you point an LLM at it and expose it via chat.&lt;/p&gt;

&lt;p&gt;The security question isn't paranoia. It's the deployment blocker, and it's usually raised too late.&lt;/p&gt;

&lt;h2&gt;
  
  
  The four questions that decide whether it ships
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Question&lt;/th&gt;
&lt;th&gt;Bad answer&lt;/th&gt;
&lt;th&gt;Good answer&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Does the index respect source permissions?&lt;/td&gt;
&lt;td&gt;Flattened at ingest&lt;/td&gt;
&lt;td&gt;Entitlement preserved per concept&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Two users, same question — same answer?&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No, and correctly different&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;When is entitlement evaluated?&lt;/td&gt;
&lt;td&gt;Per corpus, at build&lt;/td&gt;
&lt;td&gt;Per query, at compile time&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Can you prove a specific person could see a specific answer?&lt;/td&gt;
&lt;td&gt;Access logs&lt;/td&gt;
&lt;td&gt;The SQL with predicates inline&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Row two is the sharpest test. If two people with different clearances get identical answers, entitlement was lost somewhere in the pipeline — and "we filter the response" means the retrieval already surfaced it internally.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why retrieval architectures struggle here
&lt;/h2&gt;

&lt;p&gt;Embeddings don't carry ACLs. When you flatten a corpus into vectors, source permissions are metadata at best, and reconstructing them at query time is approximate by nature.&lt;/p&gt;

&lt;p&gt;Compile-time governance inverts the order: policy is evaluated as part of &lt;em&gt;resolving the question&lt;/em&gt;, so an unauthorised answer is never assembled. Nothing to filter, because nothing was retrieved.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to require
&lt;/h2&gt;

&lt;p&gt;Policy attached to concepts, not documents. RBAC plus ABAC plus row and column predicates injected before execution. De-identified resolution paths for aggregate questions. And a point-in-time reproducible audit trail — which your annual assessment needs anyway.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The full breakdown&lt;/strong&gt; — the security architecture, the privacy model, and how compile-time governance handles unstructured sources — is here:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://colrows.com/blogs/company-brain-security-privacy/" rel="noopener noreferrer"&gt;Company Brain Security: Deterministic Governance for Enterprise AI&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://colrows.com/blogs/company-brain-security-privacy/" rel="noopener noreferrer"&gt;colrows.com/blogs/company-brain-security-privacy&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>rag</category>
      <category>architecture</category>
      <category>dataengineering</category>
    </item>
    <item>
      <title>Cube Alternatives: When a Headless Semantic Layer Stops Fitting Your AI Agents</title>
      <dc:creator>Mayank Mudgal</dc:creator>
      <pubDate>Thu, 20 Aug 2026 17:11:26 +0000</pubDate>
      <link>https://dev.to/mudgal_mayank/cube-alternatives-when-a-headless-semantic-layer-stops-fitting-your-ai-agents-3n44</link>
      <guid>https://dev.to/mudgal_mayank/cube-alternatives-when-a-headless-semantic-layer-stops-fitting-your-ai-agents-3n44</guid>
      <description>&lt;p&gt;Teams don't leave Cube because of Cube. They leave because the consumer changed.&lt;/p&gt;

&lt;p&gt;An API built for applications turns out to be the wrong shape for an agent.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cube's model is clean
&lt;/h2&gt;

&lt;p&gt;Define a metric once, serve it everywhere over an API. For multi-app estates where several front-ends need the same numbers, that holds up well and the caching story is genuinely good.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the pressure appears
&lt;/h2&gt;

&lt;p&gt;An agent can't name the metric it needs. It arrives with intent and has to work out entities, grain, joins and permissions on the fly. An API contract doesn't help with any of that — it assumes the caller already knows what to ask for.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Question&lt;/th&gt;
&lt;th&gt;Headless API&lt;/th&gt;
&lt;th&gt;Compiled layer&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Resolves arbitrary intent?&lt;/td&gt;
&lt;td&gt;No — pre-defined metrics only&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Join path&lt;/td&gt;
&lt;td&gt;Modelled by hand&lt;/td&gt;
&lt;td&gt;Proven at compile time&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Governance&lt;/td&gt;
&lt;td&gt;In front of the API&lt;/td&gt;
&lt;td&gt;Injected into the SQL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Model upkeep&lt;/td&gt;
&lt;td&gt;A person&lt;/td&gt;
&lt;td&gt;The system, with drift detection&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Undefined question&lt;/td&gt;
&lt;td&gt;404, effectively&lt;/td&gt;
&lt;td&gt;Resolved or explicitly refused&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  The four things to compare on
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Does the layer resolve arbitrary intent, or only pre-modelled metrics?&lt;/li&gt;
&lt;li&gt;Is the join path proven, or assumed?&lt;/li&gt;
&lt;li&gt;Is governance in front of the API, or compiled into the query?&lt;/li&gt;
&lt;li&gt;Who maintains definitions as the schema drifts?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Question four is the cost question in disguise. Pre-aggregation maintenance and data-model authoring are both engineering time, and neither appears on the invoice you're comparing.&lt;/p&gt;

&lt;h2&gt;
  
  
  When to keep Cube
&lt;/h2&gt;

&lt;p&gt;Many applications, stable metric set, humans or code as consumers. That's the configuration it was designed for and there's no reason to move.&lt;/p&gt;

&lt;p&gt;The trigger to look elsewhere is agents becoming the primary caller — because then coverage stops being a modelling exercise and starts being the bottleneck.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The full breakdown&lt;/strong&gt; — the scored alternatives comparison, migration considerations, and the cost model — is here:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://colrows.com/blogs/cube-alternatives/" rel="noopener noreferrer"&gt;Cube Alternatives: When a Headless Semantic Layer Stops Fitting Your AI Agents&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://colrows.com/blogs/cube-alternatives/" rel="noopener noreferrer"&gt;colrows.com/blogs/cube-alternatives&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>dataengineering</category>
      <category>database</category>
      <category>ai</category>
      <category>datascience</category>
    </item>
  </channel>
</rss>
