14 रिपॉजिटरी
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 Go प्रोग्रामिंग भाषा का उपयोग करके वेब एप्लिकेशन, REST API और gRPC सेवाएं बनाने के लिए एक पूर्ण-विशेषीकृत डेवलपमेंट स्कैफोल्ड और फ्रेमवर्क है। यह मॉडल-व्यू-कंट्रोलर आर्किटेक्चर को लागू करता है और उच्च-प्रदर्शन रिमोट प्रोसीजर कॉल सर्वर्स और क्लाइंट्स के लिए एक व्यापक टूलकिट प्रदान करता है। यह फ्रेमवर्क अपने व्यापक एकीकृत इकोसिस्टम द्वारा प्रतिष्ठित है, जिसमें डेटाबेस मैनेजमेंट के लिए एक फ्लुएंट ऑब्जेक्ट-रिलेशनल मैपर और प्रशासनिक ऑटोमेशन और प्रोजेक्ट स्कैफोल्डिंग के लिए एक समर्पित कमांड-लाइन इंटरफ़ेस टूलकिट शामिल है। इसमें एक ड्राइवर-आधारित सर्विस एब्स्ट्रैक्शन है जो डेवलपर्स को एप्लिकेशन लॉजिक को बदले बिना स्टोरेज, कैश और सेशन बैकएंड को स्वैप करने की अनुमति देता है। यह प्लेटफ़ॉर्म एप्लिकेशन क्षमताओं की एक विस्तृत सतह को कवर करता है, जिसमें डिस्ट्रीब्यूटेड क्यूज़ के साथ एसिंक्रोनस टास्क प्रोसेसिंग, टोकन-आधारित प्रमाणीकरण के माध्यम से सुरक्षित आइडेंटिटी मैनेजमेंट, और एन्क्रिप्शन और एक्सेस कंट्रोल के साथ एक मजबूत सुरक्षा परत शामिल है। यह कंटेंट लोकलाइजेशन, टेम्पलेट रेंडरिंग और डिपेंडेंसी मॉकिंग के साथ एक ऑटोमेटेड टेस्टिंग इंफ्रास्ट्रक्चर के लिए टूल्स भी प्रदान करता है।
Prevents concurrent record modification using shared or update locks during selection.
Kvrocks एक डिस्क-आधारित NoSQL डेटाबेस और वितरित की-वैल्यू स्टोर है जो बड़े डेटासेट को भौतिक डिस्क पर बनाए रखने के लिए RocksDB स्टोरेज इंजन का लाभ उठाता है। इसे Redis-संगत डेटाबेस होने के लिए डिज़ाइन किया गया है, जो मौजूदा क्लाइंट लाइब्रेरी और टूल के साथ इंटरऑपरेबिलिटी सुनिश्चित करने के लिए मानक Redis संचार प्रोटोकॉल का उपयोग करता है। यह प्रोजेक्ट डिस्क-पर्सिस्टेंट स्टोरेज मॉडल को उन्नत पुनर्प्राप्ति क्षमताओं के साथ जोड़कर खुद को अलग करता है, जिसमें k-नियरेस्ट नेबर क्वेरी के लिए वेक्टर सर्च, फुल-टेक्स्ट सर्च इंडेक्सिंग और जियोस्पेशियल क्वेरी निष्पादन शामिल है। यह क्षैतिज स्केलिंग और उच्च उपलब्धता को सक्षम करने के लिए स्लॉट-आधारित डेटा वितरण और टोपोलॉजी प्रबंधन के साथ वितरित क्लस्टरिंग का समर्थन करता है। सिस्टम JSON दस्तावेजों, स्ट्रीम, सॉर्टेड सेट्स, हैश मैप्स और बिटमैप्स सहित डेटा स्टोरेज प्रकारों की एक विस्तृत श्रृंखला को कवर करता है। यह परमाणु लेनदेन (atomic transactions), लॉग-आधारित प्रतिकृति, और कार्डिनैलिटी अनुमान और सदस्यता जांच के लिए संभाव्य डेटा संरचनाओं जैसे व्यापक डेटा प्रबंधन टूल प्रदान करता है। इसके अतिरिक्त, इसमें सर्वर-साइड स्क्रिप्टिंग, पब/सब मैसेजिंग और सर्वर स्वास्थ्य और स्टोरेज इंजन प्रदर्शन के लिए विस्तृत मॉनिटरिंग शामिल है।
Provides atomic blocks that only execute if the underlying data has not changed since being read.
यह एक Ruby क्लाइंट लाइब्रेरी और प्रोटोकॉल ड्राइवर है जिसका उपयोग Ruby एप्लिकेशन को Redis डेटाबेस के साथ एकीकृत करने के लिए किया जाता है। यह एक संचार परत के रूप में कार्य करती है जो प्रोटोकॉल संस्करणों को प्रबंधित करती है और डेटाबेस ऑपरेशन निष्पादित करने के लिए एक सुसंगत इंटरफ़ेस प्रदान करती है। यह लाइब्रेरी स्टैंडअलोन इंस्टेंस, उच्च-उपलब्धता मास्टर डिस्कवरी और फ़ेलओवर के लिए Redis Sentinel, और स्लॉट-जागरूक अनुरोध रूटिंग और नोड डिस्कवरी के साथ Redis क्लस्टर सहित विभिन्न तैनाती टोपोलॉजी का समर्थन करती है। यह स्वतंत्र सर्वरों में डेटा वितरित करने के लिए सुसंगत हैशिंग का उपयोग करके क्लाइंट-साइड शार्डिंग भी प्रदान करती है। व्यापक क्षमताओं में परमाणु ट्रांजेक्शन प्रबंधन और सर्वर-साइड परिवर्तनों के लिए Lua स्क्रिप्टिंग, साथ ही भू-स्थानिक निर्देशांक और स्ट्रीम जैसे विशेष डेटा प्रकारों के लिए समर्थन शामिल है। प्रदर्शन को कमांड पाइपलाइनिंग और नेटिव पार्सिंग एक्सटेंशन के माध्यम से अनुकूलित किया जाता है, जबकि सुरक्षा को SSL/TLS एन्क्रिप्शन और पारस्परिक प्रमाणपत्र प्रमाणीकरण के माध्यम से संभाला जाता है। क्लाइंट में स्वचालित एकीकरण परीक्षण के लिए कंटेनरों का उपयोग करके स्टैंडअलोन और क्लस्टर डेटाबेस टोपोलॉजी को ऑर्केस्ट्रेट करने के लिए टूलिंग शामिल है।
Prevents data conflicts during concurrent updates by watching keys and executing only if they remain unmodified.
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.