# isar/hive

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/isar-hive).**

4,390 stars · 450 forks · Dart · Apache-2.0

## Links

- GitHub: https://github.com/isar/hive
- awesome-repositories: https://awesome-repositories.com/repository/isar-hive.md

## Topics

`dart` `database` `encryption` `flutter` `hive` `key-value` `nosql`

## Description

Hive is a lightweight NoSQL key-value database written in pure Dart for local data persistence. It functions as a type-safe document store that allows for the saving and retrieval of complex data structures and custom objects.

The system distinguishes itself through the use of custom adapters for object serialization and symmetric-key encryption to secure data at rest. For web environments, it provides a persistence layer that wraps IndexedDB and utilizes web workers.

The project covers broad capability areas including container management, atomic transactional writes, and indexed data retrieval. It supports offloading database operations to background isolates to maintain user interface responsiveness and allows for the initialization of storage containers via pre-populated binary assets.

## Tags

### Data & Databases

- [Key-Value Stores](https://awesome-repositories.com/f/data-databases/key-value-stores.md) — Functions as a lightweight, non-relational key-value persistence store written in pure Dart.
- [Key-Value](https://awesome-repositories.com/f/data-databases/storage-engines/key-value.md) — Implements a high-performance NoSQL key-value store that organizes data into named boxes.
- [Complex Data Types](https://awesome-repositories.com/f/data-databases/complex-data-types.md) — Supports storing non-scalar data structures such as lists and maps while maintaining data integrity. ([source](https://github.com/isar/hive/blob/main/CHANGELOG.md))
- [Application Key-Value Stores](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-persistence-storage/data-storage/client-side-persistence/local-storage-solutions/application-key-value-stores.md) — Provides a local key-value store for persisting application-specific state and configuration on the device.
- [Client-Side Data Persistence](https://awesome-repositories.com/f/data-databases/data-management/state-context-management/client-side-data-persistence.md) — Provides local persistence of user preferences and application state on a device across restarts.
- [Custom Serializer Implementations](https://awesome-repositories.com/f/data-databases/data-type-managers/dynamic-type-managers/custom-type-serializers/custom-serialization-interfaces/custom-serializer-implementations.md) — Saves non-primitive objects by implementing custom serialization logic to convert data into storable formats. ([source](https://github.com/isar/hive#readme))
- [Key Retrievals](https://awesome-repositories.com/f/data-databases/key-value-data-manipulation/key-lookups-by-value/key-retrievals.md) — Fetches specific values using unique keys or numerical positions to locate data quickly. ([source](https://github.com/isar/hive#readme))
- [Local Storage Container Management](https://awesome-repositories.com/f/data-databases/local-storage-container-management.md) — Provides tools to create, open, and delete named storage boxes with custom directory paths. ([source](https://github.com/isar/hive/blob/main/README.md))
- [Schema-less Storage Engines](https://awesome-repositories.com/f/data-databases/schema-less-model-integrations/schema-less-storage-engines.md) — Implements a schema-less storage engine allowing the retrieval of complex data structures and custom objects.
- [Type-Safe Local Storage](https://awesome-repositories.com/f/data-databases/type-safe-data-abstractions/type-safe-local-storage.md) — Restricts storage containers to specific types to ensure only compatible values are saved and retrieved. ([source](https://github.com/isar/hive#readme))
- [Isolate-Based Data Access](https://awesome-repositories.com/f/data-databases/acid-transactional-cores/concurrent-read-write-transactions/exclusive-write-access/read-write-lock-shared-data-protection/isolate-based-data-access.md) — Supports reading and writing to the database from background isolates to prevent blocking the main UI thread. ([source](https://github.com/isar/hive/blob/main/CHANGELOG.md))
- [Asynchronous Database Command Execution](https://awesome-repositories.com/f/data-databases/asynchronous-database-command-execution.md) — Executes database operations asynchronously to ensure the user interface remains responsive. ([source](https://github.com/isar/hive#readme))
- [Application Data Caches](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/caching-performance/caching/memcached/application-data-caches.md) — Caches complex objects and API responses in a local database to reduce network requests.
- [IndexedDB Storage](https://awesome-repositories.com/f/data-databases/data-management/state-context-management/client-side-data-persistence/indexeddb-storage.md) — Provides a persistence layer that maps key-value operations to the browser-native IndexedDB storage system.
- [IndexedDB Wrappers](https://awesome-repositories.com/f/data-databases/database-management-systems/database-systems-management/database-systems/database-wrappers/indexeddb-wrappers.md) — Offers a simplified interface wrapping the browser-native IndexedDB API for efficient web persistence.
- [Persistent Application State](https://awesome-repositories.com/f/data-databases/persistent-application-state.md) — Maintains application state and data across browser sessions by leveraging IndexedDB and web workers.

### Security & Cryptography

- [Symmetric Encryption](https://awesome-repositories.com/f/security-cryptography/symmetric-encryption.md) — Secures storage containers by encrypting data at rest using a shared symmetric secret key.
- [Encrypted Database Managers](https://awesome-repositories.com/f/security-cryptography/data-encryption/encrypted-database-managers.md) — Provides an encrypted database manager that secures local storage files using cryptographic standards.
- [At-Rest File Encryptions](https://awesome-repositories.com/f/security-cryptography/privacy-data-protection/data-encryption/end-to-end-encryption/encrypted-file-synchronization/at-rest-file-encryptions.md) — Encrypts storage containers on disk to ensure data privacy and protection at rest. ([source](https://github.com/isar/hive#readme))
- [Secure Storage](https://awesome-repositories.com/f/security-cryptography/secure-storage.md) — Implements encrypted storage for sensitive data using symmetric-key encryption to protect information at rest.

### Software Engineering & Architecture

- [Atomic Transaction Grouping](https://awesome-repositories.com/f/software-engineering-architecture/atomic-transaction-grouping.md) — Groups multiple data modifications into single atomic units to ensure database consistency during failures.
- [Serialization Adapters](https://awesome-repositories.com/f/software-engineering-architecture/serialization-adapters.md) — Implements modular adapters to convert complex Dart objects into binary formats for efficient local storage.
- [Worker Thread Patterns](https://awesome-repositories.com/f/software-engineering-architecture/worker-thread-patterns.md) — Offloads database operations to background isolates to prevent blocking the main user interface thread.

### Game Development

- [Database](https://awesome-repositories.com/f/game-development/asset-loading/database.md) — Allows opening pre-populated storage containers bundled within application assets for immediate use. ([source](https://github.com/isar/hive/blob/main/CHANGELOG.md))

### Web Development

- [Database Asset Loading](https://awesome-repositories.com/f/web-development/web-infrastructure-deployment/asset-management-build-tools/asset-loading-resolution/binary-asset-loading/database-asset-loading.md) — Provides the ability to open pre-populated storage containers bundled within application assets for immediate use.
- [Web Storage Utilities](https://awesome-repositories.com/f/web-development/web-storage-utilities.md) — Optimizes web persistence by integrating IndexedDB and Web Workers for improved performance. ([source](https://github.com/isar/hive/blob/main/CHANGELOG.md))
