On Tue, 2009-07-07 at 09:34 -0400, Sam Rowe wrote: > > Really, Storeconfigs builds hash-like structures (resources are a hash > > with arrays for values, effectively) into the db, which basically > > sucks: Every resource is at least two associations: > > has_many :param_names and has_many :param_values. This is slow and > > sucky, but unavoidable with a standard db. > > I know I sound like a broken record, but it's slow and sucky because > you're using the wrong kind of datastore. CouchDB is a > document-oriented DB, so I can see how it wouldn't be a good fit > either.
The real advantage of CouchDB is erlang, IMHO. Which means large concurrency, which is not AFAIK the current model of Puppet, so I'm not surprised by the results either. > Here's the ruby-bindings documentation for TC. There are several > examples of different kinds of usage, the first one being a hash > database. One other thing to point out is that I'm pretty sure TC > doesn't use SQL and this might be a lot easier than you think. > > http://tokyocabinet.sourceforge.net/rubydoc/ > > One downside is that you'd be going from a fairly ubiquitous back-end > to one that a lot of folks aren't familiar with. But hey, it's from > Japan like Ruby and it's been going strong there for a long time and > is considered very solid. It seems to support a kind of schema mode (Table mode in the documentation) that we could use (unlike what I first thought). As Luke said the whole issue is not the storeconfigs code which is now indirected, it is the collector query (which atm builds a SQL query) which need to be properly abstracted. I'll have a deeper look to TC during during the week-end. The other advantage of a RDBMS as James pointed is that it has a common layer for interacting with it from other environment (webapp or anything). -- Brice Figureau My Blog: http://www.masterzen.fr/ --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en -~----------~----~----~----~------~----~------~--~---
