cds-snc / notification-planning-core

Project planning for GC Notify Core Team
0 stars 0 forks source link

Complete quicksight vs superset eval #321

Open jimleroyer opened 2 months ago

jimleroyer commented 2 months ago

Description

As a future BI tool user, I want to provide feedback on a superset vs QuickSight product evaluation, So that I have the best option for me picked up in the future.

WHY are we building?

Platform wants our recommendations

WHAT are we building?

Complete the existing BI tool document with missing evaluation criteria and move over Pat's evaluation in it.

Move some of our existing QuickSight analysis into SuperSet and reference these comparisons into the eval documents.

VALUE created by our solution

Platform is able to pick a tool with maximum awareness.

Acceptance Criteria

sastels commented 2 months ago

Comparison ideas:

Affects on analyses / dashboards:

Adding new calculated fields

Reproducing Notify dashboards:

sastels commented 2 months ago

QuickSight Scavenger Hunt in QuickSight vs SuperSet

sastels commented 2 months ago

Blazer send rate dashboard - SMS Send rate

with data_nh as (
    select
        id,
        sent_at, sent_at::date as day, round_minutes(sent_at, 1) as sent_minute,
        billable_units
    from notification_history
    where sent_at is not null and notification_type = 'sms'
),
data_n as (
    select
        id,
        sent_at, sent_at::date as day, round_minutes(sent_at, 1) as sent_minute,
        billable_units
    from notifications
    where sent_at is not null
       and notification_type = 'sms'
),
data as (
    select * from data_nh
    union
    select * from data_n
),
rollup as (
    select day, sent_minute, sum(billable_units) as fragments_per_minute
    from data
    group by day, sent_minute
)
select day, max(fragments_per_minute) as max_fragments_per_minute from rollup
group by day
order by day

QuickSight

SuperSet SuperSet runs SQLLite on its datasets, so we can write queries against them. In this case,

with data_nh as (
    select
        id,
        sent_at, date(sent_at) as day, date_trunc('minute', sent_at)  as sent_minute,
        1 as billable_units
    from curdatabase.notify_notification_history
    where sent_at is not null and notification_type = 'sms'
),
data_n as (
    select
           id,
        sent_at, date(sent_at) as day, date_trunc('minute', sent_at)  as sent_minute,
        1 as billable_units
    from curdatabase.notify_notifications
    where sent_at is not null
      and notification_type = 'sms'
),
data as (
    select * from data_nh
    union
    select * from data_n
),
rollupz as (
    select day, sent_minute , sum(billable_units) as fragments_per_minute
    from data
    group by day, sent_minute
)
select day, max(fragments_per_minute) as max_fragments_per_minute from rollupz
group by day
order by day

This query could be used to create a new dataset and then an analysis. You could also use the query directly as a datasource rather than creating a dataset but that seemed buggy, ie when I changed the date aggregation it didn't change the chart (ie after clicking "Update Chart").

Also superset did not like the name "rollup" for one of my subqueries and threw unhelpful error messages.

Overall it looks like, essentially, SuperSet supports SQLLite queries on its own datasets while QuickSight supports SQL queries on the underlying data source. To host QuickSight in a different account we would need to prepare the new sql query datasets in advance (probably with Glue).

P0NDER0SA commented 1 month ago

still looking to get more done on this

ben851 commented 3 weeks ago

So many meetings, and reviews!

jimleroyer commented 2 weeks ago

I reset the previous document by Bryan to remove the additions we added, and started a new one for us, which is more of an impression document rather than criteria. This will be faster that way.

jimleroyer commented 2 weeks ago

Started document is over there: https://docs.google.com/document/d/1A4G5GUXYFgXZS4JztmxON5FVgyjKyhaoN89zzMNC46s/edit

Will fill in specifics on products tomorrow.

jimleroyer commented 1 week ago

I completed the product sections yesterday. I would like to polish it more but I think a review by Steve and Pat would be at this time.

ben851 commented 3 days ago

@ben851 to review the doc