TinyDB - Introduction



What is TinyDB?

TinyDB, written in pure Python programming language, is a small and lightweight document-orineted database with no external dependencies. It provides simple APIs that makes it easy to use. We can use TinyDB database for small project applications without any configuration.

TinyDB module, available as a third-party module for Python programs, can be used to store, retereive, and modify the data in JSON format.

Features of TinyDB

TinyDB is a clean and hustle-free database to operate several formats of documents. It has the following features.

  • Really tiny − TinyDB database is truly tiny in nature with only 1800 lines of code and 1600 lines tests.

  • Easy to use − TinyDB is easy to use because of its simple and clean APIs.

  • Document oriented − In TinyDB, we can store any document. The document will be represented as dict.

  • Independent − The TinyDB database is independent of any external server and external dependencies from PyPI.

  • Compatible with Python 3.6 or latest − TinyDB is tested and compatible with Python 3.6 and latest. It also works fine with PyPY3.

  • Extensible − TinDB is easily extensible either by writing new storages or by modifying the behaviour of storages.

Advantages of TinyDB

TinyDB provide various benefits for students, users, and developers.

  • TinyDB is open-sourced database aand it does not require any external configirations.

  • It is quite easy-to-use, and the user can effortlessly handle documents.

  • It automatically stores documents in the database.

  • TinyDB is ideal in case of personal projects where we need to install some data.

  • It is suitable for small applications that would be blown away by large databases like SQL or an external DB server.

  • It uses a simple command line and query to operate data.

  • There is 100% test coverage i.e., no explanation needed.

Limitatations of TinyDB

TinyDB will not be the right choice for your project if you need to −

  • create indexes for tables,

  • manage relationships between tables,

  • use an HTTP server, or

  • access from multiple processors.

Comparison with Other Databases

The following table highlights how TinyDB is different from MySQL and Oracle databases −

Comparison Basis MySQL Oracle TinyDB
Configurations Several Configurations Several Configurations Less Configurations, lightweight database
Complicated Yes Yes No, easy-to-use and hustle-free
Affordable No No Affordable than other databases
Manageable Big database, hence difficult to manage Big database, hence difficult to manage Small and manageable
Advertisements