Overview
The LDB (Linked-list Database) is a headless (no user interface or client layer) database engine at the core of SCANOSS. It is designed for single-key, read-optimised access across large volumes of data, whilst maintaining a minimal memory and disk footprint and minimising kernel-level system calls. Data is structured using linked lists. SCANOSS SaaS runs on a distributed infrastructure built around the LDB. The platform uses load balancing and distributed LDB data nodes to process software analysis requests at scale, ensuring high availability and fault tolerance.How Load Balancing Works
Incoming requests are distributed across multiple processing nodes. Each processing node runs the SCANOSS Engine and queries a shared LDB Knowledge Base — a read-optimised store of open source component data — to match file fingerprints (cryptographic hashes of source code snippets) against known open source components. This architecture provides:- Even workload distribution across processing nodes
- High availability through redundancy
- Horizontal scaling to handle increased request volumes
Example Deployment Scenario
A typical large enterprise deployment includes the following layers:- External request endpoint — receives incoming scan requests
- Load balancer — distributes requests across processing nodes
- Processing nodes — each running the SCANOSS Engine
- LDB Knowledge Base — shared, read-optimised data layer queried by all nodes
Architecture Diagram
Reliability and Scalability Properties
This architecture is designed to provide:- Fault tolerance — redundant processing nodes prevent single points of failure
- Consistent query performance — read-optimised data access at the LDB layer
- High availability — load balancing ensures continuity under node failure
- Horizontal scaling — additional processing nodes can be added without downtime