[FREE]
BigDB
Advanced key-value storage with TTL, metadata, multi-table support, encryption and more.
Extension specifications
| Package | in.sarthakdev.bigdb |
| Version | 2.0 |
| Price | Free |
| Category | Data |
| Updated | 18 September 2026 |
| Platforms | MIT App Inventor, Kodular, Niotron, Android Builder, Thunkable |
| Built using | FAST |
| Store | BigDB Extension - Data Extension for MIT App Inventor, Kodular, Niotron | SarthakDev.in |
About
Local SQLite-backed key-value store with tables, TTL, metadata, encryption, and async reads. Use a queryId on Get so the matching Got event is easy to bind.
Features
- Multiple table support
- Time-to-live (TTL) for automatic data expiration
- Metadata and tagging system
- Built-in encryption for sensitive data
- Advanced query and filtering
- Batch operations
- Export and import functionality
- Better performance than TinyDB
Events
Got
Fires when a value is retrieved
- queryId (
text) β Id you pass so the matching event can be told apart. - value (
text)
Key List
Fires when a key list is returned
- queryId (
text) β Id you pass so the matching event can be told apart. - keys (
any)
Data Changed
Fires when data changes in the current table
Error Occurred
Fires when an error occurs
- message (
text)
Random Key Retrieved
Fires when a random key is retrieved
- queryId (
text) β Id you pass so the matching event can be told apart. - key (
text)
Expired Keys Retrieved
Fires when expired keys are retrieved
- queryId (
text) β Id you pass so the matching event can be told apart. - keys (
any)
Table Size Retrieved
Fires when the table size is retrieved
- queryId (
text) β Id you pass so the matching event can be told apart. - size (
number)
Methods
Enable Auto Cleanup
Enable or disable auto-cleanup of expired records at the specified interval (in seconds). Set interval to 0 to disable.
- intervalSeconds (
number)
Purge Expired
Purge expired keys from the current table
Set Password
Set database encryption password (PRAGMA key)
- pwd (
text)
Remove Password
Remove encryption (PRAGMA rekey to empty)
Is Encrypted
Check if database is encrypted
Returns boolean.
Store
Store a value for a key with optional TTL and metadata
- key (
text) - value (
text) - useTTL (
boolean) - ttlSeconds (
number) - metadata (
text)
Get
Get the value for a key asynchronously
- key (
text) - queryId (
text) β Id you pass so the matching event can be told apart.
Delete
Delete a key
- key (
text)
Clear
Clear all data in the current table
Rename Key
Rename a key
- oldKey (
text) - newKey (
text)
Bulk Store
Store multiple key-value pairs
- keys (
list) - values (
list)
Bulk Delete
Delete multiple keys
- keys (
list)
Keys
List all keys in the current table asynchronously
- queryId (
text) β Id you pass so the matching event can be told apart.
Exists
Check if a key exists
Returns boolean.
- key (
text)
Get Record
Get full record as JSON asynchronously
- key (
text) - queryId (
text) β Id you pass so the matching event can be told apart.
Find By Metadata
Find keys by metadata substring asynchronously
- query (
text) - queryId (
text) β Id you pass so the matching event can be told apart.
Expire
Set expiry time in seconds for a key
- key (
text) - seconds (
number)
Set Metadata
Set metadata for a key
- key (
text) - metadata (
text)
Get Metadata
Get metadata for a key
Returns text.
- key (
text)
Get TTL
Get remaining TTL in seconds for a key (0 if none or expired)
Returns number.
- key (
text)
Get Random Key
Get a random key from the current table asynchronously
- queryId (
text) β Id you pass so the matching event can be told apart.
Get Expired Keys
Get all expired keys from the current table asynchronously
- queryId (
text) β Id you pass so the matching event can be told apart.
Set Bulk Expiry
Set the same TTL for multiple keys
- keys (
list) - seconds (
number)
Copy Table
Copy the current table to a new table
- targetTable (
text)
Merge Tables
Merge records from source table into current table
- sourceTable (
text) - conflictStrategy (
text)
Get Table Size
Get an estimated size of the current table asynchronously
- queryId (
text) β Id you pass so the matching event can be told apart.
Rename Table
Rename the current table
- newName (
text)
Delete Table
Delete a table
- tableName (
text)
Check Table Exists
Check if a table exists
Returns boolean.
- tableName (
text)
Delete Database
Delete all tables in the database
Export CSV
Export current table as CSV to the specified file path. If filePath is empty, uses the app's external files directory.
- filePath (
text) β Absolute path to the file on the device.
Import CSV
Import data into current table from CSV
- filename (
text)
Export JSON
Export current table as JSON string
Returns text.
Import JSON
Import data into current table from JSON
- json (
text)
Count
Get total record count in current table
Returns number.
DBSize
Get database file size in bytes
Returns number.
List Tables
List all tables in database
Returns any.
Watch
Watch changes to a key in the current table
- key (
text) - queryId (
text) β Id you pass so the matching event can be told apart.
Unwatch
Stop watching changes to a key
- key (
text) - queryId (
text) β Id you pass so the matching event can be told apart.
More blocks
Get the AIX
Download the AIX from the store, then import from Projects β Import extension.
Built by Sarthak Gupta Β· hi@sarthakdev.in Β· sarthakdev.in









































