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 UnsafeUnpin 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.