Cyoda Platform Library
Cyoda Cloud is based on the Cyoda Platform Library (CPL), a hybrid transactional/analytical data processing platform designed for high-volume data ingestion with concurrent transactional and analytical processing capabilities.
Overview
Section titled âOverviewâCyoda Cloud operates as a distributed platform that ingests high volumes of data while enabling simultaneous transactional and analytical processing. The platform maintains full ACID properties across horizontally scalable architecture with no bottlenecks, supporting complex, disparate data storage, processing, and querying at scale.
Core Architecture
Section titled âCore ArchitectureâHorizontal Scalability
Section titled âHorizontal ScalabilityâThe platform employs a distributed architecture that interacts with an arbitrary number of nodes across geographic locations. This design eliminates single points of failure and enables linear scaling as data volumes and processing requirements grow.
High Availability
Section titled âHigh AvailabilityâCyodaâs distributed node architecture ensures continuous operation through redundancy and fault tolerance. The platform coordinates between geographically distributed nodes using Apache Zookeeper⢠v3.6.3 for cluster coordination, while Apache CassandraÂŽ v4.1.3 provides the distributed storage backend.
Data Management
Section titled âData ManagementâDynamic Entity Modeling and Persistence
Section titled âDynamic Entity Modeling and PersistenceâThe platform supports dynamic entity modeling where business objects exist as state machines. Each entity associates with a workflow that defines available states, possible transitions, and processes that execute during state changes. Entities maintain write-only persistence characteristics, ensuring data immutability and complete audit trails.
Entity Workflow System
Section titled âEntity Workflow SystemâEvery business object operates as an event-driven, finite, distributed state machine. The workflow graph consists of states, transitions, processes, and criteria. Users can specialize state machines for specific entities through the UI, enabling rapid system evolution compared to code-only approaches.
Processing Architecture
Section titled âProcessing ArchitectureâTransactional Event-Driven Processing
Section titled âTransactional Event-Driven ProcessingâThe platform processes all operations through state machine workflows. This event-driven approach enables complex business logic implementation while maintaining transactional consistency across distributed operations. The system supports synchronous and asynchronous processing patterns.
Indexing Capabilities
Section titled âIndexing CapabilitiesâCyoda provides comprehensive indexing for range fields and composite indexing strategies. The indexing system supports complex query patterns while maintaining performance across large datasets. Index configurations can be customized per entity type and use case.
Query and Reporting
Section titled âQuery and ReportingâPoint-in-Time Querying
Section titled âPoint-in-Time QueryingâThe platform supports synchronous data querying with point-in-time consistency. This capability enables users to query data states at specific moments, supporting both operational queries and analytical workloads.
Distributed Reporting
Section titled âDistributed ReportingâAsynchronous distributed reporting capabilities enable complex analytical processing across the entire platform. The reporting system can aggregate data across multiple nodes and time periods while maintaining consistency and performance.
Security and Permissions
Section titled âSecurity and PermissionsâAccessDecisionTree Framework
Section titled âAccessDecisionTree FrameworkâCyoda implements a decision-tree mechanism for authentication and authorization. The AccessDecisionTree evaluates access permissions for CRUD operations (CREATE, READ, UPDATE, DELETE) on entities. The system combines CREATE and UPDATE operations into a single WRITE operation for simplified internal logic.
The decision tree operates as a compact classical decision tree where each node can function as a terminal node. Each node carries decision information for cases where traversal stops at that point. The framework supports:
- Role-based access control
- Entity-type specific permissions
- Field-level masking for partial access
- Performance-optimized permission evaluation
Technical Requirements
Section titled âTechnical RequirementsâStorage Backend
Section titled âStorage Backendâ- Apache CassandraÂŽ v4/v5 database cluster
- Apache Zookeeper⢠v3.6.3 cluster for coordination
Integration Capabilities
Section titled âIntegration Capabilitiesâ- gRPC and REST API support
- Client libraries for multiple programming languages
- Workflow configuration through visual designer
- Programmatic workflow definition
Key Features Summary
Section titled âKey Features Summaryâ- Data Modeling: Dynamic entity persistence with workflow-driven state machines
- Scalability: Horizontally scalable with no architectural bottlenecks
- Availability: Distributed, fault-tolerant architecture
- Processing: Event-driven transactional and analytical processing
- Querying: Point-in-time queries and distributed reporting
- Security: Comprehensive permission system via AccessDecisionTree
- Integration: Multiple API interfaces and client library support
- Auditing: Complete audit trails through write-only entity persistence
- Indexing: Advanced indexing for range and composite queries
The platform serves as a cohesive technology foundation for scalable and agile architectures, particularly suited for core financial services operations requiring high-volume data processing with strict consistency guarantees.