byjg/anydataset-nosql

Anydataset NoSQL standardizes the access to non-relational databases/repositories and provides a consistent interface for both NoSQL document databases and Key/Value stores.

Fund package maintenance!
byjg

Installs: 8 113

Dependents: 0

Suggesters: 0

Security: 0

Stars: 7

Watchers: 1

Forks: 2

Open Issues: 0

pkg:composer/byjg/anydataset-nosql

5.0.1 2024-12-17 15:58 UTC

This package is auto-updated.

Last update: 2025-11-25 14:25:20 UTC


README

Sponsor Build Status Opensource ByJG GitHub source GitHub license GitHub release

Anydataset NoSQL standardizes the access to non-relational databases/repositories and provides a consistent interface for both NoSQL document databases and Key/Value stores. The implementation supports:

  • MongoDB (document-based)
  • AWS DynamoDB (key/value)
  • S3-Like Storage (key/value)
  • Cloudflare KV (key/value)

Anydataset is an agnostic data source abstraction layer in PHP. See more about Anydataset here.

Features

  • Access both document-based and key/value repositories with consistent interfaces
  • NoSQL document-based databases accessed through NoSqlInterface
  • Key/Value stores accessed through KeyValueInterface
  • Unified connection string format based on URIs
  • Built-in caching capabilities with PSR-16 compatibility
  • Type-safe DynamoDB attribute definitions using enums

Connection Based on URI

The connection string for databases is based on URL.

See below the current implemented drivers:

Datasource Connection String
MongoDB mongodb://username:password@hostname:port/database
S3 s3://accesskey:secretkey@region/bucket?params
Cloudflare KV kv://username:password@accountid/namespaceid
AWS DynamoDB dynamodb://accesskey:secretkey@hostname/tablename?params

Documentation

NoSQL Drivers

  • MongoDB - Document-based NoSQL database

Key/Value Drivers

  • AWS DynamoDB - Key/Value store with type-safe attribute definitions
  • AWS S3 - Object storage as Key/Value store
  • Cloudflare KV - Cloudflare Workers KV storage

Additional Features

Install

Just type:

composer require "byjg/anydataset-nosql"

Dependencies

flowchart TD
   byjg/anydataset-nosql --> ext-curl
   byjg/anydataset-nosql --> aws/aws-sdk-php
   byjg/anydataset-nosql --> byjg/anydataset
   byjg/anydataset-nosql --> byjg/serializer
   byjg/anydataset-nosql --> byjg/webrequest
   byjg/anydataset-nosql --> byjg/cache-engine
   byjg/anydataset-nosql --> ext-json
Loading

Open source ByJG