Skip to main content

qualia_core_db/specialized_libs/statistical_computing/
mod.rs

1//! Statistical Computing Library - Privacy-Preserving Statistical Analysis
2//!
3//! This module provides high-performance statistical computing operations leveraging Phase 2 enhancements:
4//! - Fiduciary Cryptography (ML-DSA) for secure statistical computations
5//! - Hardware-Sympathetic Storage (ZNS) for zero-copy statistical data
6//! - Zero-Knowledge Semantic Proofs for privacy-preserving statistics
7//! - NVMe Computational Storage (CSD) for accelerated statistical operations
8
9use crate::fiduciary_crypto::{FiduciaryCrypto, MlDsaSignature};
10use crate::zk_proofs::{CircuitExpression, FieldElement, VariableType, ZkProof, ZkProofSystem};
11use crate::zns_storage::ZnsZoneManager;
12use serde::{Deserialize, Serialize};
13use sha2::{Digest, Sha256};
14use std::collections::HashMap;
15use std::sync::{Arc, Mutex};
16use std::time::Instant;
17
18/// Statistical Computing Library Manager
19pub struct StatisticalComputingLibrary {
20    data_storage: StatisticalDataStorage,
21    computation_engine: StatisticalComputationEngine,
22    privacy_engine: StatisticalPrivacyEngine,
23    analysis_engine: StatisticalAnalysisEngine,
24    performance_monitor: StatisticalPerformanceMonitor,
25}
26
27/// Statistical data storage using ZNS for efficient data management
28pub struct StatisticalDataStorage {
29    zones: HashMap<String, StatisticalZone>,
30    data_catalog: DataCatalog,
31    compression_engine: DataCompressionEngine,
32    indexing_engine: DataIndexingEngine,
33    dataset_cache: HashMap<String, Dataset>,
34    /// Optional ZNS zone manager. When `Some`, dataset persistence delegates
35    /// to the real ZNS device; otherwise the in-memory `dataset_cache` acts as
36    /// the always-available persistence layer.
37    zns_manager: Option<Arc<Mutex<ZnsZoneManager>>>,
38}
39/// Data catalog for dataset management
40pub struct DataCatalog {
41    datasets: HashMap<String, DatasetMetadata>,
42    relationships: HashMap<String, Vec<Relationship>>,
43    tags: HashMap<String, Vec<String>>,
44    search_index: SearchIndex,
45}
46/// Statistical privacy engine
47pub struct StatisticalPrivacyEngine {
48    fiduciary_crypto: Arc<Mutex<FiduciaryCrypto>>,
49    zk_proofs: Arc<Mutex<ZkProofSystem>>,
50    differential_privacy: DifferentialPrivacy,
51    secure_aggregation: SecureAggregation,
52    privacy_budget: PrivacyBudget,
53}
54
55/// Differential privacy
56pub struct DifferentialPrivacy {
57    noise_mechanisms: Vec<NoiseMechanism>,
58    privacy_accountant: PrivacyAccountant,
59    sensitivity_analyzer: SensitivityAnalyzer,
60}
61/// Sensitivity analyzer
62pub struct SensitivityAnalyzer {
63    sensitivity_functions: HashMap<String, SensitivityFunction>,
64    sensitivity_cache: HashMap<String, f64>,
65}
66
67mod accelerator;
68mod analytics;
69mod catalog;
70mod compression;
71mod computation;
72mod datasets;
73mod errors;
74mod indexing;
75mod library;
76mod privacy;
77mod scheduler;
78mod types;
79
80pub use accelerator::*;
81pub use analytics::*;
82pub use catalog::*;
83pub use compression::*;
84pub use computation::*;
85pub use datasets::*;
86pub use errors::*;
87pub use indexing::*;
88pub use privacy::*;
89pub use scheduler::*;
90pub use types::*;
91
92#[cfg(test)]
93mod tests;