Class DataStorageConfiguration
Data storage configuration for Ignite page memory.
The page memory is a manageable off-heap based memory architecture that divides all expandable data regions into pages of fixed size. An individual page can store one or many cache key-value entries that allows reusing the memory in the most efficient way and avoid memory fragmentation issues.
By default, the page memory allocates a single expandable data region. All the caches that will be configured in an application will be mapped to this data region by default, thus, all the cache data will reside in that data region.
Inheritance
Inherited Members
Namespace: Apache.Ignite.Core.Configuration
Assembly: Apache.Ignite.Core.dll
Syntax
public class DataStorageConfiguration
Constructors
DataStorageConfiguration()
Initializes a new instance of the DataStorageConfiguration class.
Declaration
public DataStorageConfiguration()
Fields
DefaultCheckpointFrequency
Default value for CheckpointFrequency.
Declaration
public static readonly TimeSpan DefaultCheckpointFrequency
Field Value
Type | Description |
---|---|
System.TimeSpan |
DefaultCheckpointThreads
Default value for CheckpointThreads.
Declaration
public const int DefaultCheckpointThreads = 4
Field Value
Type | Description |
---|---|
System.Int32 |
DefaultCheckpointWriteOrder
Default value for CheckpointWriteOrder.
Declaration
public const CheckpointWriteOrder DefaultCheckpointWriteOrder = CheckpointWriteOrder.Sequential
Field Value
Type | Description |
---|---|
CheckpointWriteOrder |
DefaultConcurrencyLevel
The default concurrency level.
Declaration
public const int DefaultConcurrencyLevel = 0
Field Value
Type | Description |
---|---|
System.Int32 |
DefaultDataRegionName
Default name is assigned to default data region if no user-defined DefaultDataRegionConfiguration is specified.
Declaration
public const string DefaultDataRegionName = "default"
Field Value
Type | Description |
---|---|
System.String |
DefaultLockWaitTime
Default value for LockWaitTime.
Declaration
public static readonly TimeSpan DefaultLockWaitTime
Field Value
Type | Description |
---|---|
System.TimeSpan |
DefaultMetricsRateTimeInterval
The default rate time interval.
Declaration
public static readonly TimeSpan DefaultMetricsRateTimeInterval
Field Value
Type | Description |
---|---|
System.TimeSpan |
DefaultMetricsSubIntervalCount
The default sub intervals.
Declaration
public const int DefaultMetricsSubIntervalCount = 5
Field Value
Type | Description |
---|---|
System.Int32 |
DefaultPageSize
The default page size.
Declaration
public const int DefaultPageSize = 4096
Field Value
Type | Description |
---|---|
System.Int32 |
DefaultSystemRegionInitialSize
Default size of a memory chunk reserved for system cache initially.
Declaration
public const long DefaultSystemRegionInitialSize = 41943040L
Field Value
Type | Description |
---|---|
System.Int64 |
DefaultSystemRegionMaxSize
Default max size of a memory chunk for the system cache.
Declaration
public const long DefaultSystemRegionMaxSize = 104857600L
Field Value
Type | Description |
---|---|
System.Int64 |
DefaultTlbSize
Default value for WalThreadLocalBufferSize.
Declaration
public const int DefaultTlbSize = 131072
Field Value
Type | Description |
---|---|
System.Int32 |
DefaultWalArchivePath
Default value for WalArchivePath.
Declaration
public const string DefaultWalArchivePath = "db/wal/archive"
Field Value
Type | Description |
---|---|
System.String |
DefaultWalAutoArchiveAfterInactivity
Default value for WalFlushFrequency.
Declaration
public static readonly TimeSpan DefaultWalAutoArchiveAfterInactivity
Field Value
Type | Description |
---|---|
System.TimeSpan |
DefaultWalCompactionEnabled
Default value for WalCompactionEnabled.
Declaration
public const bool DefaultWalCompactionEnabled = false
Field Value
Type | Description |
---|---|
System.Boolean |
DefaultWalFlushFrequency
Default value for WalFlushFrequency.
Declaration
public static readonly TimeSpan DefaultWalFlushFrequency
Field Value
Type | Description |
---|---|
System.TimeSpan |
DefaultWalFsyncDelayNanos
Default value for WalFsyncDelayNanos.
Declaration
public const long DefaultWalFsyncDelayNanos = 1000L
Field Value
Type | Description |
---|---|
System.Int64 |
DefaultWalHistorySize
Default value for WalHistorySize.
Declaration
public const int DefaultWalHistorySize = 20
Field Value
Type | Description |
---|---|
System.Int32 |
DefaultWalMode
Default value for WalMode.
Declaration
public const WalMode DefaultWalMode = WalMode.LogOnly
Field Value
Type | Description |
---|---|
WalMode |
DefaultWalPath
Default value for WalPath.
Declaration
public const string DefaultWalPath = "db/wal"
Field Value
Type | Description |
---|---|
System.String |
DefaultWalRecordIteratorBufferSize
Default value for WalRecordIteratorBufferSize.
Declaration
public const int DefaultWalRecordIteratorBufferSize = 67108864
Field Value
Type | Description |
---|---|
System.Int32 |
DefaultWalSegments
Default value for WalSegments.
Declaration
public const int DefaultWalSegments = 10
Field Value
Type | Description |
---|---|
System.Int32 |
DefaultWalSegmentSize
Default value for WalSegmentSize.
Declaration
public const int DefaultWalSegmentSize = 67108864
Field Value
Type | Description |
---|---|
System.Int32 |
DefaultWriteThrottlingEnabled
Default value for WriteThrottlingEnabled.
Declaration
public const bool DefaultWriteThrottlingEnabled = false
Field Value
Type | Description |
---|---|
System.Boolean |
Properties
AlwaysWriteFullPages
Gets or sets a value indicating whether full pages should always be written.
Declaration
public bool AlwaysWriteFullPages { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
CheckpointFrequency
Gets or sets the checkpointing frequency which is a minimal interval when the dirty pages will be written to the Persistent Store.
Declaration
public TimeSpan CheckpointFrequency { get; set; }
Property Value
Type | Description |
---|---|
System.TimeSpan |
CheckpointThreads
Gets or sets the number of threads for checkpointing.
Declaration
public int CheckpointThreads { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
CheckpointWriteOrder
Gets or sets the checkpoint page write order on disk.
Declaration
public CheckpointWriteOrder CheckpointWriteOrder { get; set; }
Property Value
Type | Description |
---|---|
CheckpointWriteOrder |
ConcurrencyLevel
Gets or sets the number of concurrent segments in Ignite internal page mapping tables.
Declaration
public int ConcurrencyLevel { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
DataRegionConfigurations
Gets or sets the data region configurations.
Declaration
public ICollection<DataRegionConfiguration> DataRegionConfigurations { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.ICollection<DataRegionConfiguration> |
DefaultDataRegionConfiguration
Gets or sets the default region configuration.
Declaration
public DataRegionConfiguration DefaultDataRegionConfiguration { get; set; }
Property Value
Type | Description |
---|---|
DataRegionConfiguration |
LockWaitTime
Gets or sets the persistent manager file lock wait time.
Declaration
public TimeSpan LockWaitTime { get; set; }
Property Value
Type | Description |
---|---|
System.TimeSpan |
MetricsEnabled
Gets or sets a value indicating whether to enable data storage metrics. See GetDataStorageMetrics().
Declaration
public bool MetricsEnabled { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
MetricsRateTimeInterval
Gets or sets the length of the time interval for rate-based metrics. This interval defines a window over which hits will be tracked.
Declaration
public TimeSpan MetricsRateTimeInterval { get; set; }
Property Value
Type | Description |
---|---|
System.TimeSpan |
MetricsSubIntervalCount
Number of sub-intervals to split the MetricsRateTimeInterval into to track the update history.
Declaration
public int MetricsSubIntervalCount { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
PageSize
Gets or sets the size of the memory page.
Declaration
public int PageSize { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
StoragePath
Gets or sets the path where data and indexes will be persisted.
Declaration
public string StoragePath { get; set; }
Property Value
Type | Description |
---|---|
System.String |
SystemRegionInitialSize
Gets or sets the size of a memory chunk reserved for system needs.
Declaration
public long SystemRegionInitialSize { get; set; }
Property Value
Type | Description |
---|---|
System.Int64 |
SystemRegionMaxSize
Gets or sets the maximum memory region size reserved for system needs.
Declaration
public long SystemRegionMaxSize { get; set; }
Property Value
Type | Description |
---|---|
System.Int64 |
WalArchivePath
Gets or sets the path to the directory where WAL (Write Ahead Log) archive is stored. Every WAL segment will be fully copied to this directory before it can be reused for WAL purposes.
Declaration
public string WalArchivePath { get; set; }
Property Value
Type | Description |
---|---|
System.String |
WalAutoArchiveAfterInactivity
Gets or sets the inactivity time after which to run WAL segment auto archiving.
Declaration
public TimeSpan WalAutoArchiveAfterInactivity { get; set; }
Property Value
Type | Description |
---|---|
System.TimeSpan |
WalCompactionEnabled
Gets or sets flag indicating whether WAL compaction is enabled. If true, system filters and compresses WAL archive in background. Compressed WAL archive gets automatically decompressed on demand.
Declaration
public bool WalCompactionEnabled { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
WalFlushFrequency
Gets or sets the WAL (Write Ahead Log) flush frequency.
Declaration
public TimeSpan WalFlushFrequency { get; set; }
Property Value
Type | Description |
---|---|
System.TimeSpan |
WalFsyncDelayNanos
Gets or sets the WAL (Write Ahead Log) fsync (disk sync) delay, in nanoseconds
Declaration
public long WalFsyncDelayNanos { get; set; }
Property Value
Type | Description |
---|---|
System.Int64 |
WalHistorySize
Gets or sets the number of checkpoints to store in WAL (Write Ahead Log) history.
Declaration
public int WalHistorySize { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
WalMode
Gets or sets the WAL (Write Ahead Log) mode.
Declaration
public WalMode WalMode { get; set; }
Property Value
Type | Description |
---|---|
WalMode |
WalPath
Gets or sets the path to the directory where WAL (Write Ahead Log) is stored.
Declaration
public string WalPath { get; set; }
Property Value
Type | Description |
---|---|
System.String |
WalRecordIteratorBufferSize
Gets or sets the size of the WAL (Write Ahead Log) record iterator buffer, in bytes.
Declaration
public int WalRecordIteratorBufferSize { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
WalSegments
Gets or sets a number of WAL (Write Ahead Log) segments to work with. For performance reasons, the whole WAL is split into files of fixed length called segments.
Declaration
public int WalSegments { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
WalSegmentSize
Gets or sets the size of the WAL (Write Ahead Log) segment. For performance reasons, the whole WAL is split into files of fixed length called segments.
Declaration
public int WalSegmentSize { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
WalThreadLocalBufferSize
Gets or sets the size of the TLB (Thread-Local Buffer), in bytes.
Declaration
public int WalThreadLocalBufferSize { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
WriteThrottlingEnabled
Gets or sets a value indicating whether threads that generate dirty pages too fast during ongoing checkpoint will be throttled.
Declaration
public bool WriteThrottlingEnabled { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |