1/33
Comprehensive vocabulary flashcards covering basic definitions, properties, software architectural styles, NoSQL databases (Cassandra, MongoDB), and streaming platforms (Kafka) from Chapter 1 of Distributed Systems.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Distributed Computing
The branch of computer science that studies distributed systems and the art of solving complex problems by using multiple computing devices when a single computer is no longer sufficient.
Distributed System
A collection of autonomous components located on different networked nodes (machines) that communicate and coordinate actions strictly via message passing to appear as a single unified system to the end user.

Distributed System Layer (Middleware)
A software layer positioned between distributed applications and local operating systems that enables components on heterogeneous machines to communicate and interact across a network.
Absence of Global Clock
A key characteristic of distributed systems where each node operates on its own local clock at differing rates, resulting in asynchronous operations without a single central time source.
Node Dynamism
The property of a distributed system allowing independent nodes to dynamically join or leave the computing group (open groups), often organized over an overlay network.
Absence of Shared Memory
A characteristic where each computing device in a distributed system possesses its own independent physical memory, preventing any single node from directly knowing the complete global state.
Resource Sharing
The ability of multiple computing devices in a distributed network to share hardware, software components, and data to reduce costs and facilitate seamless information exchange.
Heterogeneity
The variation in networks, hardware, operating systems, programming languages, and software components built by different developers within the same distributed system.
Interoperability
The ability of different hardware and software systems to effectively exchange information through standardized protocols and shared conventions.
Portability
The capability of software components to operate correctly across different operating system environments without requiring core modifications.
Extensibility
The design feature allowing developers to add new capabilities or reimplement existing features in a system without compromising current functionalities.
Scalability
The ability of a system to accommodate growth in service workload, geographic extent, or administrative domain without significant degradation in performance.
Dynamic Reconfiguration
The dynamic binding and adjustment of remote communication interfaces, enabling runtime module substitution, topological alterations, or module migration.
Client-Server Architecture
An architectural model where an application is split into client components that request services and server components that execute and deliver requested services.
Multi-Node Client-Server Architecture
A generalized client-server model where server workloads (processing, scheduling, load balancing) are distributed across multiple machines to execute tasks in parallel.
Service-Oriented Architecture (SOA)
An architectural approach offering service registry, discovery, and binding mechanisms over high-speed networks, often utilizing a pay-per-use model.
Peer-to-Peer (P2P) Architecture
A fully decentralized architecture where every node acts simultaneously as both client and server, sharing computing resources and decision-making directly without central server control.
Microservices Architecture
An architectural style where loosely coupled services encapsulate feature-level business logic and manage independent databases while communicating over a network.
Apache Cassandra
An open-source, column-oriented NoSQL distributed key-value database system created by Facebook in 2008 for handling big data across multiple nodes with high availability and no single point of failure.

Apache Cassandra Cluster Architecture
A decentralized ring network structure where 1 installation equals 1 node, offering +1TB capacity and up to 3000 Tx/sec/core throughput, communicating across nodes via gossiping.
Gossip Protocol
A peer-to-peer communication process used by nodes in Apache Cassandra to periodically exchange cluster state information across the network ring.
MongoDB
An open-source, cross-platform, document-oriented NoSQL database developed by MongoDB Inc. (2009) that stores structured data as key-value pairs inside schema-less documents.

MongoDB Features
Core features of MongoDB including indexing, schema-less document-oriented storage, replication, auto-sharding, GridFS, aggregation pipelines, ad-hoc queries, and high performance.
BSON
Binary JSON format used internally by MongoDB to encode type and length details for faster binary storage and traversal compared to standard JSON.
_id Index
A unique primary key index built automatically on a B-Tree structure in MongoDB to identify each document uniquely and optimize retrieval operations.
Auto-sharding
A feature in MongoDB that automatically partitions and distributes data across multiple physical server segments (shards) to achieve automated load balancing.
Apache Kafka
An open-source distributed event streaming platform created at LinkedIn in 2011, designed for real-time data pipelines, stream processing, and high-throughput publish-subscribe messaging.

Apache Kafka Architecture
An event streaming ecosystem where producers push records to brokers in a Kafka cluster, consumers pull records from topics, and ZooKeeper coordinates cluster nodes.
Kafka Topic
A logical category or stream name in Apache Kafka where incoming records and messages sent by producers are organized and stored.
Kafka Broker
A server within an Apache Kafka cluster responsible for receiving messages from producers, storing them on disk, and serving them to consumers.
Kafka Producer
An application or data source that generates data streams and publishes messages into one or more specified topics within a Kafka cluster.
Kafka Consumer
An application or data sink that pulls and reads published messages from Kafka brokers and topics when ready to process them.
Kafka Partition
An ordered, immutable sequence of message logs stored within a topic, where each log record is assigned a sequential offset ID.
ZooKeeper
A centralized service used by Apache Kafka to maintain broker cluster metadata, coordinate cluster activities, and facilitate leader selection for partitions.