Skip to content

icon RayforceDB Documentation

RayforceDB is a high-performance columnar database that uses LISP-like syntax. It's blazing-fast, extremely efficient (see Benchmarks), and weighs under 1MB!

Quick Example

Here's a simple example showing how to create a table and query it:

(set employees (table [name dept salary hire_date last_login] 
  (list 
    (list "Alice" "Bob" "Charlie") 
    ['IT 'HR 'IT] 
    [75000 65000 85000] 
    [2021.01.15 2020.03.20 2019.11.30] 
    [2024.03.15D09:30:00.012 2024.03.16D09:30:00.012 2024.03.17D09:30:00.012])))

(select {name: name dept: dept salary: salary from: employees})
┌─────────┬──────┬────────┐
 name     dept  salary 
├─────────┼──────┼────────┤
 Alice    IT    75000  
 Bob      HR    65000  
 Charlie  IT    85000  
└─────────┴──────┴────────┘

(select {
  avg_salary: (avg salary) 
  headcount: (count name) 
  earliest_hire: (min hire_date) 
  from: employees 
  by: dept})
┌──────┬────────────┬───────────┬───────────────┐
 dept  avg_salary  headcount  earliest_hire 
├──────┼────────────┼───────────┼───────────────┤
 IT    80000.00    2          2019.11.30    
 HR    65000.00    1          2020.03.20    
├──────┴────────────┴───────────┴───────────────┤
 2 rows (2 shown) 4 columns (4 shown)          
└───────────────────────────────────────────────┘

Documentation Structure

This documentation covers everything you need to work with RayforceDB:

Data Types

Learn about the fundamental data types: scalars (integers, floats, symbols, strings), collections (vectors, lists, tables), and more.

Queries

Discover how to query and manipulate data using select, insert, update, upsert, and join operations.

Operations

Explore mathematical, logical, ordering, and other operations for data manipulation.

Environment & Utilities

Manage variables, handle I/O operations, formatting, serialization, and more.