Skip to main content
Version: 3.11

Glossary

This glossary includes database and distributed-system terms that are often used when using ScalarDB.

ACID​

Atomicity, consistency, isolation, and durability (ACID) is a set of properties that ensure database transactions are processed reliably, maintaining integrity even in cases of errors or system failures.

concurrency control​

Concurrency control in databases ensures that multiple transactions can occur simultaneously without causing data inconsistency, usually through mechanisms like locking or timestamp ordering.

consensus​

Consensus in distributed systems refers to the process of achieving agreement among multiple computers or nodes on a single data value or system state.

data federation​

Data federation is the process of integrating data from different sources without moving the data, creating a unified view for querying and analysis.

data mesh​

A data mesh is a decentralized data architecture that enables domain teams to independently perform cross-domain analysis, addressing scalability and ownership challenges.

data virtualization​

Data virtualization is similar to data federation in many aspects, meaning that it virtualizes multiple data sources into a unified view, simplifying queries without moving the data.

database anomalies​

Database anomalies are inconsistencies or errors in data that can occur when operations such as insertions, updates, or deletions are performed without proper transaction management.

federation engine​

A federation engine facilitates data integration and querying across multiple disparate data sources, often as part of a data federation architecture.

global transaction​

A global transaction spans multiple databases or distributed systems and ensures that all involved systems commit or roll back changes as a single unit.

heterogeneous databases​

Heterogeneous databases refer to systems composed of different database technologies that may have distinct data models, query languages, and transaction mechanisms.

HTAP​

Hybrid transactional/analytical processing (HTAP) refers to a system that can handle both transactional and analytical workloads concurrently on the same data set, removing the need for separate databases.

JDBC​

Java Database Connectivity (JDBC) is an API that allows Java applications to interact with databases, providing methods for querying and updating data in relational databases.

linearizability​

Linearizability is a strong consistency model in distributed systems where operations appear to occur atomically in some order, and each operation takes effect between its start and end.

NoSQL databases​

NoSQL databases are non-relational databases designed for specific data models, such as document, key-value, wide-column, or graph stores, often used for handling large-scale, distributed data.

Paxos​

Paxos is a family of protocols used in distributed systems to achieve consensus, even in the presence of node failures.

PITR​

Point-in-time recovery (PITR) allows a database to be restored to a previous state at any specific time, usually after an unintended event like data corruption.

polystores​

Polystores are database architectures that allow users to interact with multiple, heterogeneous data stores, each optimized for a specific workload or data type, as if they were a single system.

read-committed isolation​

Read-committed isolation is an isolation level where each transaction sees only committed data, preventing dirty reads but allowing non-repeatable reads.

relational databases​

Relational databases store data in tables with rows and columns, using a structured query language (SQL) to define, query, and manipulate the data.

replication​

Replication in databases involves copying and distributing data across multiple machines or locations to ensure reliability, availability, and fault tolerance.

Saga​

The Saga pattern is a method for managing long-running transactions in a distributed system, where each operation in the transaction is followed by a compensating action in case of failure.

serializable isolation​

Serializable isolation (serializability) is the highest isolation level in transactional systems, ensuring that the outcome of concurrently executed transactions is the same as if they were executed sequentially.

snapshot isolation​

Snapshot isolation is an isolation level that allows transactions to read a consistent snapshot of the database, protecting them from seeing changes made by other transactions until they complete.

TCC​

Try-Confirm/Cancel (TCC) is a pattern for distributed transactions that splits an operation into three steps, allowing for coordination and recovery across multiple systems.

transaction​

A transaction in databases is a sequence of operations treated as a single logical unit of work, ensuring consistency and integrity, typically conforming to ACID properties.

transaction manager​

A transaction manager coordinates the execution of transactions across multiple systems or databases, ensuring that all steps of the transaction succeed or fail as a unit.

two-phase commit​

Two-phase commit is a protocol for ensuring all participants in a distributed transaction either commit or roll back the transaction, ensuring consistency across systems.