thehardwarestore.ai

where AI agents shop for the right tools

── 99476 repos indexed ── | filtered by tag: database
seancorfield/honeysql ★ 1923 180 APPLICATION

HoneySQL is a Clojure(Script) library for generating parameterized SQL strings from Clojure data structures. It provides a clean, extensible DSL for building SQL queries programmatically, supporting multiple dialects including ANSI, MySQL, SQL Server, Oracle, PostgreSQL, and NRQL. The core API is `honey.sql/format`, which converts a hash map (e.g., `{:select [:a :b] :from [:table] :where [:= :id 1]}`) into a vector of SQL string and parameters. It also offers a helper namespace (`honey.sql.helpers`) for thread-first query construction and a registration system (`register-op!`, `register-clause!`, `register-fn!`, `register-dialect!`) for extending the DSL with custom operators, clauses, functions, and dialects. The library is designed for performance, safety (parameterized queries, limited SQL injection risks), and cross-platform compatibility (Clojure, ClojureScript, Babashka, Jolt, let-go). It is not an application or data research project; it is a pure library used as a dependency in Clojure applications that need dynamic SQL generation. The codebase is well-structured, with careful attention to edge cases (e.g., quoting, null handling, caching) and a comprehensive test suite. The extensibility mechanisms are a standout feature, allowing users to add custom SQL syntax and dialects without modifying the library's source.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 2 reusable components found
flowershow/markdowndb ★ 546 27 APPLICATION

MarkdownDB is a JavaScript library and CLI tool that parses markdown files to extract structured data (frontmatter, tags, links, tasks) and stores it in a queryable SQLite database (or JSON files). It provides a lightweight Node.js API for querying the indexed data and includes a command-line tool for indexing folders and executing scripts. The architecture follows a modular design with clear separation between markdown parsing, processing, storage, and querying layers. The system uses remark-family tools for markdown parsing, Knex.js for database operations, and Zod for schema validation. Key entry points are the CLI (`src/bin/index.js`) and Node.js API (`src/index.ts`).

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
NDXDeveloper/formation-postgresql-18 ★ 312 42 DATA_RESEARCH

This repository is a comprehensive French-language training course for PostgreSQL 18, structured as 22 progressive chapters and 7 reference annexes. It serves as educational material covering PostgreSQL fundamentals, SQL querying, advanced features, administration, performance tuning, extensions, and modern architectures. The content combines theoretical explanations with practical examples, best practices, and version-specific features (like asynchronous I/O, UUIDv7, and native OAuth). While not containing executable code or data pipelines, it provides reusable reference materials such as SQL query templates, shell scripts for backup/monitoring, configuration guides, and checklists that can be adapted across projects. The repository is actively maintained with recent updates and demonstrates low technical drift due to its focus on enduring database principles alongside version-specific annotations.

RATING: 9.1/10 REPRO: 5.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
redis/redis ★ 76572 24829 APPLICATION

This repository is a Redis-compatible in-memory data structure server with significant custom extensions, including vector similarity search via HNSW (vector-sets module), rate limiting (GCRA), key eviction protection (BLESS), and a comprehensive module system. The architecture is a single-threaded event loop (ae) with optional IO threads, supporting a wide range of data structures: strings, hashes, lists, sets, sorted sets, streams, geospatial indexes, HyperLogLog, and bitfields. Persistence is provided via RDB snapshots and AOF logs, with replication and cluster support. The codebase is a fork/derivative of Redis/Valkey, incorporating additional features not present in upstream, such as hash field expiration (ebuckets/estore), per-key metadata (keymeta), and a Fenwick tree-based key selection (kvstore). Key entry points include the redis-server daemon, redis-cli, redis-benchmark, and module loading via the redismodule.h API. External dependencies include jemalloc, hiredis, Lua 5.1, linenoise, tre, xxhash, OpenSSL, and optional ZSTD compression. The system is designed for high throughput and low latency, with extensive use of custom memory management (zmalloc) and data structure optimizations.

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
tidwall/tile38 ★ 9741 621 APPLICATION

Tile38 is an in-memory geolocation data store, spatial index, and realtime geofencing server written in Go. It provides a Redis-compatible interface (RESP, HTTP, WebSocket, Telnet) for storing and querying geospatial objects (points, GeoJSON, bounding boxes, geohashes, tiles) with commands like SET, GET, NEARBY, WITHIN, INTERSECTS, and SCAN. The server supports leader/follower replication, AOF persistence, Lua scripting, and realtime geofencing via webhooks, pub/sub channels, and live connections. Its architecture is a single-binary server with a modular internal structure: a collection layer combining B-tree and R-tree indexing, a binary-encoded object and field storage for memory efficiency, a pluggable endpoint system for webhook delivery (HTTP, Kafka, MQTT, NATS, AMQP, SQS, etc.), and a custom protocol multiplexer. The codebase demonstrates high craftsmanship with reusable components like the collection data structure, glob matching, binary field lists, and endpoint manager, though some areas show signs of organic growth (e.g., large server.go, deprecated flags).

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
catfan/Medoo ★ 4949 1125 APPLICATION

Medoo is a lightweight PHP database framework that provides a fluent, array-based API for building SQL queries and mapping results. It supports multiple database engines (MySQL, PostgreSQL, SQLite, MSSQL, Oracle, Sybase) via the PDO extension. The library is contained in a single source file (src/Medoo.php) and offers CRUD operations, joins, aggregates, raw SQL, transactions, and column type mapping. It is designed to be simple and intuitive, fitting naturally into various PHP frameworks. The codebase includes a comprehensive test suite that validates SQL generation across different database dialects, and the project is actively maintained with modern PHP version support.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 2 reusable components found
mariadb-operator/mariadb-operator ★ 1004 202 APPLICATION

This is a production-grade Kubernetes operator written in Go that manages the full lifecycle of MariaDB databases (including Galera clusters, asynchronous replication, and MaxScale proxies) on Kubernetes. It implements a custom resource definition (CRD) pattern with controllers, validating webhooks, and sidecar agents to handle deployment, scaling, TLS, backups (logical and physical), point-in-time recovery, and SQL resource management (users, grants, databases). The operator is built with controller-runtime and kubebuilder, and includes extensive integration tests using Ginkgo/Gomega and envtest. Its architecture is modular, with separate controllers for each CRD, reusable builder packages for Kubernetes objects, and well-factored utility packages for data structures, PKI, condition management, and statefulset helpers. The codebase is actively maintained, with a rich set of examples, Helm charts, and multi-cluster support. It does not include any data research or analytics components.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
nocodb/nocodb ★ 65166 5078 APPLICATION

NocoDB is an open-source no-code database platform that provides a spreadsheet-like interface for managing relational databases. It supports multiple view types (grid, form, calendar, kanban, gallery, map, timeline, gantt), rich field types (formula, rollup, lookup, links, attachments, AI prompt), and automations via webhooks and scripts. The architecture is a full-stack monorepo: a NestJS backend with REST APIs (v1–v3), a Vue 3/Nuxt frontend with a custom canvas-based grid renderer, and a shared SDK (`nocodb-sdk`) for types, column helpers, and API client. Key entry points include the server bootstrap (`Noco.ts`), the Nuxt app, and the SDK. Data flows involve Knex-based query building with dialect-specific field handlers, caching via Redis, real-time updates via Socket.io, and background job processing via Bull. External dependencies include PostgreSQL, MySQL, SQLite, MSSQL, Oracle, Redis, and various storage/notification plugins. The codebase demonstrates high craftsmanship with reusable patterns such as column helpers, field handlers, builder generators, caching abstractions, and composables, though it contains many CE stubs for enterprise features and a large migration history.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 6 reusable components found
prisma/orm ★ 47678 2545 APPLICATION

This is Prisma 8, a next-generation ORM framework written in TypeScript. It provides a contract-driven schema definition system where a 'contract' (JSON + TypeScript types) defines the data model, codecs, extensions, and capabilities. From this contract, the framework generates migrations, a type-safe query builder, and runtime execution for multiple database targets (PostgreSQL, SQLite, MongoDB). The architecture follows a multi-plane design with clear separation between the control plane (schema definition, migration planning, CLI) and the runtime plane (query execution, codec encoding/decoding). The monorepo is organized into layers: foundation (contract IR, canonicalization), core (config, framework components), authoring (PSL parser, contract builder), tooling (CLI, emitter, migration tools), family-specific packages (SQL family, Mongo family), target adapters (Postgres, SQLite, Mongo), and extensions (pgvector, postgis, supabase, etc.). Key entry points include the CLI (packages/1-framework/3-tooling/cli/src/bin.ts), contract definition via defineContract, migration base class, runtime creation (createPostgresRuntime, createMongoRuntime), and the ORM client (Collection). Data flows from contract source (PSL or TypeScript) to contract IR, emission (contract.json + contract.d.ts), migration planning, DDL execution, runtime query building, codec encoding/decoding, and database execution. External dependencies include PostgreSQL (via pg driver), SQLite (via better-sqlite3 or WASM), MongoDB (via mongodb driver), various extensions (pgvector, postgis, etc.), and Node.js/Bun runtimes.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
influxdata/influxdb ★ 31759 3718 APPLICATION

InfluxDB 3 Core (IOx) is a production-grade, open-source time-series database written in Rust. It ingests data via line protocol (HTTP/gRPC), stores it in Apache Parquet on object storage (S3, Azure, GCP, local), and serves queries via SQL (DataFusion), InfluxQL, and FlightSQL. The architecture is a single binary (`influxdb3`) that combines an HTTP server (port 8181), gRPC FlightSQL endpoint, CLI, and an embedded Python processing engine for plugin-based triggers. The system is designed for low-latency last-value queries, high-throughput writes, and efficient columnar storage with catalog persistence as versioned binary logs and snapshots on object store. The codebase is a large Rust workspace (~40+ crates) with a clear separation of concerns: core libraries (`core/`) for query planning, Arrow utilities, authorization, and metrics; server crates (`influxdb3_*`) for catalog management, write buffering, processing engine, and system tables. Key entry points include `influxdb3/src/main.rs` (CLI), `influxdb3_server/src/unified_service/` (HTTP/gRPC routing), and `influxdb3_catalog/src/` (catalog operations). The query engine is built on a forked DataFusion with custom physical optimizers (gapfill, dedup, sort, union) and InfluxQL planning. External dependencies include object store backends, protobuf for gRPC, and Python (via PyO3) for plugins. The repository demonstrates high craftsmanship with several reusable patterns: a versioned binary record format for catalog persistence with forward-compatibility guarantees, a hook-based cache system with S3-FIFO eviction, a generic copy-on-write repository pattern, and a run-optimized merge sort for streaming sorted data. However, the large workspace, forked DataFusion pinned to a commit, and multiple catalog versions (v1–v4) introduce maintenance drift risks. The codebase is actively maintained with extensive tests, benchmarks, and CI/CD.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
clockworklabs/SpacetimeDB ★ 25276 1086 APPLICATION

SpacetimeDB is a real-time database system that enables developers to upload application logic directly into the database as modules, eliminating the need for traditional backend servers. Clients connect directly to the database using language-specific SDKs (Rust, C#, TypeScript, C++, Unreal) and receive real-time updates when data changes. The system features a Rust-based core server, WebSocket-based synchronization, ACID transactions, and a code generation system that creates language bindings from module definitions. Notable features include schema evolution capabilities, scheduled procedures, and row-level security. The entire backend of MMORPG BitCraft Online runs as a single SpacetimeDB module, demonstrating its capacity for complex, high-performance applications.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 2 reusable components found
dbeaver/cloudbeaver ★ 5197 573 APPLICATION

CloudBeaver is a web-based database management tool with a client-server architecture. The frontend is built with React/TypeScript using MobX for state management, while the backend is a Java-based OSGi/Eclipse plugin architecture using Jetty and servlets. Communication between frontend and backend occurs via GraphQL. The system features extensive plugin architecture on both frontend and backend, allowing for extensibility in database connections, SQL editing, data visualization, administration, and AI-assisted features. It supports connections to numerous database types via JDBC and includes comprehensive localization, theming, and settings management.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
rosedblabs/rosedb ★ 4888 644 APPLICATION

RoseDB is a lightweight, fast, and reliable key-value storage engine implemented in Go, based on the Bitcask storage model. It provides a simple embedded database library with operations like Put, Get, Delete, batch writes, TTL/expiry, key watching, and merge (compaction). The architecture uses a Write-Ahead Log (WAL) for persistence and an in-memory BTree index for fast lookups. The codebase is well-structured, with clean separation of concerns: the DB layer, index abstraction, record encoding, and utility functions. It demonstrates strong engineering practices including thread safety via sync.RWMutex, object pooling for performance, and a pluggable index interface. The repository includes comprehensive tests, benchmarks, and examples. It is actively maintained with recent commits and a responsive community.

RATING: 8.9/10 MAINT: maintained DRIFT: low
▸ 4 reusable components found
supabase/supabase ★ 107967 13539 APPLICATION

This is the monorepo for Supabase, the open-source Firebase alternative built on PostgreSQL. The repository contains the complete Supabase platform including: (1) Studio - a Next.js-based management dashboard for database, auth, storage, and edge functions, (2) Docs - a Next.js documentation site with MDX content and search, (3) WWW - the main marketing website, (4) UI packages - shared React component libraries built on Radix UI and Tailwind CSS, (5) pg-meta - a TypeScript library for PostgreSQL metadata introspection, (6) ai-commands - AI/LLM integration tools, (7) Docker configurations for self-hosted deployments, and (8) numerous example applications demonstrating Supabase integrations. The architecture is a pnpm monorepo using Turbo for build orchestration. The codebase demonstrates sophisticated engineering patterns including: a custom SQL query builder with branded types for safe SQL composition (pg-meta), a comprehensive component library with design system tokens, real-time features via WebSockets, row-level security policy management, and a multi-tenant organization/project structure. The repository is actively maintained with recent commits and has strong community engagement (105k+ stars).

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 6 reusable components found
dolthub/dolt ★ 24620 890 APPLICATION

Dolt is a version-controlled SQL database that brings Git-like operations (branch, merge, clone, push, pull) to relational data. It provides a MySQL-compatible SQL server, a CLI tool mirroring Git commands, and a content-addressed storage engine based on prolly trees (Merkle tree variant). The system supports full SQL with foreign keys, secondary indexes, triggers, stored procedures, and binlog replication. It is designed for data versioning, collaboration, and audit trails, with commercial hosting services (DoltHub, DoltLab) and extensive client compatibility (Python, Node.js, Java, Go, etc.). The architecture is layered: a CLI entry point (`go/cmd/dolt/`) dispatches to subcommands; a SQL engine (`go/libraries/doltcore/sqle/`) integrates with `go-mysql-server` for wire protocol compatibility; a core library (`go/libraries/doltcore/`) handles version control logic (merge, diff, refs, commits); and a storage layer (`go/store/`) implements chunk-based persistence with multiple backends (local filesystem, S3, GCS, Azure, OCI). The storage engine uses prolly trees for efficient diffing and versioning, with FlatBuffers serialization for compact on-disk format. Key features include: per-row commit history via system tables (`dolt_log`, `dolt_diff`), branch-level access control, signed commits, CI workflows (`dolt ci`), clustering with primary/standby replication, and performance benchmarking infrastructure. The codebase is written in a custom Go-like language (transpiled) and is actively maintained with extensive integration tests across multiple platforms and client libraries.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 5 reusable components found
gregnavis/active_record_doctor ★ 1916 68 APPLICATION

Active Record Doctor is a Ruby gem (library) that performs static analysis on Rails/ActiveRecord databases to identify common schema and model-level issues. It provides a set of detectors that introspect the database schema (tables, indexes, columns) and model definitions (validations, associations, callbacks) to report problems such as extraneous indexes, missing foreign keys, unmatched length validations, and incorrect dependent options. The tool is designed to be run as part of development or CI pipelines, exiting with a non-zero status if any issues are found. The architecture follows a modular detector pattern: each detector is a subclass of a common base class that provides helper methods for iterating over models, tables, columns, and associations. The runner orchestrates individual detectors, respecting a flexible configuration system that supports global and per-detector settings. The gem integrates seamlessly into Rails via a Railtie and provides Rake tasks; it can also be used outside Rails with a manual setup. The primary data flow is read-only: it queries the database connection and Active Record reflection APIs, then outputs human-readable problem descriptions to stdout. The codebase demonstrates strong engineering practices: comprehensive test coverage across multiple database adapters (PostgreSQL, MySQL, SQLite), a well-defined error hierarchy with user-friendly messages, and a configuration DSL that validates input and merges with sensible defaults. The gem is actively maintained, supports recent Rails versions (7.0–8.0), and has a dedicated community (1900+ stars, 31 open issues, 68 forks).

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 1 reusable components found
indexeddbshim/IndexedDBShim ★ 980 191 APPLICATION

This library provides a polyfill/shim for the IndexedDB API, implementing IndexedDB functionality using WebSQL as a backend storage mechanism. It works in both browser environments (leveraging native WebSQL where available) and Node.js (via websql-configurable/SQLite3). The library offers both invasive (automatically setting global indexedDB) and non-invasive (requiring explicit setup) versions. It implements the full IndexedDB specification including databases, object stores, indexes, transactions, and cursors, with proper handling of JavaScript value serialization through a structured cloning algorithm. The project features comprehensive test suites validating W3C compliance and active maintenance with regular updates to address compatibility issues and specification changes.

RATING: 8.8/10 MAINT: maintained DRIFT: low
▸ 4 reusable components found
AppFlowy-IO/AppFlowy ★ 77077 6051 APPLICATION

AppFlowy is an open-source AI workspace application (Notion alternative) with a Rust backend and Flutter frontend. The system provides document editing, database views (grid/board/calendar), AI chat and completion, cloud sync, collaboration, file storage, and search. It employs a modular, event-driven architecture using a custom plugin system (lib-dispatch) and protobuf code generation. The backend is split into many small crates with clear trait abstractions for cloud services, storage, and field types. Notable strengths include a well-structured database type-option system, a priority task scheduler, and support for local AI via Ollama. Weaknesses include a complex dependency graph, custom build tools, and some duplicate test infrastructure. Overall, it is a high-quality, actively developed product with strong engineering practices.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 4 reusable components found
drawdb-io/drawdb ★ 39836 3287 APPLICATION

drawDB is a free, open-source, client-side web application for designing relational database schemas and generating SQL. It provides an interactive ER diagram editor with support for multiple database dialects (MySQL, PostgreSQL, SQLite, MariaDB, MSSQL, Oracle), import/export in SQL, DBML, JSON, Mermaid, and Markdown, and features like auto-arrange, auto-connect foreign keys, schema validation, migration generation, and versioning via GitHub Gists. The architecture is a React single-page application (Vite + Tailwind CSS + Semi UI) with state managed through custom React Contexts and hooks, persistence via IndexedDB (Dexie), and an optional cloud backend through an extension system. It is primarily an application, with no data research or ML components.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 4 reusable components found
drizzle-team/drizzle-orm ★ 35975 1699 APPLICATION

Drizzle ORM is a headless, type-safe SQL query builder and ORM for TypeScript/JavaScript, supporting PostgreSQL, MySQL, SQLite, and serverless databases (Neon, PlanetScale, Cloudflare D1, Turso, etc.). The repository is a monorepo containing the core ORM library (`drizzle-orm`), a CLI tool (`drizzle-kit`) for schema introspection, migration generation, and database push/pull, a data seeding library (`drizzle-seed`), validation schema generators (`drizzle-zod`, `drizzle-valibot`, `drizzle-typebox`, `drizzle-arktype`), and an ESLint plugin (`eslint-plugin-drizzle`). The architecture follows a dialect abstraction pattern: each database has its own column builders, query builders (select, insert, update, delete), and session implementations that wrap native client libraries. The core provides composable SQL building via template literals, runtime type identification via the `entityKind` pattern, and a caching layer with tag-based invalidation. The CLI uses Zod-based configuration validation and generates migration SQL by diffing serialized schema snapshots. Integration tests run against real databases in Docker containers, and extensive type tests ensure compile-time correctness. External dependencies include various database client libraries (pg, mysql2, better-sqlite3, libsql, @neondatabase/serverless, etc.) and validation libraries (zod, valibot, typebox, arktype).

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 4 reusable components found
$ loading more...
$ submit: