🧩 BigDB
Extension for MIT AI2BigDB - Advanced key-value storage with TTL, metadata, multi-table support, encryption, and more
My Other Extensions
Built by Sarthak Gupta
BigDB is a feature-rich, scalable, and secure alternative to TinyDB, designed for complex App Inventor projects. Its support for multi-table storage, TTL, encryption, asynchronous operations, and advanced querying makes it ideal for modern, data-intensive applications. Whether you’re building a secure app, managing large datasets, or needing real-time notifications, BigDB provides the tools to elevate your App Inventor projects! ![]()
Benefits of BigDB vs. TinyDB in App Inventor 
BigDB (com.bigdb) is a powerful key-value storage extension for App Inventor, offering advanced features that surpass the capabilities of TinyDB. Below are the key advantages of using BigDB, with comparisons to TinyDB:
| Feature | BigDB | TinyDB | Benefit |
|---|---|---|---|
| Multi-Table Support |
Supports multiple tables for organized data (SetTable). |
Single namespace only. | Better data organization and scalability. |
| TTL (Time-to-Live) |
Set expiration times (Expire, PurgeExpired). |
No TTL support. | Automates data lifecycle management. |
| Metadata Support |
Store and query metadata (SetMetadata, FindByMetadata). |
No metadata support. | Enhances data searchability and context. |
| Encryption |
Database encryption (SetPassword, IsEncrypted). |
No encryption. | Protects sensitive data. |
| Asynchronous Operations |
Async data retrieval (Get, Keys). |
Synchronous operations. | Improves app responsiveness. |
| Bulk Operations |
Bulk store/delete (BulkStore, BulkDelete). |
Individual operations only. | Speeds up large dataset management. |
| Data Import/Export |
CSV and JSON support (ExportCSV, ImportJSON). |
No built-in import/export. | Simplifies data portability. |
| Change Notifications |
Watch key changes (Watch, Unwatch). |
No notifications. | Enables reactive programming. |
| Advanced Querying |
Query by metadata, JSON records (FindByMetadata, GetRecord). |
Basic key-value retrieval. | Supports complex data operations. |
| Database Management |
Check size, list tables (DBSize, ListTables). |
No such utilities. | Improves storage monitoring. |
| Indexing |
Automatic key indexing for faster lookups. | No indexing. | Enhances query performance. |
| Error Handling |
Robust error reporting (ErrorOccurred). |
Limited error feedback. | Simplifies debugging and reliability. |
Specifications
Package: com.bigdb
Size: 33.66 KB
Version: 1.0
Minimum API Level: 7- License: Free Extension License
Updated On: 2025-05-25
Built & documented using: FAST-CLI v3.4.0
Blocks


![]()
![]()

![]()




Events:
BigDB has total 4 events.
DataChanged
Fires when data changes in the current table
ErrorOccurred
Fires when an error occurs
| Parameter | Type |
|---|---|
| message | text |
Got
Fires when a value is retrieved
| Parameter | Type |
|---|---|
| queryId | text |
| value | text |
KeyList
Fires when a key list is returned
| Parameter | Type |
|---|---|
| queryId | text |
| keys | any |
Methods:
BigDB has total 28 methods.
BulkDelete
Delete multiple keys
Parameters:
keys(list)
BulkStore
Store multiple key-value pairs
Parameters:
keys(list)values(list)
Clear
Clear all data in the current table
Count
Get total record count in current table
DBSize
Get database file size in bytes
Delete
Delete a key
Parameters:
key(text)
Exists
Check if a key exists
Parameters:
key(text)
Expire
Set expiry time in seconds for a key
Parameters:
key(text)seconds(number)
ExportCSV
Export current table as CSV to the specified file path
Parameters:
filePath(text)
ExportJSON
Export current table as JSON string
FindByMetadata
Find keys by metadata substring asynchronously
Parameters:
query(text)queryId(text)
Get
Get the value for a key asynchronously
Parameters:
key(text)queryId(text)
GetMetadata
Get metadata for a key
Parameters:
key(text)
GetRecord
Get full record as JSON asynchronously
Parameters:
key(text)queryId(text)
GetTTL
Get remaining TTL in seconds for a key
Parameters:
key(text)
ImportCSV
Import data into current table from CSV
Parameters:
filename(text)
ImportJSON
Import data into current table from JSON
Parameters:
json(text)
IsEncrypted
Check if database is encrypted
Keys
List all keys in the current table asynchronously
Parameters:
queryId(text)
ListTables
List all tables in database
PurgeExpired
Purge expired keys from the current table
RemovePassword
Remove encryption (PRAGMA rekey to empty)
RenameKey
Rename a key
Parameters:
oldKey(text)newKey(text)
SetMetadata
Set metadata for a key
Parameters:
key(text)metadata(text)
SetPassword
Set database encryption password
Parameters:
pwd(text)
Store
Store a value for a key with optional TTL and metadata
Parameters:
key(text)value(text)useTTL(boolean)ttlSeconds(number)metadata(text)
Unwatch
Stop watching changes to a key
Parameters:
key(text)queryId(text)
Watch
Watch changes to a key in the current table
Parameters:
key(text)queryId(text)
Setter:
BigDB has total 1 setter property.
SetTable
Set the current table to operate on
Input type: text
Download the extension! 
This is a big project and I am making it available for free to the community. If you like my work please support here. It will make my day ![]()
BigDB V1 (1.0)- Released on 25/02/25
Please share any feedback below! I will be happy to answer any questions. My other extensions are available here.
https://github.com/techxsarthak/BigDB
Regards,
Sarthak Gupta