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 It's easy to create virtual environments and install packages for different projects as we may need project-specific packages for doing our experiments, also it's easy to see what changes we have made and create pull requests faster. But sometimes we want some light python editor like Jupiter notebook as PyCharm is relatively heavier, also Jupiter notebooks are a good option when we need to run remote code on local machines.
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 Git integration is really essential as it allows anyone to visually see the local and remote changes, compare revisions without the need for complex commands. Complex debugging tools are basked into the IDE. Controls like break on exception are sometimes very helpful to identify errors quickly. Multiple runtimes - Python, Flask, Django, Docker are native the to IDE. This makes development and debugging and even more seamless. Integrates with Jupyter and Markdown files as well. Side by side rendering and editing makes it simple to develop such files. 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 The biggest complaint I have about PyCharm is that it can use a lot of RAM which slows down the computer / IDE. I use the paid version, and have otherwise found nothing to complain about the interface, utility, and capabilities. Read full review Likelihood to Renew It's perfect for our needs, cuts development time, is really helpful for newbies to understand projects structure
Read full review Support Rating I rate 10/10 because I have never needed a direct customer support from the JetBrains so far. Whenever and for whatever kind of problems I came across, I have been able to resolve it within the internet community, simply by Googling because turns out most of the time, it was me who lacked the proper information to use the IDE or simply make the proper configuration. I have never came across a bug in PyCharm either so it deserves 10/10 for overall support
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 PyCharm is the best IDE for python development. PyCharm offers various features: source code completion, support for unit testing, integration with Docker/GitLab/Git, ability to manage and configure virtual environments, auto-indentation, and re-factoring code with ease. Support for JSON/Shell scripts and support for Flask/Django Other tools are effective for creating isolated scripts but not for handling projects with more than two scripts.
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 Buying the licensed pro version is a bit costly, but overall because of its features and its speed, the time taken by a developer to develop something can be improved. Indirectly getting a good return of Investment. Considering the team size and its features, one can go for the licensed version as the ROI is high. Customer support is also good for a licensed version, thereby saving the time, which in turn shows ROI as high. Read full review ScreenShots