14 repository-uri
Mechanisms for preventing data conflicts during concurrent updates by tracking version counts on model instances.
Distinguishing note: This is a specific concurrency control pattern for data persistence, distinct from general database drivers or query builders.
Explore 14 awesome GitHub repositories matching data & databases · Optimistic Locking. Refine with filters or upvote what's useful.
Sequelize is an object-relational mapping library that provides a unified interface for managing relational data through code. By implementing the Active Record pattern, it maps database tables to application objects, allowing developers to perform standard create, read, update, and delete operations using high-level method calls. The library abstracts complex database interactions by translating these calls into optimized, engine-specific SQL statements, ensuring consistent behavior across different database systems. The project distinguishes itself through a comprehensive suite of tools for
Sequelize prevents update conflicts during concurrent operations by using a version count on model instances to track changes and ensure consistency.
Quarkus is a Kubernetes-native Java framework designed for building high-performance, memory-efficient applications. It utilizes ahead-of-time native compilation to transform Java code into standalone, optimized binaries that eliminate the need for a virtual machine, enabling rapid startup and reduced memory consumption. By performing code augmentation during the build phase, it shifts heavy processing tasks away from runtime, ensuring that applications are optimized for cloud-native environments. The framework distinguishes itself through a unified approach to reactive and imperative program
Ensures data consistency during concurrent cache updates using atomic transaction primitives.
Doctrine ORM is a PHP object-relational mapper that connects application objects to relational database tables. It uses the data mapper and identity map patterns to decouple the in-memory object model from the database schema, allowing developers to manage data persistence without writing manual SQL. The project features a dedicated object-oriented query language and programmatic builder for retrieving data based on entities rather than tables. It implements a unit-of-work system to track object changes during a request and synchronize them via atomic transactions. The capability surface inc
Prevents concurrent update conflicts by tracking version counts on entity instances.
Mikro-ORM is a TypeScript-based object-relational mapping system that provides a unified persistence layer for Node.js applications. It translates TypeScript entities into relational or document-based database schemas, supporting a variety of engines including PostgreSQL, MySQL, MariaDB, MS SQL Server, SQLite, and MongoDB. The project implements the data mapper pattern to decouple in-memory domain models from the database persistence layer. It utilizes a unit of work pattern to track entity changes in memory and commit them in a single coordinated database transaction. The library covers com
Prevents concurrent update conflicts by checking a version column before committing changes.
xorm is a relational mapper and object-relational mapping tool for Go. It translates Go structures into SQL queries and maps database rows back into native objects, providing a multi-dialect database driver that supports MySQL, PostgreSQL, SQLite, Oracle, SQL Server, and TiDB. The project features a read-write splitting manager that routes modification requests to a primary database and read requests to replicas. It includes a database schema synchronizer to automatically align table structures and indexes with application data models, as well as a fluent SQL query builder for constructing co
Prevents concurrent update conflicts by tracking version counts on model instances.
Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis
Prevents race conditions by using pessimistic or optimistic locking strategies to ensure data consistency across distributed nodes.
The AWS SDK for PHP is a software development kit that provides HTTP client classes for every supported Amazon Web Service, enabling PHP applications to send authenticated requests and receive structured, typed response objects. It includes a credential resolution chain that automatically locates credentials from environment variables, instance profiles, or configuration files, and supports promise-based asynchronous execution for running multiple API calls concurrently to improve throughput. The SDK distinguishes itself through a middleware pipeline architecture that allows interception and
Implements pessimistic locking for session data to prevent concurrent modification conflicts.
Algodeck is an open-source collection of flash cards designed for reviewing algorithms, data structures, and system design concepts, specifically curated for technical interview preparation. The project organizes knowledge into atomic question-and-answer pairs and incorporates spaced repetition scheduling to optimize long-term memory retention. The flash card catalog covers a broad range of computer science topics, including classic sorting algorithms like quicksort and mergesort, data structure operations for arrays, trees, heaps, tries, and graphs, as well as bit manipulation techniques for
Explains pessimistic and optimistic locking strategies for concurrent data access.
InterviewGuide is a comprehensive technical interview preparation platform that covers the full spectrum of software engineering recruitment, from foundational computer science concepts through to offer negotiation. It provides structured learning paths across algorithms, operating systems, databases, networking, and programming languages, with a particular emphasis on C++ and Go. The platform aggregates real interview experiences and company-specific questions from major tech employers, offering candidates a searchable database of past written exam problems and detailed accounts of actual int
Explains how to use row locks or version checks to prevent conflicting updates in concurrent transactions.
Goravel este un scaffold de dezvoltare complet și un framework pentru construirea de aplicații web, API-uri REST și servicii gRPC folosind limbajul de programare Go. Implementează o arhitectură model-view-controller și oferă un set de instrumente cuprinzător pentru servere și clienți de tip remote procedure call (RPC) de înaltă performanță. Framework-ul se distinge prin ecosistemul său integrat extins, care include un ORM (object-relational mapper) fluent pentru gestionarea bazelor de date și un toolkit CLI dedicat pentru automatizarea administrativă și scaffolding-ul proiectelor. Dispune de o abstractizare a serviciilor bazată pe drivere, care permite dezvoltatorilor să schimbe backend-urile de stocare, cache și sesiune fără a altera logica aplicației. Platforma acoperă o suprafață largă de capabilități pentru aplicații, inclusiv procesarea asincronă a sarcinilor cu cozi distribuite, gestionarea securizată a identității prin autentificare bazată pe token-uri și un strat robust de securitate cu criptare și control al accesului. Oferă, de asemenea, instrumente pentru localizarea conținutului, randarea de template-uri și o infrastructură de testare automatizată cu dependency mocking.
Prevents concurrent record modification using shared or update locks during selection.
Kvrocks este o bază de date NoSQL bazată pe disc și un magazin distribuit de tip cheie-valoare care utilizează motorul de stocare RocksDB pentru a persista seturi mari de date pe disc fizic. Este concepută ca o bază de date compatibilă cu Redis, utilizând protocolul standard de comunicare Redis pentru a asigura interoperabilitatea cu bibliotecile și instrumentele client existente. Proiectul se distinge prin combinarea unui model de stocare persistentă pe disc cu capabilități avansate de regăsire, inclusiv căutare vectorială pentru interogări k-nearest neighbor, indexare pentru căutare full-text și execuția interogărilor geospațiale. Suportă clustering distribuit cu distribuția datelor bazată pe sloturi și gestionarea topologiei pentru a permite scalarea orizontală și disponibilitatea ridicată. Sistemul acoperă o gamă largă de tipuri de stocare a datelor, inclusiv documente JSON, stream-uri, seturi sortate, hash map-uri și bitmap-uri. Oferă instrumente cuprinzătoare de gestionare a datelor, cum ar fi tranzacții atomice, replicare bazată pe log-uri și structuri de date probabilistice pentru estimarea cardinalității și verificarea apartenenței. În plus, include scripting pe partea de server, mesagerie pub/sub și monitorizare detaliată pentru sănătatea serverului și performanța motorului de stocare.
Provides atomic blocks that only execute if the underlying data has not changed since being read.
Gorp is a lightweight object-relational mapper for Go that binds structs to relational database tables. It functions as a relational data mapper and SQL dialect abstraction layer, automating the translation between application data and relational rows. The project provides a translation layer that generates vendor-specific SQL for PostgreSQL, MySQL, SQLite, Oracle, and SQL Server. It distinguishes itself by implementing optimistic locking via version columns to prevent concurrent update conflicts and providing a database schema generator to create tables and indexes from object definitions.
Prevents concurrent update conflicts by tracking and verifying version columns on model instances.
linq2db is a type-safe object-relational mapper that translates LINQ expressions into optimized SQL queries for multiple database providers. It functions as a database mapper that links classes to tables and includes a SQL query builder and a command-line schema tool for generating data classes from existing databases. The project provides high-performance bulk data processing for inserting and loading large volumes of records via batch or binary copy methods. It also supports advanced SQL operations, including window functions, common table expressions for recursive hierarchical querying, an
Prevents data conflicts during concurrent updates by tracking version counts on model instances.
Rueidis is a high-performance Redis client library for Go that provides a type-safe and asynchronous interface for interacting with Redis servers. It includes a full implementation of the Redis serialization protocol and a dedicated connection manager to handle pooling, multiplexing, and automatic pipelining. The library is distinguished by its support for RDMA connectivity to reduce latency and CPU overhead. It features a distributed lock manager that implements majority-based locking and optimistic concurrency control, as well as client-side caching with invalidation signals to minimize net
Implements optimistic locking using WATCH/MULTI/EXEC to prevent lost updates during concurrent modifications.