Experience Database
Like Never Before¶
Zero Overhead
Calls the RayforceDB core's C API directly — no marshalling shim. Reads are zero-copy: a numeric column is a &[T] slice, not a per-element copy.
Performance
Columnar storage and SIMD vectorization deliver consistent sub-millisecond latency on analytical workloads. Build a column in a single memcpy; read it back as a borrow.
Ecosystem
RayforceDB spans multiple languages and in-house tools, from the C core to editor tooling — enabling high-performance, distributed solutions.
Fluent Queries
Chainable query builders that read like the operation. Operator overloads for arithmetic, methods for comparisons, aggregations either way.
Type-Safe & Zero-Copy
A full value model — atoms, vectors, lists, dicts, tables — with ToValue/FromValue conversions and optional chrono temporals.
TCP Servers
Execute queries over TCP with low latency. Connect to servers, organize data in a distributed manner, and build distributed processing applications.
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};
let _rt = Runtime::new()?;
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}");