2011-06-27 9 views
10

He usado GDBM y Berkeley DB/DB_File para proyectos anteriores de Perl, pero ¿debería usarlos para los nuevos? ¿Cuáles son los pros y los contras de las diferentes implementaciones de Perl DBM?Pros y contras de las implementaciones de Perl DBM? (GDBM, Berkeley DB, etc.)

(relacionados con:? ¿Son herramientas como DBM :: profunda o demasiado lento KyotoCabinet/pesada en comparación con DBM tradicionales, cuando todo lo que necesita es un hash transparente para datos binarios/texto)

Respuesta

5

AnyDBM_File El módulo tiene una bonita gráfico para los diversos dbms. No sé lo anticuado que esto es sin embargo.

      odbm ndbm sdbm gdbm bsd-db 
         ---- ---- ---- ---- ------ 
Linkage comes w/ perl yes  yes  yes  yes  yes 
Src comes w/ perl  no  no  yes  no  no 
Comes w/ many unix os yes  yes[0] no  no  no 
Builds ok on !unix  ?  ?  yes  yes  ? 
Code Size    ?  ?  small big  big 
Database Size   ?  ?  small big? ok[1] 
Speed     ?  ?  slow ok  fast 
FTPable     no  no  yes  yes  yes 
Easy to build   N/A  N/A  yes  yes  ok[2] 
Size limits    1k  4k  1k[3] none none 
Byte-order independent no  no  no  no  yes 
Licensing restrictions ?  ?  no  yes  no 

[0] on mixed universe machines, may be in the bsd compat library, which 
    is often shunned. 
[1] Can be trimmed if you compile for one access method. 
[2] See DB_File. Requires symbolic links. 
[3] By default, but can be redefined. 
+1

Que omite el módulo 'BerkeleyDB', que tiene ciertas ventajas; el "bsd-db" que nombra allí es el módulo 'DB_File', que es una interfaz más simple. – tchrist

+0

También [CDB] (http://search.cpan.org/search?query=cdb) – daxim