Skip to content

Experience Database
Like Never Before

Get sub-millisecond performance on analytical workloads through columnar storage and SIMD vectorization — all from safe, zero-copy Rust.

Rayforce-RS in a few lines

Build a table, run a grouped aggregation, and print it — all from safe Rust.

use rayforce::{col, sum, Runtime, Table, Value};

Runtime::scope(|_rt| {
    let t = Table::new(
        &["sym", "price", "size"],
        &[
            Value::sym_vec(&["AAPL", "MSFT", "AAPL", "GOOG"]),
            Value::vec(&[100.0f64, 200.0, 110.0, 300.0]),
            Value::vec(&[10i64, 20, 30, 40]),
        ],
    )?;

    let totals = t
        .select()
        .agg("total", sum(col("size")))
        .filter(col("price").gt(150.0))
        .by("sym")
        .execute()?;

    println!("{totals}");
    Ok(())
})?;