我正在设置一个TimesTen内存数据库,并且正在寻找关于应该用于数据库持久化文件的存储和位置的指导。
发布于 2020-11-05 22:59:18
TimesTen数据库包含两种类型的文件:检查点文件(两个)和事务日志文件(始终至少一个,通常多个)。
有3个标准需要考虑:
a) 数据安全性和可用性(常规存储与RAID)。数据库文件对数据库的操作至关重要,如果它们变得无法访问或丢失/损坏,则数据库将不可操作,您可能会丢失数据。防止这种情况的一种方法是使用TimesTen的内置复制来实现高可用性,但即使这样做了,您也可能希望使用某种形式的RAID存储来保护数据库文件。出于性能原因,RAID-1优先于RAID-5或RAID-6。不建议对数据库文件使用NFS存储。
b) 容量。两个检查点文件位于同一目录(数据存储区属性)中,因此位于同一文件系统中。每个文件最大大小可达PermSize + ~64 MB。通常,这些文件的空间是在创建文件时预先分配的,因此不太可能耗尽它们的空间。默认情况下,事务日志文件也与检查点文件位于同一目录中,但您可以(而且几乎总是应该)使用LogDir属性将它们放置在不同的位置。事务日志所在的文件系统应该有足够的空间,以便您永远不会用完。如果数据库无法将数据写入事务日志,它将停止处理事务,并且操作将开始接收错误。
c) Performance.如果您使用的是传统的旋转磁性介质,则I/O争用是一个重要问题。检查点文件和事务日志文件应存储在单独的设备上,并与受高级别I/O活动影响的任何其他文件分开。对于SSD存储,I/O加载和争用较少考虑,并且通常与PCIe/NVMe闪存无关。
https://stackoverflow.com/questions/64699757
复制相似问题