>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
Python

Jak Apache Ossie Stara Się Połączyć Analityków z Developerami

Znany scenariusz: dział marketingu oblicza koszt pozyskania klienta za pomocą jednego wzoru w Excelu, narzędzie BI podaje inne liczby, a w projekcie dbt analityk ma wbudowaną trzecią logikę. Kiedy biznes pyta, dlaczego dane "nie pasują do siebie", rozpoczyna się długi proces szukania dokładnego miejsca, w którym formuła poszła nie tak.

Ten problem nazywa się fragmentacją semantyczną. Każde narzędzie w stosie danych — czy to Tableau, Superset, czy agent AI — żyje we własnej bańce i interpretuje metadane na swój sposób. Ludzie z Apache Software Foundation postanowili wreszcie to zmienić i przedstawili projekt Ossie (dawniej znany jako Open Semantic Interchange).

Dlaczego Potrzebujemy Jeszcze Jednego Standardu

W skrócie: żebyś mógł opisać, co oznacza "przychód" lub "aktywny użytkownik" raz i używać tej definicji wszędzie. Teraz, jeśli przełączysz się z jednego narzędzia BI na inne, musisz przepisać całą logikę biznesową od nowa. Ossie oferuje format niezależny od dostawcy, który ma stać się rodzajem "esperanto" dla świata analityki.

Projekt znajduje się obecnie w inkubatorze Apache. Oznacza to, że wciąż się kształtuje, ale ma już poważną społeczność za sobą. Pomysł polega na stworzeniu jednego źródła prawdy, które zrozumieją zarówno silniki SQL, jak i wyrafinowane boty LLM.

Co Znajduje Się w Repozytorium

Nie ma tu skomplikowanego oprogramowania binarnego do kompilowania przez godziny. Zasadniczo to zestaw specyfikacji i narzędzi pomocniczych do pracy z nimi.

Rdzeń Specyfikacji

Folder core-spec zawiera opis tego, jak powinien wyglądać warstwa semantyczna. To zwykłe pliki JSON i YAML. Schemat czytelny maszynowo pozwala automatycznie weryfikować, czy nie poplątałeś definicji metryk.

Konwertery

To prawdopodobnie najbardziej przydatna część dla praktyków. Folder converters zawiera narzędzia do tłumaczenia z formatu Ossie na inne popularne systemy. Na razie dostępne są implementacje dla dbt, GoodData, Polaris, a nawet Salesforce. Pozwala to nie tylko przechowywać specyfikację "w szufladzie", ale faktycznie wprowadzać ją do narzędzi, których używasz.

Przykłady i Walidacja

Dla tych, którzy nie chcą czytać suchej dokumentacji, jest folder examples. Zawiera kompletny model TPC-DS — standardowy benchmark dla systemów analitycznych. Możesz po prostu zobaczyć, jak złożone relacje i agregacje są opisywane przy użyciu prawdziwych danych.

Jak To Działa w Praktyce

Wyobraź sobie, że opisujesz swój model danych w pliku YAML. Określasz tabele, relacje między nimi, a co najważniejsze — obliczane metryki.

{
  "name": "total_sales",
  "description": "Сумма всех успешных транзакций без учета возвратов",
  "expression": "sum(order_amount)",
  "filters": ["status = 'completed'"]
}

Po tym uruchamiasz ten plik przez konwerter. Wynikiem jest konfiguracja dla twojego narzędzia BI. Jeśli jutro biznes zdecyduje się zmienić narzędzie, nie będziesz musiał pamiętać, jakie filtry były w starych raportach. Po prostu uruchamiasz inny konwerter.

Jest to szczególnie istotne dla agentów AI. Aby sieć neuronowa mogła adekwatnie odpowiadać na pytania dotyczące bazy danych, potrzebuje kontekstu. Ossie dostarcza ten kontekst w ustrukturyzowanym formacie, eliminując halucynacje na temat "jak obliczyć średnią wartość zamówienia".

Czy Warto Już To Przyjąć

Projekt jest na etapie inkubacji i to widać. Nie ma jeszcze tysięcy gwiazdek na GitHubie (około 700 w momencie pisania), a dokumentacja czasem zmusza do grzebania w kodzie źródłowym. Jednak za projektem stoi Apache, a wśród współtwórców pojawiają się przedstawiciele głównych firm analitycznych.

Kto zdecydowanie powinien bliżej przyjrzeć się Ossie:

  1. Zespoły, które mają dość niezgodności metryk dbt z tym, co menedżer widzi w narzędziu BI.
  2. Deweloperzy platform analitycznych, którzy chcą dodać obsługę importu/eksportu modeli.
  3. Ci, którzy budują złożone systemy z wykorzystaniem LLM i chcą dać sieci neuronowej wyraźną strukturę danych.

Jeśli pracujesz w małym startupie z jedną bazą danych i kilkoma wykresami, Ossie może wydawać się przesadą. Ale gdy tylko masz więcej niż dwa narzędzia, problem "tych samych nazw z różnymi znaczeniami" wyłania się w pełnej krasie.

Możesz wypróbować projekt w oficjalnym repozytorium. Jest też link do społeczności na Slacku, gdzie deweloperzy dość szybko odpowiadają na pytania dotyczące specyfikacji. Im więcej dostawców przyjmie ten standard, tym mniej bólu głowy będziemy mieli z migracjami i konfiguracją analityki.

Powiązane projekty