Node Architecture
In the vast landscape of database management, CrateDB distinguishes itself with its unique node architecture, offering unparalleled functionality and configurability. Rather than a primary-secondary setup, CrateDB utilizes a system where every node in the cluster can perform every operation. Each node is accessible via three ports: SQL queries are accepted, and results are returned via HTTP or the PostgreSQL Wire Protocol. Additionally, an extra transport port is used for inter-cluster communication.
CrateDB's node architecture is built on four major components:
- SQL Handler: The SQL Handler serves as the first point of contact for incoming client requests. It parses and analyzes SQL statements, then creates an execution plan.
- Job execution service: This service manages the execution of plans, also known as "jobs." These jobs, which consist of multiple operations, are distributed to nodes involved in the process via the Transport Protocol.
- Cluster state service: This service is at the heart of cluster setup, managing the cluster state. Its responsibilities include, but are not limited to, master node election and node discovery.
- Data storage component: This component is responsible for storing and retrieving data from disk based on the execution plan. CrateDB stores data in sharded tables, which are divided and stored across multiple nodes. Each shard is a distinct Lucene index stored physically on the file system.
Introduction to CrateDB and its Architecture
Learn from Marija Selakovic, Developer Advocate at CrateDB, about CrateDB architecture and its SQL and NoSQL capabilities.Timestamp: 3:59 - 22:44
CrateDB Architecture Guide
This comprehensive guide covers all the key concepts you need to know about CrateDB's architecture. It will help you gain a deeper understanding of what makes it performant, scalable, flexible and easy to use. Armed with this knowledge, you will be better equipped to make informed decisions about when to leverage CrateDB for your data projects.