[openstack-dev] [Glance] Replacing Glance DB code to Oslo DB code.
Jay Pipes
jaypipes at gmail.com
Mon Aug 19 06:51:44 UTC 2013
On 08/19/2013 12:56 AM, Joshua Harlow wrote:
> Another good article from an ex-coworker that keeps on making more and
> more sense the more projects I get into...
>
> http://seldo.com/weblog/2011/08/11/orm_is_an_antipattern
>
> Your mileage/opinion though may vary :)
I don't disagree with most of that article. All good points.
However, I will say a couple things:
1) We can still use the SQLAlchemy ORM module -- Query and Session
object specifically, along with using the SQLAlchemy Model base class
with no relation() loading at all in the Model classes -- and get good
performance. We just wouldn't use the ActiveRecord pattern.
2) I highly caution folks who think a No-SQL store is a good storage
solution for any of the data currently used by Nova, Glance (registry),
Cinder (registry), Ceilometer, and Quantum. All of the data stored and
manipulated in those projects is HIGHLY relational data, and not
objects/documents. Switching to use a KVS for highly relational data is
a terrible decision. You will just end up implementing joins in your code...
Best,
-jay
More information about the OpenStack-dev
mailing list