<p dir="ltr"><br>
On Aug 18, 2013 3:58 PM, "Jay Pipes" <<a href="mailto:jaypipes@gmail.com">jaypipes@gmail.com</a>> wrote:<br>
><br>
> On 08/18/2013 03:53 AM, Joshua Harlow wrote:<br>
>><br>
>> I always just liked SQL as the database abstraction layer ;)<br>
>><br>
>> On a more serious note I think novas new object model might be a way to go but in all honesty there won't be a one size fits all solution. I just don't think sqlalchemy is that solution personally (maybe if we just use sqlalchemy core it will be better and eject just the orm layer).<br>

><br>
><br>
> What is specifically wrong with SQLAlchemy's ORM layer? What would you replace it with? Why would use SQLAlchemy's "core" be better?<br>
><br>
> I've seen little evidence that SQLAlchemy's ORM layer is the cause for database performance problems. Rather, I've found that the database schemas in use -- and in some cases, the *way* that the SQLAlchemy ORM is called (for example, doing correlated subqueries instead of straight joins) -- are primary causes for database performance issues.</p>

<p dir="ltr">From what I have seen the issue is both the queries and the ORM layer. See <a href="https://bugs.launchpad.net/nova/+bug/1212418">https://bugs.launchpad.net/nova/+bug/1212418</a>  for details.</p>
<p dir="ltr">><br>
> Note, I'm not speaking about database scalability issues but rather pure query performance...<br>
><br>
> Best,<br>
> -jay<br>
><br>
><br>
>> On Aug 16, 2013, at 12:07 PM, "Jay Pipes" <<a href="mailto:jaypipes@gmail.com">jaypipes@gmail.com</a>> wrote:<br>
>><br>
>>> On 08/16/2013 02:41 PM, Mark Washenberger wrote:<br>
>>>><br>
>>>> I think the issue here for glance is whether or not oslo common code<br>
>>>> makes it easier or harder to make other planned improvements. In<br>
>>>> particular, using openstack.common.db.api will make it harder to<br>
>>>> refactor away from a giant procedural interface for the database driver.<br>
>>><br>
>>><br>
>>> And towards what? A giant object-oriented interface for the database driver?<br>
>>><br>
>>> -jay<br>
>>><br>
>>> _______________________________________________<br>
>>> OpenStack-dev mailing list<br>
>>> <a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
>>> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
>><br>
>><br>
>> _______________________________________________<br>
>> OpenStack-dev mailing list<br>
>> <a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
>> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
>><br>
><br>
><br>
> _______________________________________________<br>
> OpenStack-dev mailing list<br>
> <a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</p>