pub struct TieringConfig {Show 23 fields
pub hot_tier_capacity_gb: f64,
pub warm_tier_capacity_gb: f64,
pub cold_tier_capacity_gb: f64,
pub policy: TieringPolicy,
pub storage_base_path: PathBuf,
pub auto_tier_management: bool,
pub evaluation_interval: Duration,
pub hot_tier_utilization_threshold: f64,
pub warm_tier_utilization_threshold: f64,
pub hot_tier_qps_threshold: f64,
pub warm_tier_qps_threshold: f64,
pub min_time_in_tier: Duration,
pub gradual_transition: GradualTransitionConfig,
pub cost_model: TierCostModel,
pub enable_predictive_management: bool,
pub enable_multi_tenancy: bool,
pub max_concurrent_transitions: usize,
pub enable_metrics: bool,
pub metrics_retention: Duration,
pub warm_tier_compression: bool,
pub cold_tier_compression: bool,
pub warm_tier_compression_level: i32,
pub cold_tier_compression_level: i32,
}Expand description
Main configuration for tiering system
Fields§
§hot_tier_capacity_gb: f64Hot tier capacity in gigabytes
warm_tier_capacity_gb: f64Warm tier capacity in gigabytes
cold_tier_capacity_gb: f64Cold tier capacity in gigabytes
policy: TieringPolicyTiering policy
storage_base_path: PathBufBase directory for storage
auto_tier_management: boolEnable automatic tier management
evaluation_interval: DurationTier evaluation interval
hot_tier_utilization_threshold: f64Hot tier utilization threshold for demotion (0.0 - 1.0)
warm_tier_utilization_threshold: f64Warm tier utilization threshold for demotion (0.0 - 1.0)
hot_tier_qps_threshold: f64Access frequency threshold for hot tier (queries/second)
warm_tier_qps_threshold: f64Access frequency threshold for warm tier (queries/second)
min_time_in_tier: DurationMinimum time in tier before transition (prevents thrashing)
gradual_transition: GradualTransitionConfigGradual transition configuration
cost_model: TierCostModelCost model
enable_predictive_management: boolEnable predictive tier management
enable_multi_tenancy: boolEnable multi-tenancy support
max_concurrent_transitions: usizeMaximum concurrent tier transitions
enable_metrics: boolEnable metrics collection
metrics_retention: DurationMetrics retention period
warm_tier_compression: boolEnable compression in warm tier
cold_tier_compression: boolEnable compression in cold tier
warm_tier_compression_level: i32Warm tier compression level (1-22)
cold_tier_compression_level: i32Cold tier compression level (1-22)
Implementations§
Source§impl TieringConfig
impl TieringConfig
Sourcepub fn development() -> Self
pub fn development() -> Self
Create a development configuration (smaller capacities)
Sourcepub fn production() -> Self
pub fn production() -> Self
Create a production configuration (larger capacities, conservative settings)
Sourcepub fn total_capacity_bytes(&self) -> u64
pub fn total_capacity_bytes(&self) -> u64
Calculate total capacity in bytes
Sourcepub fn hot_tier_capacity_bytes(&self) -> u64
pub fn hot_tier_capacity_bytes(&self) -> u64
Get hot tier capacity in bytes
Sourcepub fn warm_tier_capacity_bytes(&self) -> u64
pub fn warm_tier_capacity_bytes(&self) -> u64
Get warm tier capacity in bytes
Sourcepub fn cold_tier_capacity_bytes(&self) -> u64
pub fn cold_tier_capacity_bytes(&self) -> u64
Get cold tier capacity in bytes
Trait Implementations§
Source§impl Clone for TieringConfig
impl Clone for TieringConfig
Source§fn clone(&self) -> TieringConfig
fn clone(&self) -> TieringConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TieringConfig
impl Debug for TieringConfig
Source§impl Default for TieringConfig
impl Default for TieringConfig
Source§impl<'de> Deserialize<'de> for TieringConfig
impl<'de> Deserialize<'de> for TieringConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for TieringConfig
impl RefUnwindSafe for TieringConfig
impl Send for TieringConfig
impl Sync for TieringConfig
impl Unpin for TieringConfig
impl UnwindSafe for TieringConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.