[Catalyst] Objects and persistence

Jonathan Rockway jon at jrock.us
Fri Jan 30 18:33:24 GMT 2009


* On Fri, Jan 30 2009, Christopher Taranto wrote:
> On Fri, January 30, 2009 7:43 am, Marco Vittorini Orgeas wrote:
>> Hi,
>> I am approching in those days the Catalyst framework.
>> I am also quite new to persistence of Objects, and therefore before start
>> building my application I need some clarifications, because I don't want
>
> I don't think this is a Catalyst/DBIx::Class issue as much as an object
> serialization issue.  Once you have serialized your objects, certainly you
> can store in the DB.
>
> Check out this tutorial on Perlmonks:
>
> http://www.perlmonks.org/?node_id=8070

Things have changed in the 10 years since that article was written.
The best serializers are now YAML::XS and Data::Dump::Streamer.

Also, if you want a real object database, you want KiokuDB:

  http://www.iinteractive.com/kiokudb/

It handles "object graphs", which means that if you can express it in
memory in Perl, you can persist it and query it.

It also has a DBI backend (though we use the BDB backend) for storing
objects in a DBI-supported relational database, and you can even use the
Search::GIN indexer to extract fields from objects into database
columns, for fast object lookups. (It is not, however, an ORM -- most of
the data is opaque and only makes sense when viewed through KiokuDB.)

We are using KiokuDB for some very high-profile applications now, and it
works great for us.  It is fast, easily scalable (with BDB replication),
and saves us the tedium of dealing with a RDBMS (and ORM) that we don't
even need.

YMMV.

Regards,
Jonathan Rockway

--
print just => another => perl => hacker => if $,=$"



More information about the Catalyst mailing list