Chapter 1. LogicBlox Components and Architecture

The LogicBlox platform is composed of three server programs and the lb utility program. Server programs are shown in orange; utility programs in blue. The server (or daemon) programs are lb-server, lb-web, and lb-compiler.

lb-server

The main database server is lb-server. Within lb-server, workspaces with logic and data are managed. In particular, lb-server manages all active and inactive logic, maintains materialized views, and executes queries. Not only is lb-server executing LogiQL, but it also manages the existence of workspaces and branches within.

lb-compiler

LogiQL code is compiled to a machine representation by the lb-compiler. The lb-server and lb-compiler coordinate this process, so users can exclusively interact with lb-server. The lb-compiler runs as a separate process because it is written in Java.

lb-web

The last server component is lb-web, which exposes services through a standard http interface. Services from lb-web can be accessed directly from the browser or via standard command line utilities such as curl or wget.

lb tool

Users and administrators can interact with all LogicBlox server components via the lb command line tool. All server processes support lb <component> status to obtain general information about the process. Additionally, the lb tool comes with extensive documentation that can be reached by issuing lb -h at the command line.