KiokuDB : persistent objects, front-end to BerkeleyDB / CouchDB / etc.
Plain Old File (using for example File::Tabular )
KinoSearch : bunch of fields with fulltext indexing
Features of RDBMS
Relational
Indexing
Concurrency
Distributed
Transactions (commit / rollback )
Authorization
Triggers and stored procedures
Internationalization
Fulltext
…
Choosing a RDBMS
Sometimes there is no choice (enforced by context) !
Criteria
cost, proprietary / open source
volume
features
resources (CPU, RAM, etc.)
ease of installation / deployment / maintenance
stored procedures
Postgres can have server-side procedures in Perl !
Common choices (open source)
SQLite (file-based)
mysql
Postgres
Architecture Database DBD driver DBI Object-Relational Mapper Perl program TIOOWTDI There is only one way to do it TAMMMWTDI There are many, many many ways to do it TIMTOWTDI There is more than one way to do it
An overview of the main questions/design issues whe more
An overview of the main questions/design issues when starting to work with databases in Perl
- choosing a database
- matching DB datatypes to Perl datatypes
- DBI architecture (handles, drivers, etc.)
- steps of DBI interaction : prepare/execute/fetch
- ORM principles and difficulties, ORMs on CPAN
- a few examples with DBIx::DataModel
- performance issues less
0 comments
Post a comment