Perl DBM实现的优缺点?(GDBM、伯克利DB等)

Perl DBM实现的优缺点?(GDBM、伯克利DB等),perl,dbm,Perl,Dbm,我在早期的Perl项目中使用过GDBM和Berkeley DB/DB_文件,但我应该在新项目中使用它们吗?不同Perl DBM实现的优缺点是什么 (相关:与传统DBMs相比,DBM::Deep或KyotoCabinet等工具是否太慢/太重,而您所需要的只是二进制/文本数据的透明哈希?该模块为各种DBMs提供了一个很好的图表。但我不知道这有多过时 odbm ndbm sdbm gdbm bsd-db

我在早期的Perl项目中使用过GDBM和Berkeley DB/DB_文件,但我应该在新项目中使用它们吗?不同Perl DBM实现的优缺点是什么

(相关:与传统DBMs相比,DBM::Deep或KyotoCabinet等工具是否太慢/太重,而您所需要的只是二进制/文本数据的透明哈希?

该模块为各种DBMs提供了一个很好的图表。但我不知道这有多过时

                         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.

这省略了具有一定优势的
BerkeleyDB
模块;它命名的“bsd db”是
db\u文件
模块,这是一个更简单的接口