数据存储
James用了几个不同的数据仓库来保存消息数据(email、新闻消息)和用户信息。用户数据仓库用来保存用户信息,包括
用户名、认证信息和别名。邮件数据仓库保存已经被传送到本地的消息。缓冲数据仓库保存还在处理的邮件。新闻数据仓库保存新闻消息。
存储类型
除了存储的数据类型,数据仓库还可以根据它们把数据保存在哪里进行区分。
有三种数据存储机制--文件、数据库、混合型。
文件数据仓库
基于文件的数据仓库把所有的数据都保存在文件系统中。这种数据仓库通常非常易于配置,但与其它类型的数据仓库相比性能很差。
对于大型的或对性能要求较高的系统不推荐使用文件数据仓库。James默认的配置下,所有数据仓库都是文件数据仓库。
文件数据仓库路径以标志性的前缀“file”开头。除非路径以斜杠开头,否则都是应用根路径的相对路径。比如,
假设James安装在/usr/james/phoenix/apps/james目录下,则“file://var/mail/spool/”指的是
“/usr/james/phoenix/apps/james/var/mail/spool”目录。而“file:///var/mail/spool/”(注意多出的那个‘/’)指的是目录
“/var/mail/spool”。
所有类型的数据仓库(邮件、缓冲、用户和新闻)都有基于文件的实现。使用基于文件的
数据仓库不需要特别的配置。
数据库(JDBC)数据仓库
数据库数据仓库把所有的数据都保存在管理员提供的数据库中。配置稍微复杂点,需要管理员调整数据连接(data-connections)部分。
配置文件的示例中包含详细的用法。系统管理员需要知道JDBC的驱动类、所用数据库的URL,和用来访问数据库的有效的用户名/密码。
如果系统管理员使用的数据库不是MySQL,必须将包含JDBC驱动类的jar或zip文件放到James安装目录的lib子目录下。使得Phoenix
初始化数据库数据仓库时可以正确的加载驱动程序。MySQL的驱动已经打包在James中了。
数据库数据仓库路径以标志性的前缀“db”开头。数据路径的格式是“db:///”,
是在数据连接(data-connections)部分定义的数据源(data-source),
是与数据仓库关联的表。
邮件、缓冲和用户数据仓库都有基于JDBC的实现。
混合型数据仓库
这是一个仅用于存储邮件的特殊数据仓库。混合型数据仓库把邮件的主体部分保存在文件系统中,头信息保存在数据库中。
这使得系统管理员可以最小化保存在数据库中的数据量,同时又保留了使用数据库数据仓库时的大部分性能。
只有邮件数据仓库有基于数据库和文件的混合类型数据存储的实现。
,