awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
tonsky avatar

tonsky/datascript

0
View on GitHub↗
5,767 星标·317 分支·Clojure·EPL-1.0·4 次浏览

Datascript

Datascript 是一个不可变的、内存中的状态存储和基于模式的三元组存储。它将应用状态作为版本化数据库进行管理,将数据存储为由实体、属性、值和事务组成的不可变事实。

该项目提供了一个用于执行 Datalog 查询的逻辑引擎,支持隐式连接、递归规则和否定。它还具有一个用于检索深度嵌套实体图和相关数据结构的声明式 pull API。

该数据库通过模式驱动的约束和属性类型强制执行数据完整性。它支持原子事务、用于持久化的可插拔存储协议,以及用于优化查找的 B 树属性索引。

该系统专为 Clojure、ClojureScript 和 JavaScript 环境设计。

Features

  • Triple Stores - Implements a schema-based triple store using an EAVT model for flexible data representation.
  • Logic-Based Relational Querying - Provides a logic-based relational query engine using Datalog paradigms for Clojure and JavaScript environments.
  • Triple Stores - Implements a schema-based triple store using an EAVT model to manage immutable facts.
  • Nested Entity Retrieval - Extracts related data using a pull API that supports recursive exploration of entity graphs.
  • Application State Management - Provides centralized application state management using an immutable in-memory data store.
  • Schema-Enforced Triple Stores - Combines a triple store architecture with schema-driven constraints to ensure data integrity and optimize indexing.
  • Declarative Pull APIs - Provides a declarative pull API for retrieving deeply nested entity graphs and related data.
  • In-Memory Data Stores - Provides a high-performance in-memory data store for managing ephemeral application state.
  • In-Memory State Stores - Maintains application state in an immutable in-memory store to ensure low-latency interaction.
  • Logic Query Engines - Provides a logic query engine using Datalog to resolve complex data relationships through recursive rules and negation.
  • Entity Graph Fetching - Implements a declarative pull API to retrieve deeply nested entity graphs and related data structures.
  • Datalog Recursive Rules - Uses a Datalog engine to execute complex lookups including recursive rules and transitive closures.
  • Complex Search Querying - Supports advanced querying of application state using negation, disjunction, and recursive rules.
  • Graph Pull APIs - Offers a declarative pull API for extracting deeply nested entity graphs and customized result shapes.
  • Immutable Data Storage - Treats data as immutable values to create new database versions while preserving older ones.
  • Datomic-Style Immutable Stores - Implements a Datomic-style immutable store allowing for time-travel queries and consistent state snapshots.
  • EAVT Triple Stores - Implements a versioned database using an immutable EAVT (Entity-Attribute-Value-Transaction) triple store model.
  • Transactional State Versioning - Treats all data changes as additive to maintain a history of database snapshots via transactional state versioning.
  • Schema-Based Data Models - Enforces data integrity and lookup performance via schema-driven attribute types and unique identity constraints.
  • Atomic Transaction Execution - Supports grouping database updates into atomic transactions to ensure data consistency.
  • Database Schema Constraints - Enforces data integrity and lookup performance through defined attribute types and unique identity constraints.
  • Schema Querying - Allows finding entities that match specific attribute configurations by treating the schema definition as a queryable collection.
  • Database Transactions - Updates database state through atomic transactions supporting upserts and custom functions.
  • Custom Storage Implementations - Provides a protocol to route database reads and writes to custom external storage backends.
  • Pluggable Storage Engines - Decouples the in-memory database from the persistence layer through a pluggable storage engine interface.
  • B-Tree - Implements B-Tree attribute indexing to optimize value lookups and range queries within the state store.
  • B+ Tree Indexing - Utilizes B-tree indexing to speed up attribute lookups and range queries.
  • Incremental State Persistence - Minimizes storage overhead by persisting only modified portions of the database to the backend.
  • JavaScript Interoperability - Integrates with JavaScript engines to allow queries and transactions using standard arrays and objects.
  • Schema-Driven Validations - Validates data integrity and optimizes indexing by applying attribute types and uniqueness rules during transactions.
  • State Evolution Tracking - Records database changes to enable rewinding state and maintaining consistent snapshots.
  • Databases and Persistence - In-memory database and Datalog query engine.
  • Databases & Data - Immutable in-memory database with Datalog query capabilities.

Star 历史

tonsky/datascript 的 Star 历史图表tonsky/datascript 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Datascript 的开源替代方案

相似的开源项目,按与 Datascript 的功能重合度排序。
  • cozodb/cozocozodb 的头像

    cozodb/cozo

    3,880在 GitHub 上查看↗

    Cozo is a logic-based database engine that functions as a relational data store, an embedded graph database, and a temporal vector database. It utilizes a Datalog-inspired query language to execute relational, recursive, and graph queries. The system distinguishes itself through specialized indexing for high-dimensional vector similarity searches and near-duplicate detection using locality sensitive hashing. It also provides built-in temporal versioning, allowing for historical state retrieval and time-travel queries to access data as it existed at specific points in time. Its broader capabi

    Rustclient-servercozocozoscript
    在 GitHub 上查看↗3,880
  • tporadowski/redistporadowski 的头像

    tporadowski/redis

    9,987在 GitHub 上查看↗

    Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL database. It provides sub-millisecond read and write access to data stored in RAM and can operate as a vector database for indexing high-dimensional embeddings. The system supports a wide range of data storage and synchronization primitives, including the management of strings, hashes, lists, sets, and JSON documents. It enables real-time data operations through atomic transactions, hybrid persistence using snapshots and append-only logs, and high-availability configurations

    Credisredis-for-windowsredis-msi-installer
    在 GitHub 上查看↗9,987
  • tinyplex/tinybasetinyplex 的头像

    tinyplex/tinybase

    5,110在 GitHub 上查看↗

    TinyBase is a reactive data store and in-memory relational database designed for client-side state persistence. It serves as a local-first sync engine that merges distributed state using conflict-free replicated data types and logical clocks to ensure deterministic data convergence. The project features a schema validation library that converts external definitions from tools like Zod, Yup, and TypeBox into type-safe store definitions. It provides an infrastructure for real-time collaborative editing, utilizing synchronization with Automerge, Yjs, and PartyKit to maintain consistent state acr

    TypeScriptdatajavascriptreact
    在 GitHub 上查看↗5,110
  • pubkey/rxdbpubkey 的头像

    pubkey/rxdb

    23,048在 GitHub 上查看↗

    This project is a reactive, offline-first NoSQL database engine designed for JavaScript applications. It provides a robust framework for managing application state by synchronizing data across browsers, mobile devices, and server-side runtimes. By treating local storage as the primary source of truth, it enables applications to remain functional without network connectivity, automatically reconciling changes with remote backends once a connection is restored. The database distinguishes itself through a modular architecture that supports cross-environment synchronization and high-performance d

    TypeScriptangularbrowser-databasecouchdb
    在 GitHub 上查看↗23,048
查看 Datascript 的所有 30 个替代方案→

常见问题解答

tonsky/datascript 是做什么的?

Datascript 是一个不可变的、内存中的状态存储和基于模式的三元组存储。它将应用状态作为版本化数据库进行管理,将数据存储为由实体、属性、值和事务组成的不可变事实。

tonsky/datascript 的主要功能有哪些?

tonsky/datascript 的主要功能包括:Triple Stores, Logic-Based Relational Querying, Nested Entity Retrieval, Application State Management, Schema-Enforced Triple Stores, Declarative Pull APIs, In-Memory Data Stores, In-Memory State Stores。

tonsky/datascript 有哪些开源替代品?

tonsky/datascript 的开源替代品包括: cozodb/cozo — Cozo is a logic-based database engine that functions as a relational data store, an embedded graph database, and a… tporadowski/redis — Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL… tinyplex/tinybase — TinyBase is a reactive data store and in-memory relational database designed for client-side state persistence. It… pubkey/rxdb — This project is a reactive, offline-first NoSQL database engine designed for JavaScript applications. It provides a… mystenlabs/sui — Sui is a blockchain platform featuring an object-centric state model and resource-oriented smart contracts. It… typedb/typedb — TypeDB is a strongly-typed graph database and knowledge graph management system. It serves as a multi-model data store…