QA Knowledge Hub

Nopeat vastaukset

Nopeat, kokouskäyttöön sopivat vastaukset yleisimpiin kysymyksiin.

Nopeat vastaukset

Mikä tämä projekti oikeastaan on?

Todennäköinen kysymys

Mikä te oikein rakensitte?

Lyhyt vastaus

Rakensimme Cloudflareen ajetun uutis- ja briefing-järjestelmän, jossa AI auttaa valitsemaan ja muotoilemaan julkaistavaa sisältöä, mutta julkaistu data toimitetaan versionoidun JDBIN/JDBON + R2 + Worker -polun kautta.

Pidempi vastaus

Projektissa on neljä käytännön kerrosta:

  • tutkimuskorpuskerros
  • toimitusputki
  • tallennuskerros
  • jakelukerros

Tutkimuskorpus kokoaa raaka-aineiston RSS-lähteistä. Toimitusputki yrittää muodostaa siitä julkaistavia signaaleja. Tallennuskerros versioi ja julkaisee ne JDBIN/JDBON-mallilla R2:een. Jakelukerros tarjoaa snapshotit ja muut julkiset rajapinnat käyttöliittymälle.

Mitä kannattaa painottaa

  • kyse ei ole vain tiedostoformaatista
  • kyse on koko object storage -pohjaisesta lukuarkkitehtuurista
  • AI ei ole julkisen sivun pyyntöpolussa

Mikä on varsinainen tutkimuskysymys?

Todennäköinen kysymys

Mikä tässä on tutkimusongelma?

Lyhyt vastaus

Tutkimuskysymys ei ole "voiko uusi formaatti tallentaa dataa", vaan voiko immutable object storage toimia kyseltävänä lukukerroksena ilman erillistä tietokantapalvelinta.

Pidempi vastaus

Tarkka tutkimuskysymys on tämä:

Voidaanko immutable object storage -objektista rakentaa lukupolulle optimoitu kyselykerros ilman erillistä tietokantapalvelinta käyttämällä vain byte-range-lukuja, manifest/pointer-versionointia ja Workerissa ajettavaa kyselysuunnittelijaa?

Tavoite ei ole rakentaa yleistä SQL-moottoria, vaan selvittää milloin object storage voi itse toimia kyseltävänä kerroksena lukupainotteisissa, ennalta tunnetuissa kyselypoluissa.

Mikä on tutkimusinnovaatio?

Todennäköinen kysymys

Mikä tässä on oikeasti uutta?

Lyhyt vastaus

Uutta ei ole vain JDBIN-formaatti, vaan tapa käyttää object storagea kyseltävänä kanonisena tallennuskerroksena ilman erillistä tietokantapalvelinta.

Pidempi vastaus

Kontribuutiot ovat yhdessä:

  • immutable object storage -pohjainen kyseltävä artefakti
  • range-read-kyselysuunnittelija tunnetuille kyselymuodoille
  • manifest/pointer-versionointi ilman inplace-mutaatiota base-objektiin
  • kanonisen tallennuksen ja snapshot-jakelun erottelu
  • deterministinen lukupolku Workerin kautta

Mitä ei pidä väittää

  • "keksimme uuden tietokannan"
  • "tämä korvaa SQL:n"
  • "tämä on uusi SQLite"

Mikä JDBIN on?

Todennäköinen kysymys

Mikä tämä JDBIN oikein on?

Lyhyt vastaus

JDBIN on varsinainen binäärinen tallennusartefakti, jonka yli Worker tekee deterministisiä range-read-hakuja.

Pidempi vastaus

JDBIN ei ole yleinen SQL-tietokanta eikä tietokantapalvelin. Se on lukupolulle optimoitu tallennusmoottori immutable object storagea varten. Tyypillisesti se sisältää segmentit, indeksit, string poolin sekä row payloadit tai niiden materialisoidut versiot.

Mitä kannattaa painottaa

  • kanoninen binäärinen julkaisuartefakti
  • Worker lukee vain tarvitut byte-alueet
  • optimoitu tunnetuille query-poluille

Mikä JDBON on?

Todennäköinen kysymys

Entä JDBON, miksi sitä tarvitaan?

Lyhyt vastaus

JDBON on JSON-pohjainen ohjauskerros, joka kertoo mikä base, mikä delta chain ja mikä manifesti on aktiivinen.

Pidempi vastaus

JDBON hallinnoi:

  • mikä base-objekti on aktiivinen
  • mitä delta-objekteja ketjuun kuuluu
  • mihin database-versioniin ketju viittaa
  • mikä manifest on aktiivinen pointerin kautta

JDBIN optimoi lukemisen. JDBON optimoi julkaisemisen, versionhallinnan, rollbackin ja delta chainin ohjauksen.

Miksi kaksi kerrosta: JDBIN + JDBON?

Todennäköinen kysymys

Miksi ette laittaneet kaikkea yhteen formaattiin?

Lyhyt vastaus

Koska lukuoptimointi ja julkaisun hallinta ovat eri vastuita.

Pidempi vastaus

JDBIN on data-artefakti, jonka yli Worker tekee range-readit. JDBON taas hallinnoi base-version, aktiivisen manifestin, järjestetyn delta chainin ja pointer-pohjaisen julkaisuvaihdon. Tällä jaolla lukupolku pysyy tiiviinä, mutta publish, rollback ja retention pysyvät selkeinä.

Mikä on R2:n rooli?

Todennäköinen kysymys

Eikö R2 ole vain bucket?

Lyhyt vastaus

Tässä mallissa R2 on kanoninen immutable storage -kerros, ei vain tiedostojen säilytyspaikka.

Pidempi vastaus

R2:ssa säilytetään:

  • aktiivinen base-JDBIN
  • deltaobjektit
  • JDBON-manifestit
  • active pointer
  • public snapshotit

R2:n arkkitehtuurinen rooli perustuu immutable objecteihin, byte-range-lukuihin, globaaliin saatavuuteen ja Workerin läheisyyteen tallennuskerrokseen.

Mitä Worker tekee?

Todennäköinen kysymys

Onko Worker vain API-proxy?

Lyhyt vastaus

Ei. Worker toimii suunnittelijana, range-lukijana, parserina ja vastauksen kokoajana.

Pidempi vastaus

Worker ei vain välitä pyyntöjä eteenpäin, vaan ratkaisee osan query-logiikasta itse. Lisäksi sama ympäristö voi hoitaa triggerit, snapshot-päivitykset ja publish-polut.

Miksi juuri Cloudflare?

Todennäköinen kysymys

Miksi tämä toimii juuri Cloudflaressa?

Lyhyt vastaus

Koska Cloudflare tarjoaa saman arkkitehtuurin kannalta tarvittavat primitiivit: Worker, R2, byte-range reads ja edge execution.

On this page