$30 off During Our Annual Pro Sale. View Details »

Building HTAP Applications with Python & Postgres—in Azure | PyCon 2020 Remote | Sai Srirampur

Building HTAP Applications with Python & Postgres—in Azure | PyCon 2020 Remote | Sai Srirampur

Demo of how to build HTAP applications on Azure—by scaling out Postgres with Hyperscale (Citus) on Azure Database for PostgreSQL. HTAP stands for “hybrid transactional analytical processing.” See how scaling out Postgres with Hyperscale (Citus) enables you to use a single database to serve both transactional and analytical workloads, reducing operational costs, and headaches, in a big way. Demo includes a lovely cameo by the Postgres extension to Azure Data Studio.

More Decks by Azure Database for PostgreSQL

Other Decks in Technology

Transcript

  1. Building HTAP Applications with
    Python & Postgres—in Azure
    Sai Srirampur | @saisrirampur @AzureDBPostgres @citusdata
    A Demo

    View Slide

  2. Quick “fly by” about me / why am I giving this demo?
    Postgres team at
    Microsoft
    via Citus Data
    acquisition
    Creator of
    `django-multitenant`
    @saisrirampur

    View Slide

  3. Let’s go / HTAP Demo on Azure / in 3 parts
    1 2 3
    @saisrirampur
    AZURE PORTAL HTAP APPLICATION AZURE DATA STUDIO

    View Slide

  4. Azure Database for PostgreSQL / managed service
    @saisrirampur

    View Slide

  5. APPLICATION
    SELECT
    FROM
    GROUP BY
    company_id,
    avg(spend) AS avg_campaign_spend
    compaigns
    company_id;
    METADATA
    COORDINATOR
    NODE
    WORKER NODES
    W1
    W2
    W3 …
    Wn
    SELECT company_id
    sum(spend),
    count(spend) …
    FROM
    campaigns_2009 …
    SELECT company_id
    sum(spend),
    count(spend) …
    FROM
    campaigns_2001 …
    SELECT company_id
    sum(spend),
    count(spend) …
    FROM
    campaigns_2017 …
    How Hyperscale (Citus) Shards Postgres Across Nodes / DISTRIBUTED AGGREGATE

    View Slide

  6. Hybrid
    Transactional &
    Analytical
    Processing
    So what is an HTAP application anyway?
    @saisrirampur

    View Slide

  7. Today’s Example of an
    HTAP application
    App that manages “Marketing/Ad
    Campaigns” for businesses
    • Create/Update/Delete Campaigns –
    Transactional Part
    • Analyze campaigns/clicks/impressions
    – Analytics part
    @saisrirampur

    View Slide

  8. The challenge
    for HTAP
    applications
    @saisrirampur

    View Slide

  9. Performance benefits of running your HTAP
    application on a Hyperscale (Citus) cluster on Azure
    Parallelism of scaled-out Postgres database
    cluster enables you to reduce costs & use
    single database for your HTAP workloads
    What I am going to show you today
    @saisrirampur

    View Slide

  10. Let’s go / HTAP Demo on Azure / in 3 parts
    1 2 3
    @saisrirampur
    AZURE PORTAL HTAP APPLICATION AZURE DATA STUDIO

    View Slide

  11. Most important takeaway from this Azure demo
    Citus open source mascot: Elicorn
    >part elephant, part unicorn
    >sharded, of course

    https://aka.ms/hyperscale-citus-quickstart
    @saisrirampur

    View Slide

  12. © Copyright Microsoft Corporation. All rights reserved.
    thank you
    merci
    grazie
    ευχαριστώ
    gracias
    ధన్యవాదాలు
    • Hyperscale (Citus) Quickstart Docs
    https://aka.ms/hyperscale-citus-quickstart
    • Multi-tenant Tutorial with Citus
    http://aka.ms/hyperscale-citus-multi-tenant-tutorial
    • django-multitenant library from Citus
    https://aka.ms/django-multitenant-github
    • Django sample app used in this demo
    https://aka.ms/django-PG-ad-app
    • Join Citus technical newsletter
    https://aka.ms/citus-newsletter
    Sai Srirampur
    @saisrirampur
    @AzureDBPostgres
    @citusdata​

    View Slide