Seatline Lakehouse

Loading the lake export

The booking database keeps one price per fare. The lake keeps all of them.

Every insert, update and delete on the airline's Postgres is read from the write-ahead log by Debezium, carried through Kafka and written by Spark into Iceberg tables. Nothing the source overwrites is lost. Move along the chart to see this fare at any moment of its life.

    Goldfare_curve

    Prices climb in the last twelve hours

    Average fare as a multiple of the flight's opening price, by hours left before departure. Each price counts for every hour it was on sale.

    Show as a table
    Historyload_factor

    How full each route was, and when

    Share of seats sold 72 h, 24 h and at departure. Only the last number exists in the source; the other two are read from SCD2 versions.

    Goldroute_daily

    Confirmed revenue by route and booking day

    Indian rupees, lakh. Days are IST; the first and last are partial because the simulated run starts and stops at midnight UTC.

    Historybooking_funnel

    What happened to every hold

    Expired holds are deleted from the source after a day. Current state would miss them; the history does not.

    Show as a table
    Historydelays

    Delays against the first published time

    The source only knows the latest departure time. The delay is measured from the first version of each flight.

    Bronzechanges

    Change events per hour

    By operation, in simulated business time (IST). The daily spikes are the next week's flights being scheduled at midnight UTC.

    Checksdq_results

    Data quality, last run

    A failed check stops the gold run, so these pages keep the last numbers that passed.