Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Rose::DB and DBIx

by gizmo_mathboy (Friar)
on Jan 14, 2007 at 04:26 UTC ( #594603=perlquestion: print w/replies, xml ) Need Help??
gizmo_mathboy has asked for the wisdom of the Perl Monks concerning the following question:

What are monks' thoughts are on the relative merits of DBIx::Class and Rose::DB?

I only ask because of merlyn's last few articles in Linux Magazine have used it.

Replies are listed 'Best First'.
Re: Rose::DB and DBIx
by perrin (Chancellor) on Jan 14, 2007 at 15:46 UTC
    The best summary of the differences is here.
      That summary is a bit out of date. Both RDBO and DBIC have improved a lot since then.
        After considering DBIx::Class, Rose::DB was recommended to me. One thing I can't figure out is why there is the requirement that tables have a primary key. I'm working with a legacy DB in which many tables do not have a primary key. Is Rose::DB simply unusable? Or is there a workaround I haven't found yet?
Re: Rose::DB and DBIx
by stonecolddevin (Vicar) on Jan 14, 2007 at 04:34 UTC

    Well I don't know where the stats are, but I've read an article or two noting Rose::DB is quite a bit faster than DBIx::Class with about the same learning curve from what I can remember. Perhaps I can dig up some more information and share it.

      I haven't done anything with Rose-DB yet, so I can't comment on the learning curve. From discussions in #dbix-class and on the DBIx::Class mailing list I remember that RDB's speed advantage comes from less methods who contain much more logic. While this brings a speed gain (less method calls) it sacrifices easy extensibility, which is one of DBIx::Class' big advantages.

      Ordinary morality is for ordinary people. -- Aleister Crowley

        Well, it depends on what you're extending. For example, RDBO has a very flexible framework for defining new column types, encapsulating inflate/deflate, custom DBI bind_param()s, type-specific attributes, and custom SQL for select, query, and insert into a single logical unit. DBIx::Class is still working on some of these features, and the lack of a standardized way to add support for new column types has led to less support for "rich" column type handling.

        As in any large collection of code, there are really only a few performance-critical parts of RDBO that are aggressively optimized. The vast majority of the code is quite modular.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://594603]
Approved by Aristotle
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (4)
As of 2018-01-19 20:28 GMT
Find Nodes?
    Voting Booth?
    How did you see in the new year?

    Results (222 votes). Check out past polls.