dbt-core VS sqlc

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

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
dbt-core sqlc
86 170
8,985 11,203
3.0% 5.5%
9.7 9.6
2 days ago 7 days ago
Python Go
Apache License 2.0 MIT License
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.

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.

sqlc

Posts with mentions or reviews of sqlc. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-26.
  • Show HN: Riza – Safely run untrusted code from your app
    1 project | news.ycombinator.com | 30 Apr 2024
    Hi HN, I’m Kyle and together with Andrew (https://news.ycombinator.com/user?id=stanleydrew) we’ve been working on Riza (https://riza.io), a project to make WASM sandboxing more approachable. We’re excited to share a developer preview of our code interpreter API with HN.

    There’s a bit of a backstory here. A few months ago, an old coworker reached out asking how to execute untrusted code generated by an LLM. Based on our experience building a plugin system for sqlc (https://sqlc.dev), we thought a sandboxed WASM runtime would be a good fit. A bit of hacking later, we got everything wired up to solve his issue. Now the API is ready for other developers to try out.

    The Riza Code Interpreter API is an HTTP interface to various dynamic language interpreters, each running inside a WASM sandbox without access to the outside world (for now). We modeled the API to align with a POSIX shell-style interface.

    We made a playground so you can try it out without signing up: https://riza.io

    The API documentation lives here: https://docs.riza.io

    There are many limitations at the moment, but we expect to rapidly expand capabilities so that programs can e.g. access the network and filesystem. Our roadmap has more details: https://docs.riza.io/reference/roadmap

    If you need to execute LLM-generated code we’d love to have you try the API and let us know if you run into any issues. You can email us directly at [email protected].

  • Give Up Sooner
    1 project | dev.to | 13 Mar 2024
    "Is there a way to get sqlc to use pointers for nullable columns instead of the sql.Null types?"
  • Show HN: Sqlbind a Python library to compose raw SQL
    7 projects | news.ycombinator.com | 26 Feb 2024
    I came across this yesterday for golang: https://sqlc.dev which is somewhat like what you want, maybe.

    Not sure it allows you to parameterize table names but the basic idea is codegen from sql queries so you are working with go code (autocompletion etc).

  • API completa em Golang - Parte 7
    3 projects | dev.to | 3 Feb 2024
  • ORMs are nice but they are the wrong abstraction
    7 projects | news.ycombinator.com | 1 Feb 2024
    Agreed, but tools like https://sqlc.dev, which I mention in the article, are a good trade-off that allows you to have verified, testable, SQL in your code.
  • API completa em Golang - Parte 6
    2 projects | dev.to | 23 Jan 2024
  • Go ORMs Compared
    5 projects | dev.to | 18 Jan 2024
    sqlc is not strictly a conventional ORM. It offers a unique approach by generating Go code from SQL queries. This allows developers to write SQL, which sqlc then converts into type-safe Go code, reducing the boilerplate significantly. It ensures that your queries are syntactically correct and type-safe. sqlc is ideal for those who prefer writing SQL and are looking for an efficient way to integrate it into a Go application.
  • Type-safe Data Access in Go using Prisma and sqlc
    3 projects | dev.to | 5 Dec 2023
    I was browsing awesome-go for ideas on how to setup my data access layer when I stumbled on sqlc. It seemed like a great option. Code generation is a strategy often used in the Go ecosystem and making my queries safe at compile time was an idea I really liked. Knex was great, but it required of me that I test thoroughly my queries at runtime and that I sanitize my query results to ensure type safety within my application.
  • Level UP your RDBMS Productivity in GO
    5 projects | dev.to | 5 Dec 2023
    Now, we are going to generate the code. For this purpose, we are going to use sqlc.
  • What 3rd-party libraries do you use often/all the time?
    7 projects | /r/golang | 1 Dec 2023
    https://github.com/sqlc-dev/sqlc — for use with //go:generate

What are some alternatives?

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

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.

sqlx - general purpose extensions to golang's database/sql

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

GORM - The fantastic ORM library for Golang, aims to be developer friendly

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

SQLBoiler - Generate a Go ORM tailored to your database schema.

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

ent - An entity framework for Go

citus - Distributed PostgreSQL as an extension

jet - Type safe SQL builder with code generation and automatic query result data mapping

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

pgx - PostgreSQL driver and toolkit for Go