Live data from Hacker News

Launch HN: Elementary (YC W22) – Open-source data observability

news.ycombinator.com

31–40 of 41 posts

Re: Launch HN: Elementary (YC W22) – Open-source data observability

#31
post #23

Great job Elementary team! Does this in essence similar to the aws deeque project but fancier and more inclusive of edge cases, common scenarios? ( https://github.com/awslabs/deequ )

Hi, thank you! The way we see it, AWS Deeque, as well as Great Expectations and dbt tests, are used for static data testing. This is great for many use cases, however there are problems you will only detect by continuously monitoring. Just like in software engineering you use both unit testing and monitoring.

Re: Launch HN: Elementary (YC W22) – Open-source data observability

#32

Hey Maayan and Or, Nice project, at re_data we just got over a lot of your new updates and it seems a quite large part of your project is "inspired" by code from our library https://github.com/re-data/re-data . Even with parts, we are not especially proud of ;) If you decide to copy not only ideas but a big part of internal implementation, I think you should include that information in your LICENSE. Cheers

If you're going to make an accusation like this on HN, you should provide line by line evidence. Saying "you copied us" without any examples makes you incredible.

Re: Launch HN: Elementary (YC W22) – Open-source data observability

#33

Congrats on the launch! As a former data scientist, I suffered from bad data on a daily basis. Can you provide some details on how anomalies are detected? Is it some kind of threshold-based approach defined by the user or are you running statistical analysis on user's data? Curious to learn more!

Anomalies are detected based on a statistical analysis of the data and is measured in terms of standard deviations from the mean. We have lots of plans on improvements in the future and curious also to learn how you would approach this problem as well.

Re: Launch HN: Elementary (YC W22) – Open-source data observability

#34

Earlier quoted context omitted.

It's "inspired" the dbt transformation part by using the same models and logic/part of code of generating them. We, for example, had a funny thing of computing metrics in 4 threads via multiple dbt models, and this is also done in elementary in a very similar way :) The lineage part is independent (re_data uses lineage from dbt), so I haven't looked into that much.

While writing our dbt project we looked into more than 60 dbt projects to learn from prior work while developing Elementary, and have been inspired by different things in different places. You're right that we were inspired by a couple of techniques you used, one being that creative way to improve performance (though the 4 thread setting itself is the dbt recommendation in their docs). Another is using z-score for an…

I think mateuszklimek is pointing out that the MIT license requires you to include the redata copyright in your source.

Re: Launch HN: Elementary (YC W22) – Open-source data observability

#35

Hey Maayan and Or, Nice project, at re_data we just got over a lot of your new updates and it seems a quite large part of your project is "inspired" by code from our library https://github.com/re-data/re-data . Even with parts, we are not especially proud of ;) If you decide to copy not only ideas but a big part of internal implementation, I think you should include that information in your LICENSE. Cheers

If you're going to make an accusation like this on HN, you should provide line by line evidence. Saying "you copied us" without any examples makes you incredible.

Sure, please compare: https://re-data.github.io/dbt-re-data/#!/overview?g_v=1 and https://docs.elementary-data.com/ graph png.

Elementary models like data_monitors_thread1, data_monitors_thread2, data_monitors_thread3, data_monitors_thread4, data_monitoring_metrics, latest_metrics, metrics_stats_for_anomalies, z_score, anomaly_detection, schema_schenages, etc. Existed before in re_data, are doing the same things and specifically for *_thread4 are not similar to anything you normally do in dbt.

And these similarities are also visible in code, for example here: the same usage of the undocumented dbt context feature.

# elementary

{% macro get_monitor_macro(monitor) %}

    {%- set macro_name = monitor + '_monitor' -%}
    {%- if context['elementary'].get(macro_name) -%}
        {%- set monitor_macro = context['elementary'][macro_name] -%}
    {%- else -%}
        {%- set monitor_macro = context['elementary']['no_monitor'] -%}
    {%- endif -%}

    {{- return(monitor_macro) -}}
{% endmacro %}

# re_data

{%- macro get_metric_macro(metric_name) %}

    {% set macro_name = 're_data_metric' + '_' + metric_name %}

    {% if context['re_data'].get(macro_name) %}
        {% set metric_macro = context['re_data'][macro_name] %}
    {%- else %}
        {% set metric_macro = context[project_name][macro_name] %}
    {% endif %}

    {{ return (metric_macro) }}
{% endmacro %}

Re: Launch HN: Elementary (YC W22) – Open-source data observability

#39

Earlier quoted context omitted.

While writing our dbt project we looked into more than 60 dbt projects to learn from prior work while developing Elementary, and have been inspired by different things in different places. You're right that we were inspired by a couple of techniques you used, one being that creative way to improve performance (though the 4 thread setting itself is the dbt recommendation in their docs). Another is using z-score for an…

I think mateuszklimek is pointing out that the MIT license requires you to include the redata copyright in your source.

Right on point, they don't even have a filled out LICENSE on the repo

> Copyright [yyyy] [name of copyright owner]

https://github.com/elementary-data/elementary/blob/master/LI...

Re: Launch HN: Elementary (YC W22) – Open-source data observability

#40
Sparsity and non linearities in data needs to be factored in. Then data aging and maturity. The way anomaly gets detected matters based on these. I have seen consistent Alert floods whereas in reality they were temporal fluctuations or temporal correlation between variables. Measurement and sampling time in timeseries across touch points is another important design decision.
Post reply on HN