[Dbix-class] Features comparison among ORMS?

Rob Kinyon rob.kinyon at gmail.com
Mon Nov 11 14:05:42 GMT 2013


What sort of features are you looking for? All the Perl ORMs wrap DBI,
so connecting to different databases isn't a problem. Among the Perl
ORMs, only DBIx::Class has resultsets, arguably the most powerful ORM
concept. (It's not just among Perl ORMs - I don't know of any other
ORM that has resultsets.) All the ORMs you mentioned support the
various relationships (belongs_to, has_many, has_one, and
many_to_many).

In terms of speed benchmarks, those are mostly useless. 99% of the
time spent within an ORM is actually time spent within the database.
90% of that speed is dependent on how badly you designed your tables.

That said, DBIx::Class provides prefetching, which can speed up very
specific use-cases. (Again, something I've never seen in any other
ORM.)

In general, the advice I'd give is:
* If you're already using an ORM, use it (unless it's Class::DBI, in
which case convert to DBIx::Class).
* If you're using Catalyst, convert to DBIx::Class.
* Otherwise, use DBIx::Class.

Does that help?

Rob

On Mon, Nov 11, 2013 at 2:25 AM, Octavian Rasnita <orasnita at gmail.com> wrote:
> Hi,
>
> Does anyone know if there is somewhere a features comparison among the most used ORMS?
>
> I tried to find one that includes Hybernate, ActiveRecord, SQLAlchemy, DBIC, but I couldn't find such a thing.
>
> I found a lot of comparisons for Java and DotNet ORMS and usually speed benchmarks.
>
> --Octavian
>
>
> _______________________________________________
> List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
> IRC: irc.perl.org#dbix-class
> SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
> Searchable Archive: http://www.grokbase.com/group/dbix-class@lists.scsys.co.uk



-- 
Thanks,
Rob Kinyon
http://streamlined-book.blogspot.com/



More information about the DBIx-Class mailing list