Replies: 5 comments 9 replies
-
Nice! Just to confirm, the main functionality difference is that:
|
Beta Was this translation helpful? Give feedback.
-
PR #5260 was merged successfully! There are some open PRs that need conflicts resolved (I'll reach out on the affected PRs). |
Beta Was this translation helpful? Give feedback.
-
Hey guys, with this change - now ALL |
Beta Was this translation helpful? Give feedback.
-
for those following along, our next steps will be:
we don't have exact timeframes on next steps here, as we will be putting a lot of focus on revamped labels the next few months. |
Beta Was this translation helpful? Give feedback.
-
another proposal: remove extra |
Beta Was this translation helpful? Give feedback.
-
TLDR: we are moving some token related models to a separate dbt project to increase the stability and scalability of Spellbook. Some spells will change location, but your workflow will mostly remain unchanged.
Hello Wizards! π§ββοΈ
Thanks to the amazing work of our community, Spellbook will soon reach a size of 3000 spells! While weβre very excited about the growth of the project, we need to ensure that the project is properly set up to scale in the future. π
As you may know, Spellbook is powered by DBT, which lets us manage the orchestration of those 3000 spells (DBT models). We love DBT and have no immediate plans to move away from it. However, the current single-project setup isnβt well suited for the size of Spellbook. As the project grew, we started noticing undesirable side effects like non-linear increase in compile times and pre-run introspection steps, slow CI runs, and very slow docs pages (to name a few).
To address this scale issue, we decided to pilot a multi-project layout that should facilitate the growth of Spellbook. We considered many approaches to split out the current DBT project and decided on the following:
We will start by spinning out the upstream lineage of
tokens_erc20
andtokens_native
. These models are at the root of the largest sub-graph (sub-dag) in Spellbook. Removing them results in a series of smaller sub-graphs that are easier for us to manage.These models will live in a βsub-projectβ called tokens, which will live in a folder at the root of the Spellbook repo. All other models will remain in the same location for now. Removing those models from the main DBT project means that we wonβt be able to read from them with the
ref()
function. Instead, weβll have to usesource()
to read from them, and theyβll be treated as an external table. We already modified the children of the models removed to reflect those changes so you donβt need to.Since we are keeping the main sub-project at the root level, the development process will remain the same for the majority of the models. However, if you modify a model in the tokens project and wish to compile it locally, youβll have to run
dbt deps
from thetokens/
directory before you rundbt compile
. If you only rely on the CI to develop and test your models there are no changes to your development process!In the future, we will move more models to their own sub-projects, but we first want to experiment with this directory layout and sort out potential issues before moving more models.
ππ§ββοΈ
Beta Was this translation helpful? Give feedback.
All reactions