SQLite is a light weight single file SQL database that provides
an excellent platform for embedded storage of structured data.
However, while it is superficially similar to a regular server-side
SQL database, SQLite has some significant attributes that make using
it like a traditional database difficult. For example, SQLite is
extremely fast to connect to compared to server databases
(1000 connections per second is not unknown) and is particularly bad
at concurrency, as it can only lock transactions at a database-wide level.
This role as a superfast internal data store can clash with the roles and
designs of traditional object-relational modules like Class::DBI or
DBIx::Class. What this situation would seem to need is an object-relation
system that is designed specifically for SQLite and is aligned with its
idiosyncracies. ORLite is an object-relation system specifically
for SQLite that follows many of the same principles as the ::Tiny
series of modules and has a design that aligns directly to the capabilities
of SQLite.