One meaning on the demo, 1:13. Recorded on Meridian Simulation, a simulated retailer: Daily sales’ own page, then Estate › Threads. Nothing is mocked up. Recorded under the working name, Ontos. Captions are in the player.

What to look at

Ask what “daily sales” is in most companies and you get a table name. Ask which tables hold it, which numbers use it, where its data starts and who may ask about it, and you get a meeting. Terazu keeps those answers in one place, starting from the meaning.

Meanings first, tables second

  • A meaning is what something is: a store, a till line, a day of sales. On screen it’s an Object, on Ontology › Objects.
  • Tables serve meanings. One meaning can live in several tables: where its data is born, the copies loads make of it, the table answers come from, and the summaries built on it. Terazu says which table answers, and why, from evidence such as keys, loads and readers.
  • Certifying a table means choosing its meaning. You can’t certify a table without saying what it is, and its grain is stated: “one row per sales_daily_id”.

Open a meaning, see what rests on it

Each meaning has its own page: what it means and its other words, what one row is, the table it answers from, the reports that use it, the meanings it links to, the Measures defined on it, and who certified it and when.

The Daily sales page on the demo: certified, answers from core.sales_daily in the Meridian Analytics Warehouse, certified by Priya Sharma (Data Steward) on 15 Oct, with History and More. Tabs: Overview, Details (9), Data (live rows), Actions (0), Activity (0). About: no meaning written yet, with Write it; no other words yet; one row is one row per sales_daily_id, attested with its meaning; answers from core.sales_daily; used by no reports. Related: Daily sales linked to Fiscal calendar on date_id, Product on product_id and Store on store_id, all certified Links.
On the demo, Ontology › Objects › Daily sales. The meaning’s record: one row per sales_daily_id, the table it answers from, who certified it, and the three meanings it links to.

Further down the same page, Where it lives lays out every table behind the meaning, in the order the data moves.

Where it lives, on the Daily sales page: born in POS.TILL_LINES in Meridian Merchandising & POS, the Oracle point-of-sale database, kept apart as the Till line meaning because only it holds POSTED_AT, and loaded there by the POS's own package PKG_EOD; moved by Airflow's pos_to_landing land_till_lines; copied to landing.pos_till_lines; moved by core.sp_load_sales_daily; answers from core.sales_daily, the current table, about 322,417 rows, with a key of its own, 30 query runs; moved by core.sp_load_sales_by_channel; rolled up into core.sales_by_channel, 2 query runs. Read by: no report reads these tables.
On the demo, the same page, Where it lives. Daily sales is born in the point-of-sale system, copied by Airflow, answered from core.sales_daily and rolled up into a summary. Each step says how Terazu knows it.

The page also shows what the assistant reads when a question names this meaning: the meaning, the ones it links to, their Links and certified Measures. The other places it lives are kept out, so they are cited and never answered from.

Follow a number back to where it’s born

Estate › Threads starts from a number, a report or a table and follows it back through every hop: who owns each one, how Terazu knows each link, and where the chain can break.

Threads on the demo, from core.sales_daily. Where it came from: POS.TILL_LINES and POS.TILL_VOIDS in Meridian Merchandising & POS, 5 hops back. What it means: Daily sales, FxRate, Product, Store, Till void, District, ProductCategory, Till line, and two drafts that aren't certified. Who owns each hop: 20 of 20 hops have an owner; every hop has someone to call. Where it can break: 9 serious, 11 in all: 5 with no loader seen, 4 measured apart, 2 set aside. Below, the thread from core.sales_daily back to where its data is born, 20 hops.
On the demo, Estate › Threads. Daily sales traced back five hops to the till lines in the point-of-sale system, an owner on all 20 hops, and the 11 places it can break, 9 of them serious.

Who may ask

Each meaning and each Measure can be limited to some roles. Leave it empty and everyone who may ask anything can ask. An asker outside the list gets a refusal that names what was withheld, instead of a different number from somewhere else. Owners and admins are never shut out, and changing who may ask doesn’t change the definition, so it doesn’t take the certification away.

What it doesn’t do

  • A hop with no captured data flow means none was captured, not that nothing writes the table. The thread says so where it stops short.
  • Threads work at the table level: which tables feed which, never which columns.
  • “Who may ask” governs people with a role. Programs calling with an API key have no role, so govern them by what their key is allowed to do.
Keep reading Your company’s words Who may ask what Sorting the pile