๐ avila-arrow
Native columnar format for AvilaDB with scientific types - Optimized for Brazilian research infrastructure
โจ Unique Features
World's ONLY columnar format with native scientific types:
- ๐ฌ Quaternion - 4D rotations for robotics & aerospace
- ๐ Tensor4D - Spacetime tensors for General Relativity
- โ๏ธ Complex64 - Complex numbers for FFT & quantum mechanics
- ๐ฏ Spinor - Dirac spinors for particle physics
Plus standard Arrow types:
- Primitives: Int8-64, UInt8-64, Float32/64, Boolean
- Strings: UTF-8
- Binary data
- Timestamps
๐ฏ Why avila-arrow?
Unlike Apache Arrow, avila-arrow is built from scratch for:
- Scientific Computing - Native support for physics/astrophysics types
- Zero Dependencies - Only
byteorderrequired - AvilaDB Native - Optimized for AvilaDB storage
- SIMD Ready - Prepared for AVX2/AVX-512 acceleration
๐ Quick Start
[]
= "0.1"
Basic Usage
use ;
use ;
// Define schema
let schema = new;
// Create arrays
let ids = from;
let temps = from;
// Create columnar batch
let batch = try_new?;
println!; // 5
# Ok::
Scientific Types
use ;
// Quaternion - Spacecraft orientation
let orientation = from_axis_angle;
let rotated = orientation.rotate_vector;
// Result: [0.0, 1.0, 0.0] - rotated 90ยฐ around Z
// Complex numbers - Signal processing
let signal = new;
let conjugate = signal.conjugate;
let magnitude = signal.magnitude;
// Tensor4D - General Relativity
let minkowski = minkowski; // Flat spacetime
let schwarzschild = schwarzschild; // Black hole
// Spinor - Particle physics
let spin_up = spin_up;
let normalized = spin_up.normalize;
๐ฆ Features
scientific(default) - Enable scientific typesipc- Arrow IPC format support (coming soon)serde- Serialization support (optional)
[]
= { = "0.1", = ["scientific", "ipc"] }
๐ฌ Use Cases
Astrophysics
- LIGO gravitational wave detection
- LISA space telescope data
- Vera Rubin Observatory
Aerospace
- Spacecraft attitude control (Quaternions)
- Trajectory simulation
- Sensor fusion
Quantum Computing
- Spinor state representation
- Quantum circuit simulation
Signal Processing
- FFT with Complex64
- Time-series analysis
- Medical imaging (MRI, CT)
๐๏ธ Architecture
avila-arrow/
โโโ Core Types
โ โโโ DataType - Type definitions
โ โโโ Field - Schema fields
โ โโโ Schema - Table schema
โ โโโ RecordBatch - Columnar data
โ
โโโ Arrays (Columnar Storage)
โ โโโ Int64Array, Float64Array
โ โโโ BooleanArray, Utf8Array
โ โโโ Scientific arrays (future)
โ
โโโ Scientific Types โญ UNIQUE!
โโโ Quaternion - 4D rotations
โโโ Complex64 - Complex numbers
โโโ Tensor4D - Spacetime tensors
โโโ Spinor - Quantum spinors
๐ Roadmap
v0.2.0 - Arrow Compatibility (3 weeks)
- Arrow IPC format (read/write .arrow files)
- Arrow Flight (gRPC)
- Parquet integration
v0.3.0 - Scientific Enhancement (4 weeks)
- QuaternionArray with SIMD (AVX2)
- ComplexArray with native FFT
- SpinorArray with Dirac equation
- Tensor4DArray with Riemann curvature
v0.4.0 - Compute Kernels (5 weeks)
- SIMD aggregations (sum, mean, var)
- Filtering & sorting
- Hash joins
- Window functions
v0.5.0 - GPU Acceleration โก (6 weeks)
- CUDA/ROCm kernels
- 100x speedup for scientific computing
- Native GPU memory management
v1.0.0 - Production Ready (4 weeks)
- Distributed computing
- Query engine
- Compression (50x with avila-compress)
- Full AvilaDB integration
๐ฏ Performance Targets (v1.0)
| Operation | Speed | Comparison |
|---|---|---|
| Sum 1B floats | 100ms | 10x faster than Pandas |
| Filter 1B rows | 200ms | 5x faster than Arrow C++ |
| Hash join 100M | 5s | Match DuckDB |
| GPU matmul | 10ms | Match cuBLAS |
| Compression | 50x | Best-in-class |
๐ Comparison
| Feature | avila-arrow | Apache Arrow | Polars | DuckDB |
|---|---|---|---|---|
| Scientific types | โ | โ | โ | โ |
| Quaternions | โ | โ | โ | โ |
| Tensor4D | โ | โ | โ | โ |
| GPU acceleration | ๐ง v0.5 | โ | โ | โ |
| Zero deps | โ | โ | โ | โ |
| Rust native | โ | C++ | โ | C++ |
Unique Value: World's ONLY columnar format with native scientific types!
๐งช Testing
# Run all tests (29 passing)
# Run benchmarks
# Build examples
๐ Examples
See examples/ directory:
basic.rs- Schema and RecordBatch basicsscientific.rs- Quaternions, Complex, Tensorsipc.rs- Arrow IPC format (coming soon)
๐ค Contributing
Contributions welcome! This library is part of the Avila Platform for high-performance computing in Brazil.
๐ License
Dual-licensed under MIT OR Apache-2.0
๐ Links
- Repository: https://github.com/avilaops/arxis
- Documentation: https://docs.rs/avila-arrow
- Crates.io: https://crates.io/crates/avila-arrow
- Homepage: https://avila.cloud
Built with โค๏ธ in Brazil for world-class scientific computing ๐ง๐ท