In Rayven, we handle two types of databases—Cassandra and MySQL—each serving a distinct purpose to optimize the performance and flexibility of our platform.
Overview
Rayven.io uses a dual-database architecture to support high-speed data ingestion and structured data modeling. The platform leverages:
-
Cassandra for storing large volumes of raw, high-velocity, unstructured data
-
MySQL for managing structured business data using Primary and Secondary Tables
This design allows Rayven to support scalable, real-time processing while also enabling organized, relational data modeling for business logic and applications.
1. Cassandra: High-Volume Unstructured Data
Purpose
Cassandra is used to store unstructured and semi-structured payloads that are ingested into Rayven’s workflows. This includes large, schema-flexible datasets that do not need to be modeled relationally.
Why Use Cassandra in Rayven?
-
Horizontally scalable NoSQL database
-
Optimized for real-time, high-throughput writes
-
Ideal for event streams, logs, and raw payloads
What Gets Stored in Cassandra?
-
Raw webhook or API payloads
-
Machine or system logs
-
Streaming events (e.g., status updates, telemetry)
-
JSON or message payloads processed in workflows
Example Use Case
A third-party service sends real-time form submissions via API. These JSON payloads are stored in Cassandra and then parsed or filtered within a Rayven workflow.
2. MySQL: Structured Business Data with Primary & Secondary Tables
Purpose
MySQL is used to store structured data within your applications using Rayven’s Primary and Secondary Tables. These are defined by users to model core entities and their associated contextual information.
Why Use MySQL in Rayven?
-
ACID-compliant relational storage
-
Enables scalable application modeling
-
Supports workflow automation, UI logic, and analytics
Primary vs Secondary Tables
Table Type | Purpose | Example Use Case |
---|---|---|
Primary Table | Stores main business entities (one record per entity) | Users, Products, Projects |
Secondary Table | Stores related or contextual data (one-to-many) | Job Applications, Purchase History, Support Tickets |
Clarified Examples
-
Primary:
Users
Secondary:JobApplications
,PurchaseHistory
,UserSessions
-
Primary:
Products
Secondary:ProductReviews
,InventoryUpdates
Each Secondary Table references a Primary Table via foreign key (e.g., user_id
, product_id
) to maintain structured relationships.
3. Why Rayven Uses Two Databases
Rayven splits structured and unstructured data storage to optimize performance, flexibility, and usability.
Capability | Cassandra | MySQL |
---|---|---|
Real-time event ingestion | ✅ | ❌ |
JSON/API/webhook payloads | ✅ | ❌ |
Structured records | ❌ | ✅ |
Table-based business modeling | ❌ | ✅ (Primary + Secondary Tables) |
ACID-compliant transactional use | ❌ | ✅ |
Schema-flexible | ✅ | ❌ |
This hybrid model allows users to build scalable, intelligent applications that process live data streams while also maintaining clean relational models.
4. Summary
Rayven.io’s data architecture is designed to support modern business and integration use cases by combining:
-
Cassandra – for efficient storage of real-time, unstructured payloads
-
MySQL – for building structured applications using Primary and Secondary Tables
By separating raw data processing from structured data modeling, Rayven enables you to ingest, automate, and visualize information with both performance and precision.
5. Frequently Asked Questions (FAQ)
Q: Are Primary and Secondary Tables stored in Cassandra?
A: No. These tables live in MySQL. Cassandra stores unstructured payloads that are not modeled as relational data.
Q: What should I use Cassandra for?
A: Use Cassandra for logs, API payloads, webhook inputs, and other streaming or schema-flexible data types.
Q: What should I use MySQL for?
A: Use MySQL for structured, relational records in Primary and Secondary Tables — such as customers, orders, tickets, and their associated histories or contexts.
Q: How do I link Primary and Secondary Tables?
A: Define a foreign key in the Secondary Table that points to the Primary Table’s ID field (e.g., user_id
, product_id
).
Q: Can I move data between Cassandra and MySQL?
A: Yes. Workflows can extract, transform, and write data from one storage layer to the other, depending on the use case.