logica VS dbt-core

Compare logica vs dbt-core and see what are their differences.

logica

Logica is a logic programming language that compiles to SQL. It runs on Google BigQuery, PostgreSQL and SQLite. (by EvgSkv)

dbt-core

dbt enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications. (by dbt-labs)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
logica dbt-core
19 86
1,680 8,906
- 2.1%
9.1 9.7
14 days ago 2 days ago
Jupyter Notebook Python
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

logica

Posts with mentions or reviews of logica. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-30.
  • Prolog language for PostgreSQL proof of concept
    7 projects | news.ycombinator.com | 30 Mar 2024
    If you're interested in this I would also recommend you check out Logica[0], which is a datalog-like language that is explicitly made to compile to SQL queries.

    0: https://logica.dev/

  • Logica
    1 project | news.ycombinator.com | 21 Jan 2024
  • New welcome page for Logica language
    1 project | news.ycombinator.com | 23 May 2023
  • Introduction to Datalog
    6 projects | news.ycombinator.com | 15 Feb 2023
    > I guess the intention is to be better than SQL but then I was left with "under which circumstances?"

    Excellent question.

    Two of the most common use cases for databases are "transactional processing" (manipulating small numbers of rows in real time) and "analytical processing" (querying enormous numbers of rows, typically in a read-only fashion).

    SQL is generally fine for transactional workloads.

    But analytical queries sometimes involve multi-page queries, with lots of JOINs and CTEs. And these queries are often automatically generated.

    And once you start writing actual multi-page "programs" in SQL, you may decide that it's a fairly clunky and miserable programming language. What Datalog typically buys you is a way to cleanly decompose large queries into "subroutines." And it offers a simpler syntax for many kinds of complex JOINs.

    Unfortunately, there isn't really a standard dialect of Datalog, or even a particular dialect with mainstream traction. So choosing Datalog is a bit of a tradeoff: does it buy you enough, for your use case, that it's worth being a bit outside the mainstream? Maybe! But I'd love to see something like Logica gain more traction: https://logica.dev/

  • Mangle, a programming language for deductive database programming
    12 projects | news.ycombinator.com | 26 Nov 2022
    Interesting; a Google engineer previously published a Datalog variant for BigQuery: https://logica.dev/

    This new language seems similar to differential-Datalog (which is sadly in maintenance mode): https://news.ycombinator.com/item?id=33521561

  • Show HN: PRQL 0.2 – Releasing a better SQL
    16 projects | news.ycombinator.com | 27 Jun 2022
  • Show HN: PRQL – A Proposal for a Better SQL
    15 projects | news.ycombinator.com | 24 Jan 2022
    Looks pretty cool. I'd be interested if the README had a comparison with Google's Logica (https://github.com/EvgSkv/logica)
  • PathQuery, Google's Graph Query Language
    4 projects | news.ycombinator.com | 1 Jul 2021
    Oh wow that is neat!

    And yes, this kind of thing is why datalog is a lot more amenable to fast query plans & runtimes than prolog. This part is especially cool: https://github.com/EvgSkv/logica/blob/main/compiler/dialects...

  • Thought about Logica: Google new programming language that compiles to SQL ?
    2 projects | /r/dataengineering | 6 May 2021
    Google new programming Language that compiles to SQL (Support BigQuery and Postgres) feels very exciting. Blog: https://opensource.googleblog.com/2021/04/logica-organizing-your-data-queries.html Github: https://github.com/EvgSkv/logica
  • Google Logica Aims To Make SQL Queries More Reusable and Readable
    1 project | /r/google | 25 Apr 2021
    Going to be? It already is. In fact, one thing the article misses is right there at the bottom of the project page:

dbt-core

Posts with mentions or reviews of dbt-core. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-16.
  • Dbt
    1 project | news.ycombinator.com | 18 Feb 2024
  • Relational is more than SQL
    11 projects | news.ycombinator.com | 16 Sep 2023
    dbt integration was one of our major goals early on but we found that the interaction wasn't as straightforward as had hoped.

    There is an open PR in the dbt repo: https://github.com/dbt-labs/dbt-core/pull/5982#issuecomment-...

    I have some ideas about future directions in this space where I believe PRQL could really shine. I will only be able to write those down in a couple of hours. I think this could be a really exciting direction for the project to grow into if anyone would like to collaborate and contribute!

  • How to Level Up Beyond ETLs: From Query Optimization to Code Generation
    1 project | news.ycombinator.com | 6 Sep 2023
    > Could you share more specific details? Happy to look over / revise where needed.

    Sure thing! I'd say first off, the solutions may look different for a small company/startup vs. a large enterprise. It can help if you explain the scale at which you are solving for.

    On the enterprise side of things, they tend to buy solutions rather than build them in-house. Things like Informatica, Talend, etc. are common for large enterprises whose primary products are not data or software related. They just don't have the will, expertise, or the capital to invest in building and maintaining these solutions in-house so they just buy them off the shelf. On the surface, these are very expensive products, but even in the face of that it can still make sense for large enterprises in terms of the bottom line to buy rather than build.

    For startups and smaller companies, have you looked at something like `dbt` (https://github.com/dbt-labs/dbt-core) ? I understand the desire to write some code, but often times there are already existing solutions for the problems you might be encountering.

    ORM's should typically only exist on the consumer-side of the equation, if at all. A lot of business intelligence / business analysts are just going to use tools like Tableau and hook up to the data warehouse via a connector to visualize their data. You might have some consumers that are more sophisticated and may want to write some custom post-processing or aggregation code, and they could certainly use ORM's if they choose, but it isn't something you should enforce on them because it's a poor place to validate data since as mentioned there are different ways/tools to access the data and not all of them are going to go through your python SDK.

    Indeed in a large enough company, you are going to have producers and consumers that are going to use different tools and programming languages, so it's a little bit presumptuous to write an SDK in python there.

    Another thing to talk about, and this probably mostly applies to larger companies - have you looked at an architecture like a distributed data mesh (https://martinfowler.com/articles/data-mesh-principles.html)? This might be something to bring to the CTO more than try to push for yourself, but it can completely change the landscape of what you are doing.

    > More broadly is the issue of the gap of what you think the role is, and what the role actually is when you join. There are definitely cases where this is accidental. The best way I can think of to close the gap is to maybe do a short-term contract, but may be challenging to do under time constraints etc.

    Yeah this definitely sucks and it's not an enviable position to be in. I guess you have a choice to look for another job or try to stick it out with the company that did this to you. It's possible there is a geniune existential crisis for the company and a good reason why they did the bait-and-switch. Maybe it pays to stay, especially if you have equity in the company. On the other hand, it could also be the case that it is the result of questionable practices at the company. It's hard to make that call.

  • Python: Just Write SQL
    21 projects | news.ycombinator.com | 14 Aug 2023
    I really dislike SQL, but recognize its importance for many organizations. I also understand that SQL is definitely testable, particularly if managed by environments such as DBT (https://github.com/dbt-labs/dbt-core). Those who arrived here with preference to python will note that dbt is largely implemented in python, adds Jinja macros and iterative forms to SQL, and adds code testing capabilities.
  • Transform Your Data Like a Pro With dbt (Data Build Tool)
    2 projects | dev.to | 8 Jun 2023
    3). Data Build Tool Repository.
  • What are your thoughts on dbt Cloud vs other managed dbt Core platforms?
    1 project | /r/dataengineering | 23 May 2023
    dbt Cloud rightfully gets a lot of credit for creating dbt Core and for being the first managed dbt Core platform, but there are several entrants in the market; from those who just run dbt jobs like Fivetran to platforms that offer more like EL + T like Mozart Data and Datacoves which also has hosted VS Code editor for dbt development and Airflow.
  • How do I build a docker image based on a Dockerfile on github?
    2 projects | /r/docker | 5 May 2023
  • Dbt vs. SqlMesh
    1 project | /r/dataengineering | 29 Apr 2023
    Ahh I misunderstood, yes column level lineage is useful. DBT prefers leveraging macros which sort of breaks this pattern. I think the DBT way would be to better separate fields into upstream models and use table tracking https://github.com/dbt-labs/dbt-core/discussions/4458
  • DBT core v1.5 released
    2 projects | /r/dataengineering | 28 Apr 2023
    Here’s the PR, which includes a what/how/why: https://github.com/dbt-labs/dbt-core/issues/7158
  • DBT Install
    1 project | /r/Supabase | 22 Mar 2023
    I've attached a link to their documentation. DBT is becoming increasingly popular within the Data Engineering community with over 5k stars on github.

What are some alternatives?

When comparing logica and dbt-core you can also consider the following projects:

scryer-prolog - A modern Prolog implementation written mostly in Rust.

airbyte - The leading data integration platform for ETL / ELT data pipelines from APIs, databases & files to data warehouses, data lakes & data lakehouses. Both self-hosted and Cloud-hosted.

ungoogled-chromium-archlinux - Arch Linux packaging for ungoogled-chromium

metricflow - MetricFlow allows you to define, build, and maintain metrics in code.

malloy - Malloy is an experimental language for describing data relationships and transformations.

Airflow - Apache Airflow - A platform to programmatically author, schedule, and monitor workflows

prql - PRQL is a modern language for transforming data — a simple, powerful, pipelined SQL replacement

n8n - Free and source-available fair-code licensed workflow automation tool. Easily automate tasks across different services.

differential-datalog - DDlog is a programming language for incremental computation. It is well suited for writing programs that continuously update their output in response to input changes. A DDlog programmer does not write incremental algorithms; instead they specify the desired input-output mapping in a declarative manner.

citus - Distributed PostgreSQL as an extension

materialize - The data warehouse for operational workloads.

dagster - An orchestration platform for the development, production, and observation of data assets.