The following module was proposed for inclusion in the Module List: modid: EAV DSLIP: adpOp description: Entity-Attribute-Value database layer userid: REVOLET (James Barton) chapterid: 7 (Database_Interfaces) communities: #eav on irc.freenode.net
similar: rationale: The EAV namespace will contain modules that provide a general implementation of the Entity-Attribute-Value (EAV) data model, providing a simple and unified interface to access data on several different types of storage backends. See http://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model for information about EAV. The primary advantage of an EAV interface is that it only requires a simple, static schema when used with an RDBMS like MySQL or PostgreSQL. Other storage backends such as Riak and Redis are supported. Features of this EAV implementation include support for relationships between entities, even across different storage backends, optional data typing with validation, and unified indexing. EAV is not a general solution for every project, and is even an anti-pattern in many cases. It is, however, useful in some specific situations where flexibility in schema management and backend storage are more important than data structure and normalization. Reddit.com is a good example of a project that has benefited from using an EAV data model to help scale up operations and simplify database management. When I first learned about Reddit.com's use of an EAV model, I immediately searched CPAN for EAV and didn't find anything. I think it's likely other Perl developers have done the same thing, and so it might be useful to have a set of EAV modules available on CPAN. Thank you for your time and consideration. enteredby: REVOLET (James Barton) enteredon: Thu Sep 20 16:28:02 2012 GMT The resulting entry would be: EAV adpOp Entity-Attribute-Value database layer REVOLET Thanks for registering, -- The PAUSE PS: The following links are only valid for module list maintainers: Registration form with editing capabilities: https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=e1b00000_e28fc7b1bab3a8ae&SUBMIT_pause99_add_mod_preview=1 Immediate (one click) registration: https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=e1b00000_e28fc7b1bab3a8ae&SUBMIT_pause99_add_mod_insertit=1 Peek at the current permissions: https://pause.perl.org/pause/authenquery?pause99_peek_perms_by=me&pause99_peek_perms_query=EAV