0

我正在建立一个 TimesTen In-Memory 数据库,我正在寻找有关我应该用于数据库持久性文件的存储和位置的指导。

4

1 回答 1

0

TimesTen 数据库由两种类型的文件组成;检查点文件(两个)和事务日志文件(总是至少一个,通常很多)。

有3个标准需要考虑:

a)数据安全性和可用性(常规存储与 RAID)。数据库文件对数据库的运行至关重要,如果它们无法访问或丢失/损坏,那么您的数据库将无法运行,您可能会丢失数据。防止这种情况的一种方法是使用 TimesTen 的内置复制来实现高可用性,但即使您这样做,您也可能希望使用某种形式的 RAID 存储来保护您的数据库文件。出于性能原因,RAID-1 优于 RAID-5 或 RAID-6。不建议对数据库文件使用 NFS 存储。

b)容量。两个检查点文件都位于同一目录(Datastore属性)中,因此位于同一文件系统中。每个文件可以增长到 PermSize + ~64 MB 的最大大小。通常,这些文件的空间是在创建文件时预先分配的,因此您不太可能用完它们的空间。默认情况下,事务日志文件也与检查点文件位于同一目录中,尽管您可以(并且几乎总是应该)使用LogDir将它们放在不同的位置属性。事务日志所在的文件系统应该有足够的空间,这样你就永远不会用完。如果数据库无法将数据写入事务日志,它将停止处理事务并且操作将开始接收错误。

c)性能。如果您使用的是传统的旋转磁介质,那么 I/O 争用是一个重要问题。检查点文件和事务日志文件应存储在单独的设备上,并与任何其他受高级别 I/O 活动影响的文件分开。I/O 加载和争用对于 SSD 存储来说不太重要,通常与 PCIe/NVMe 闪存存储无关。

于 2020-11-05T14:59:18.213 回答