Hey Paddy, sure thing! I'll share some thoughts here and see if I can add it to the repo, too, so that other people can see it.
The advantage is that you automatically get pre-loaded PyMongo or SQLAlchemy clients in your Jupyter environment, with connection URLs correctly configured to your database. You also get the same in the Streamlit app.
If you have a static dev database that you always use/maintain, and you're comfortable with your connectors, then you probably don't find a lot of value in that. But if you're like me and you always have to look up how to configure the network connections through the docker network + exposed ports, and you're never sure how to construct the connection URL and configure the default clients, then that stuff comes right out of the box.
I think these things are most useful for me in the "proof-of-concept" stage where I'm just starting a new data engineering idea from scratch and I want a brand new database.
Going along those lines - I'm going to add elasticsearch next, because I always want that search functionality over text but always feel like its hard to spin up and connect to
Comments
I'm comfortable installing jupyter and databases on my machine. What's the advantage of this approach?
Is it the one step docker deploy?
Could you talk about the pain of the alternative solution a bit more?
Hey Paddy, sure thing! I'll share some thoughts here and see if I can add it to the repo, too, so that other people can see it.
The advantage is that you automatically get pre-loaded PyMongo or SQLAlchemy clients in your Jupyter environment, with connection URLs correctly configured to your database. You also get the same in the Streamlit app.
If you have a static dev database that you always use/maintain, and you're comfortable with your connectors, then you probably don't find a lot of value in that. But if you're like me and you always have to look up how to configure the network connections through the docker network + exposed ports, and you're never sure how to construct the connection URL and configure the default clients, then that stuff comes right out of the box.
I think these things are most useful for me in the "proof-of-concept" stage where I'm just starting a new data engineering idea from scratch and I want a brand new database.
Going along those lines - I'm going to add elasticsearch next, because I always want that search functionality over text but always feel like its hard to spin up and connect to