Likelihood to Recommend If you can load your data first into your warehouse, dbt is excellent. It does the T(ransformation) part of ELT brilliantly but does not do the E(xtract) or L(oad) part. If you know SQL or your development team knows SQL, it's a framework and extension around that. So, it's easy to learn and easy to hire people with that technical skill (as opposed to specific Informatica,
SnapLogic , etc. experience). dbt uses plain text files and integrates with GitHub. You can easily see the changes made between versions. In GUI-based UIs it was always hard to tell what someone had changed. Each "model" is essentially a "SELECT" statement. You never need to do a "CREATE TABLE" or "CREATE VIEW" - it's all done for you, leaving you to work on the business logic. Instead of saying "FROM specific_db.schema.table" you indicate "FROM ref('my_other_model')". It creates an internal dependency diagram you can view in a DAG. When you deploy, the dependencies work like magic in your various environments. They also have great documentation, an active slack community, training, and support. I like the enhancements they have been making and I believe they are headed in a good direction.
Read full review Database Migrations on Java-based solutions. It has one of the best integrations with it as a database migration tool, you can do it with the community edition (no pricing involved) and it works flawlessly with Maven and Gradle. It's not an expensive tool in order to use the next level of features and is worth the money. I would recommend reaching that edition level as the object mapping feature gets really handy. I would not recommend it for any Microsoft-based solution (.Net) as is not compatible at all based on my experience, this is a tool only worth it with Java applications.
Read full review Pros user experience makes it easy to work with SQL and version control customer success team and the dbt (data build tool) community help establish best practices thorough and clear documentation Read full review Supports many databases Community version uses Apache license Widely used, good community support Read full review Cons Slow load times of the dbt cloud environment (they're working on it via a new UI though) More out-of-the-box solutions for managing procedures, functions, etc would be nice to have, but honestly, it's pretty easy to figure out how to adapt dbt macros Read full review GUI could be more user friendly Applying patch scripts on a blank DB differs from on a DB with data, so the migration could still fail when all tests passed Configurations options could be more flexible / powerful Read full review Alternatives Considered Most ETL pipeline products have a T layer, but dbt just does it better. The transformation is on steroids compared to the others. Also, just allows much more Adhoc solutions for very specific projects. Those ETL tools are probably better on the T part if you don't need too many transforms - also dbt is pretty much free dependent on how you work it, also extremely scalable.
Read full review The problem with a cloud-based tool for migration services is the cloud dependency. You are restricted to use the tool along the Cloud provider. Flyway gives you the freedom to use it in any scenario as long as you are working with a compatible database engine. Even if you are working on-premise and you don't have plans to move to a cloud architecture. Or even for sandbox development scenarios where you are a developer playing around with some project ideas. And you don't have to pay anything as long as you need advanced features, and not less importantly, you are using an open-source tool.
Read full review Return on Investment Simplified our BI layer for faster load times Increased the quality of data reaching our end users Makes complex transformations manageable Read full review Reduced our effort for release processes. Easy to setup - less than 5 minutes. Improve reliability of our databases. Easy backup and version control. Read full review ScreenShots