[Koha-devel] [RFC ver2 4/4] DBIx::Class - Changes to C4::Members to start using DBIx::Class

Andrew Moore andrew.moore at liblime.com
Mon Nov 24 14:33:22 CET 2008


On Sat, Nov 22, 2008 at 1:04 AM, Henri-Damien LAURENT
<laurenthdl at alinto.com> wrote:
> Hi
> you are doing a great job documenting and investigating. Thank you. I
> still had no time investigating or testing. But I am very glad of such a
> plan to get an ORM in Koha.
>
> Looking at the page you link to on wiki in terms of performances, I can
> see that RDBO seems to be a quicker ORM than DBIC.
> And we already have some performance issue on Circulation.
> Have you considered this alternate ORM which I have come across only
> some days ago ?

Hi Henri - Thanks for your encouragement.

I am aware of Rose::DB::Object, but only looked at it briefly. One
consideration I used was the comparison of several methods at:
http://www.perlmonks.org/?node_id=700283

I feel that DBIx::Class is much better known and more actively
developed, so perhaps that's why I focused mainly on it. I also would
like to eventually replace our somewhat cumbersome updatedatabase.pl
and kohastructure.sql method of maintaining database structure, and
DBIx::Class seems to offer a reasonable way to do this through their
DBIx::Class::Schema::Versioned module and associated practices.

I would be happy to have any ORM in Koha since I believe it will make
development much easier. If an example implementation of Koha using
Rose::DB::Object were produced, I'd love to take a look at it and
compare it to either using DBI or DBIx::Class.

> Or will we have to use DBI, which is still 8 times faster (according to
> the tests http://code.google.com/p/rose/wiki/RDBOBenchmarksWithDBI )
> than DBIC for circulation which is a critical part in Koha ?

It's possible that we could continue to use direct access to DBI in
some spots where performance seems to be a problem spot, but I also
think that we can improve performance a greater amount with some other
changes. For instance, removing default searches on the unindexed
borrowers.firstname field, or recommending the use of mod_perl or
memcached.

My current plan is to write enough code using DBIx::Class so that I
can benchmark compare koha versions using DBI and DBIx::Class. I'm
hopeful that this will give us some idea of the performance impact of
the potential change. I expect this progress to be rather slow, but
I'll keep updating the wiki page:
<http://wiki.koha.org/doku.php?id=en:development:rfcs3.2:dbix-class>.

Thanks,
-Andy



More information about the Koha-devel mailing list