James基本概念(2):数据存储

本文介绍了James邮件系统的数据存储机制,包括文件数据仓库、数据库(JDBC)数据仓库和混合型数据仓库。详细解释了每种存储机制的特点、配置及适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
数据存储

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-source>/<table>”, <data-source>是在数据连接(data-connections)部分定义的数据源(data-source), <table>是与数据仓库关联的表。

邮件、缓冲和用户数据仓库都有基于JDBC的实现。

混合型数据仓库

这是一个仅用于存储邮件的特殊数据仓库。混合型数据仓库把邮件的主体部分保存在文件系统中,头信息保存在数据库中。 这使得系统管理员可以最小化保存在数据库中的数据量,同时又保留了使用数据库数据仓库时的大部分性能。

只有邮件数据仓库有基于数据库和文件的混合类型数据存储的实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值