Database

TinyDB – lightweight document database

TinyDB is a lightweight document-oriented database for applications that need straightforward local storage. It provides a compact database interface without requiring a separate server or external database infrastructure.

The database stores records as documents represented by dictionaries. Documents are organised into tables, but unlike relational database tables, they do not require a fixed set of fields.

TinyDB normally stores its data in JSON files. This makes the database suitable for scripts, small utilities and applications where records need to be persisted in a format that can also be inspected with a text editor.

The software includes a query interface for selecting records using comparisons and logical conditions. Developers can combine queries to retrieve documents matching more complex criteria.

TinyDB also supports alternative storage implementations and middleware. These allow developers to change how data is persisted or introduce additional behaviour around database operations.

It is intended for relatively small workloads. Applications requiring substantial concurrent access, large datasets or complex transactions are generally better served by a more capable database engine.

This is free and open source software.

Key Features

  • Schemaless document storage.
  • JSON-based persistence.
  • Multiple logical tables within a database.
  • Document insertion, retrieval, updating and deletion.
  • Query expressions using field comparisons.
  • Logical operators for combining query conditions.
  • Document retrieval by identifier.
  • In-memory storage backend.
  • Custom storage implementations.
  • Middleware for extending storage behaviour.
  • Query result caching.
  • Bulk document operations.

Website: github.com/msiemens/tinydb
Support:
Developer: Markus Siemens
License: MIT License

TinyDB is written in Python. Learn Python with our recommended free books and free tutorials.


Related Software

Document-Oriented Databases
SurrealDBScalable, distributed, collaborative, document-graph database
CouchbaseDistributed key-value database management system
CouchDBScalable, fault-tolerant, and schema-free written in Erlang
ArangoDBNative multi-model database
eXist-dbDatabase management system entirely built on XML technology
RethinkDBScalable database built for realtime applications
BaseXXML database engine
OrientDBDocument Database supporting ACID Transactions, SQL and Native Queries
AerospikeKey-Value Store and high performance real-time NoSQL (flex-schema) database
RavenDBFully-transactional NoSQL ACID database
FerretDBDatabase proxy that offers an open-source alternative to MongoDB
DocumentDBMongoDB-compatible document database engine
JackrabbitOpen-source content repository for Java
TerminusDBKnowledge graph and document store
KintoMinimalist JSON storage service
CrateDBDistributed SQL database management

Read our verdict in the software roundup.


Best Free and Open Source Software LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.

We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more.

Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion.

Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted