[openstack-dev] [tc] Active or passive role with our database layer

Jay Pipes jaypipes at gmail.com
Tue May 23 19:24:34 UTC 2017


On 05/23/2017 03:16 PM, Edward Leafe wrote:
> On May 23, 2017, at 1:43 PM, Jay Pipes <jaypipes at gmail.com> wrote:
> 
>> [1] Witness the join constructs in Golang in Kubernetes as they work around etcd not being a relational data store:
> 
> Maybe it’s just me, but I found that Go code more understandable than some of the SQL we are using in the placement engine. :)

Err, apples, oranges.

The Golang code is doing a single JOIN operation. The placement API is 
doing dozens of join operations, aggregate operations, and more.

> I assume that the SQL in a relational engine is faster than the same thing in code, but is that difference significant? For extremely large data sets I think that the database processing may be rate limiting, but is that the case here? Sometimes it seems that we are overly obsessed with optimizing data handling when the amount of data is relatively small. A few million records should be fast enough using just about anything.

You are more than welcome to implement the placement API in etcd or 
Cassandra, Ed. :)

Best,
-jay



More information about the OpenStack-dev mailing list