Re:What I Wish I Had Known Before Scaling Uber [video]
by ci5er on Wednesday September 28, 2016 @11:54AM
(#12598683)
In the absence of a good reason not to use Python (and there are many case where one should not), I use it quite a bit myself. And usually (absent good reason) I use it with PostresQL. SQLAlchemy is a wonderful thing.
Granted, I am neither a database nor ORM savant, but I find that it makes explicit almost as easy as implicit - but with more safety! I haven't seen that elsewhere, but I haven't looked very hard either. I have heard claims that Groovy/Hibernate do this just as well as well, but it isn't clear to me that this is completely true.
Re:What I Wish I Had Known Before Scaling Uber [video]
by _asummers on Thursday September 29, 2016 @09:36AM
(#12605087)
You should check out what the Elixir folks are doing with Ecto. I'm a huge fan so far!
Re:What I Wish I Had Known Before Scaling Uber [video]
by ci5er on Thursday September 29, 2016 @10:09AM
(#12605313)
Thanks for the pointer. I'm already using BEAM in a project, so that wouldn't be a bridge too far for that one...
Re:What I Wish I Had Known Before Scaling Uber [video]
by _asummers on Thursday September 29, 2016 @10:22AM
(#12605411)
Conceptually, everything is a Schema and then you generate Changesets for DB operations like insert, update, etc. and apply various validations and transformations as a chain of function calls on the input map. No such thing as a model anymore. It fits really nicely with a data > functions mindset.
Sometimes it's easier for me to alter the JSON payload a certain way in the frontend, then the python backend handles it and saves it to the DB.
The RDB helps not to stray too far into crazy-land, while python and JSON gives you the flexibility to prototype and experiment.