11 مستودعات
Mechanisms for updating data structures over time, such as widening types or adding fields, without requiring destructive migrations.
Distinct from Data Type Schemas: Distinct from Data Type Schemas: specifically covers the process of changing schemas over time (evolution) rather than just the definition and verification of the schema itself.
Explore 11 awesome GitHub repositories matching data & databases · Schema Evolution. Refine with filters or upvote what's useful.
Noms is a distributed version control database and content-addressable data store. It identifies data by cryptographic hashes to ensure integrity and deduplication, while tracking dataset state changes through a sequence of immutable commits to enable branching, forking, and historical recovery. The system functions as a peer-to-peer data synchronizer, reconciling state between disconnected database instances to ensure all nodes converge on the same data. It distinguishes itself as a schema-flexible document store that supports self-describing types, allowing schemas to evolve and widen as ne
Widen or change container types implicitly as new data is added without rewriting existing stored information.
Lance is a columnar data format and storage layer designed for high-performance random access and the persistence of multimodal data. It functions as a vector database storage system, a multimodal data store, and a versioned dataset manager. The project distinguishes itself as a hybrid search engine that combines vector similarity search and full-text indexing on a single dataset. It provides unified storage for diverse data types including images, audio, and video, utilizing a system that lazy-loads large binary objects only when requested. The system manages dataset evolution through schem
Allows updating data schemas by adding new columns with backfilled values without rewriting tables.
Lance is a versioned columnar data format and storage engine designed as a multimodal AI lakehouse. It serves as a vector database storage engine and a cloud object store dataset manager, organizing images, video, audio, and embeddings into a unified format optimized for machine learning workflows. The project distinguishes itself by combining a columnar layout for structured data with a specialized blob store for large multimodal tensors. It implements a hybrid search engine that integrates vector similarity search, full-text search, and SQL analytics on a single dataset, supported by a stor
Updates table structures by modifying manifest metadata to add or remove columns without rewriting data files.
Kryo is a Java binary serialization framework and object cloning library used to convert Java objects into a compact binary format and restore them from bytes. It provides a system for creating deep or shallow copies of complex object graphs without requiring binary conversion. The project utilizes variable-length integer encoding and integer-ID class registration to reduce the size of serialized data. It handles complex object graphs through circular reference tracking to prevent data duplication and infinite loops. To maintain long-term data viability, it includes schema evolution managemen
Maintains backward and forward compatibility by allowing fields to be added, renamed, or removed in serialized data.
This project is a streaming data integration framework that captures real-time database changes and synchronizes them with downstream systems. It operates as a distributed streaming ETL and database synchronizer, reading database logs and snapshots to propagate row-level modifications to target sinks. The system supports declarative data integration, allowing users to define source-to-sink data flows using SQL or YAML configurations. It distinguishes itself by automating schema evolution to maintain synchronization when source structures change and ensuring exactly-once delivery and processin
Detects structural modifications in source tables and automatically applies those changes to the target system.
dlt هي أداة لاستيعاب البيانات بلغة Python وإطار عمل لخط أنابيب ETL مصمم لجلب البيانات من مصادر متنوعة وحفظها في وجهات مهيكلة. تعمل كمحرك لاستنتاج المخطط (schema inference) يكتشف تلقائياً أنواع البيانات ويسطح هياكل JSON المتداخلة في جداول علائقية، ناقلاً البيانات من المصادر إلى بحيرات البيانات، أو المستودعات، أو قواعد بيانات المتجهات. يتميز المشروع بتوليد خط أنابيب مدعوم بالذكاء الاصطناعي، باستخدام نماذج لغات كبيرة لسقالات كود الاستخراج والموصلات لـ REST APIs. كما يدعم تخزين المتجهات متعدد الوسائط والتعبئة المتخصصة لقواعد بيانات المتجهات لدعم تطبيقات الذكاء الاصطناعي والتعلم الآلي. يغطي إطار العمل مجموعة واسعة من القدرات بما في ذلك تطور المخطط المؤتمت، وتحميل البيانات التزايدي عبر تتبع الحالة، والتحقق من جودة البيانات من خلال فرض عقود البيانات. يوفر أدوات لتطبيع البيانات العلائقية، وتحويلات ما قبل وما بعد التحميل، ومجموعة متنوعة من محولات الوجهة لقواعد بيانات SQL ومخازن الكائنات السحابية. تتم إدارة المراقبة من خلال لوحات معلومات تنفيذ خط الأنابيب، وتتبع نسب الأعمدة، والتحقق من إصدار المخطط باستخدام التجزئات القائمة على المحتوى.
Adapts destination tables by adding new columns or creating variant columns when data types change.
GraphQL-Ruby هو مكتبة Ruby لبناء واجهات برمجة تطبيقات GraphQL بمخطط مكتوب بقوة ومحرك تنفيذ استعلام مخصص. يوفر إطار عمل شاملاً لربط كائنات التطبيق بنظام أنواع رسمي، مما يتيح جلب البيانات المهيكلة من خلال أدوات حل (Resolvers) محددة. يتميز المشروع بآليات متقدمة للأداء والتسليم، بما في ذلك محمل بيانات (Data Loader) للتجميع والتخزين المؤقت لمنع أنماط استعلام N+1. يدعم تسليم البيانات عالي الأداء من خلال بث الاستجابة التزايدي، واستجابات الاستعلام المؤجلة، وجلب البيانات المتوازي باستخدام الألياف (Fibers). بالإضافة إلى ذلك، يوفر دعماً أصلياً لاتفاقيات Relay، بما في ذلك مساعدين متخصصين للاتصالات وتحديد الكائنات. تغطي المكتبة مساحة واسعة من إدارة واجهة برمجة التطبيقات، وتتميز بالتحكم الدقيق في الوصول، وإصدار المخطط للحفاظ على التوافق مع الإصدارات السابقة، والتحديثات في الوقت الفعلي عبر الاشتراكات. كما تتضمن أدوات إدارة حركة المرور لحماية موارد الخادم، مثل تحديد تعقيد الاستعلام وتحديد معدل الطلب. يتم دعم التطوير وقابلية المراقبة من خلال أدوات تحليل AST، وتتبع التنفيذ، وأدوات اختبار متخصصة للتحقق من التحميل المجمع.
Tracks evolutionary schema changes through sets of modifications associated with specific version numbers.
هذا المشروع عبارة عن لوحة رسم بصرية مدعومة بالذكاء الاصطناعي وإطار عمل للسبورة البيضاء التعاونية. يعمل كمحرك رسم متجه قابل للتخصيص وأداة لتحويل رسومات الواجهة المرسومة يدوياً والنماذج الأولية (Wireframes) إلى كود وظيفي باستخدام الذكاء الاصطناعي. يتميز النظام بدمج وكلاء الذكاء الاصطناعي الذين يمكنهم قراءة وتعديل وتوليد المخططات البصرية مباشرة على اللوحة. كما يوفر محرر سير عمل يعتمد على العقد لبناء خطوط أنابيب الأتمتة وتدفقات معالجة البيانات من خلال ربط المكونات متعددة الوسائط. تغطي المنصة مجموعة واسعة من القدرات، بما في ذلك التعاون متعدد اللاعبين في الوقت الفعلي مع تتبع وجود المستخدم، ولوحة غير محدودة مع عرض مسرع بواسطة GPU، ومجموعة شاملة من أدوات معالجة الكائنات والمحاذاة. كما تنفذ معايير إمكانية الوصول إلى الويب وتوفر واجهة قابلة للبرمجة لتعريف الأشكال المخصصة وعناصر تحكم اللوحة البرمجية.
Ensures backward compatibility by applying sequential transformations to older data versions during deserialization.
MemoryPack is a high-performance binary serialization library for C# and Unity. It provides a zero-allocation data pipeline and a schema-evolution framework designed to minimize memory allocations and encoding overhead. The project utilizes compile-time source generators to avoid runtime reflection and implements a zero-encoding binary format for maximum throughput. It distinguishes itself through a zero-allocation approach that reuses object instances to reduce garbage collection pressure and copies the memory layout of unmanaged structs directly to binary streams. The library covers binary
Supports adding new members to serialized objects while maintaining compatibility with older data versions.
Fury هو إطار عمل تسلسلي ثنائي متعدد اللغات مصمم لتشفير كائنات المجال والرسوم البيانية المعقدة لتسهيل تبادل البيانات عبر اللغات. يتضمن مترجم لغة تعريف الواجهة (IDL) الذي يترجم تعريفات المخطط إلى أنواع أصلية اصطلاحية ونصوص تسلسلية عبر لغات متعددة. يتميز المشروع بقارئ ثنائي بدون نسخ (zero-copy) يسمح بالوصول إلى حقول محددة دون إلغاء تسلسل الكائن بالكامل، بالإضافة إلى مسلسل رسوم بيانية للكائنات يحافظ على المراجع الدائرية وسلامة المراجع. كما يتميز بمحول بيانات يحول البيانات الثنائية القائمة على الصفوف إلى تنسيقات Apache Arrow القائمة على الأعمدة لأحمال العمل التحليلية. يغطي إطار العمل مجالات قدرة واسعة بما في ذلك تطور المخطط القائم على البيانات الوصفية للتوافق للأمام وللخلف، وعملية تجميع AOT في وقت البناء للقضاء على الانعكاس في وقت التشغيل، وإلغاء التسلسل الآمن عبر التحقق من النوع القائم على القائمة البيضاء. كما يوفر تكاملاً لاستدعاءات الإجراءات عن بُعد عالية الأداء من خلال gRPC.
Maintains forward and backward compatibility by evolving data structures without requiring destructive migrations.
msgspec is a high-performance data modeling, serialization, and schema validation toolkit for Python. It serves as a type-safe serialization framework that integrates schema enforcement and data parsing into a single pass, functioning as both a data serialization library and a schema validation system based on standard Python type annotations. The project distinguishes itself through high-performance structural primitives, including compilation-based routine generation and zero-copy buffer parsing. It optimizes memory usage via garbage collection-aware layouts and reduces processing overhead
Enables exchanging messages between different schema versions without triggering errors as data formats change.