On Mon May 21 15:33:44 2012, Deepak Giridharagopal wrote:
On Mon, May 21, 2012 at 11:02 AM, Marc Zampetti
<[email protected] <mailto:[email protected]>> wrote:

    Is Puppet Labs saying they are ending support of MySQL and instead
    will only support PostgreSQL? That is going to be a big problems
    for shops that do not support PostgresSQL, or are only allowed to
    run DB systems on an approved list.


What is on your approved list? Oracle? SQL Server? DB2? That kind of
information helps us plan things for the future.

MySQL, Sybase, Oracle are all supported platforms, but since only MySQL is the one without a license cost, that is really my only choice. Introducing yet another SQL store into the environment is just not an option from a management and support perspective. We are also supporting new solutions, like MongoDB, so that would be a better choice for us.


    Why wouldn't a DB-agnostic model be used?


The short answer is performance. To effectively implement things we've
got on our roadmap, we need things that (current) MySQL doesn't
support: array types are critical for efficiently supporting things
like parameter values, recursive query support is critical for fast
graph traversal operations, things like INTERSECT are handy for query
generation, and we rely on fast joins (MySQL's nested loop joins don't
always cut it). It's much easier for us to support databases with
these features than those that don't. For fairly divergent database
targets, it becomes really hard to get the performance we want while
simultaneously keeping our codebase manageable.

I understand the need to not support everything. Having designed a number of systems that require some of the features you say you need, I can say with confidence that most of those issues can be handled without having an RDBMS that has all those advanced features. So I will respectfully disagree that you need features you listed. Yes, you may not be able to use something like ActiveRecord or Hibernate, and have to hand-code your SQL more often, but there are a number of techniques that can be used to at least achieve similar performance characteristics. I think it is a bit dangerous to assume that your user base can easily and quickly switch out their RDBMS systems as easy as this announcement seems to suggest. I'm happy to be wrong if the overall community thinks that is true, but for something that is as core to one's infrastructure as Puppet, making such a big change seems concerning.



    Right now, I can say that due to these types of issues, I cannot
    even evaluate PuppetDB, and will not be able to for the
    foreseeable future.


How many hosts do you have? Would the built-in, embedded database work
for you as an interim solution?

No, I'm already managing several hundred hosts.



    Also, does this mean that the existing inventory service and store
    configs functionality goes away?


The existing inventory service API is still supported, and in fact
PuppetDB works as a backing store for that API. So tools and code that
use that API currently will continue to work. Puppet 3.0 still
includes the old ActiveRecord-based storeconfigs backend, which still
works.

But is there a commitment from Puppet Labs that storeconfigs on top of MySQL will be supported for some time? It doesn't really do me any good to build my infrastructure on store config (primarily for external resources), and then find out 6 - 12 months from now that it is going away simply because the extra work to support MySQL is too hard.

deepak



    On Mon May 21 07:11:07 2012, Erik Dalén wrote:

        On 19 May 2012 01:44, Deepak Giridharagopal
        <[email protected] <mailto:[email protected]>> wrote:

            On Fri, May 18, 2012 at 7:48 AM, Philip Brown
            <[email protected] <mailto:[email protected]>> wrote:




                On Friday, May 18, 2012 7:21:26 AM UTC-7, Michael
                Stanhke wrote:


                    PuppetDB, a component of the Puppet Data Library,
                    is a centralized
                    storage
                    daemon for auto-generated data. This initial
                    release of PuppetDB targets
                    the
                    storage of catalogs and facts:
                    ...

                    As this is the first public release, the version
                    is 0.9.0 (a.k.a. “open
                    beta”).
                    While we’ve been using PuppetDB internally at
                    Puppet Labs for months
                    without
                    incident, we encourage you to try it out, hammer
                    it with data, and let us
                    know
                    if you run into any issues! A 1.0 release will
                    come after a few cycles of
                    bug
                    squashing.


                Sounds interesting.  I have a question about integration;

                How does this interact or integrate with puppet dashboard?
                Is this an "either one or the other" sort of thing? Or
                do they play nicely
                together? or do they actually do completely different
                things?



            Dashboard uses the inventory service API to do its queries
            for things like
            nodes and facts. As luck would have it, PuppetDB's
            terminuses implement that
            same API. If you configure your Puppetmaster so that
            PuppetDB handles
            inventory service queries (this is covered in the
            installation docs), and
            point Dashboard at your Puppetmaster, things will Just Work.

            PuppetDB doesn't (yet) do report storage, so that will
            continue to work
            inside of Dashboard as it always has.


        Do you plan on merging it so that the inventory service node
        queries
        can use classes and parameters in the search queries?

        I know this is already possible using foreman.


    --
    You received this message because you are subscribed to the Google
    Groups "Puppet Users" group.
    To post to this group, send email to [email protected]
    <mailto:[email protected]>.
    To unsubscribe from this group, send email to
    puppet-users+unsubscribe@__googlegroups.com
    <mailto:puppet-users%[email protected]>.
    For more options, visit this group at
    http://groups.google.com/__group/puppet-users?hl=en
    <http://groups.google.com/group/puppet-users?hl=en>.


--
You received this message because you are subscribed to the Google
Groups "Puppet Users" 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-users?hl=en.

--
You received this message because you are subscribed to the Google Groups "Puppet 
Users" 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-users?hl=en.

Reply via email to