On 08/14/2013 12:52 PM, Julien Danjou wrote:
On Wed, Aug 14 2013, Jay Pipes wrote:
I submitted a bug report to improve the schema of the meter table to reduce
duplication:
https://bugs.launchpad.net/ceilometer/+bug/1211985
This would only affect the SQL storage driver.
Interested in hearing thoughts on the above recommendations, which are:
1) Replace counter_type with an integer column counter_type_id that
references a lookup table (counter_type)
2) Replace counter_unit with an integer column counter_unit_id that
references a lookup table (counter_unit)
3) Replace counter_name with an integer column counter_id that references a
lookup table (counter)
Just those three changes would reduce the overall row size for records in
the meter table by about 10%, by my calculations, which is a good
improvement for a relatively painless set of modifications.
That means we'll have to do 3 joins most of the time. Is that less
costly than fetching these right away from the record?
Yes, much less costly.
With the joins, you are only searching/fetching the long string once.
With the long strings in the meter table, you are
searching/fetching/storing those long strings thousands and thousands of
times, instead of a small integer lookup key.
RDBMS were built for relational data like this, and joins are a faster
solution in RDBMS compared to flat schemas like No-SQL data stores require.
Best,
-jay
_______________________________________________
OpenStack-dev mailing list
[email protected]
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev