Immutable key/value store with efficient space utilization and fast reads, ideal for batch-built tables shipped to multiple servers.
Indeed MPH Table is a Java-based immutable key/value store that uses minimal perfect hashing to achieve efficient space utilization and fast read operations. It is designed for use cases where tables are built by batch processes and then distributed to multiple servers for read-only access, separating write and read phases to optimize performance.
Developers and engineers working on distributed systems, batch processing pipelines, or applications that require efficient, read-optimized storage of large immutable datasets, particularly in Java environments.
It offers a specialized solution for immutable data storage with minimal memory overhead and fast lookups, making it ideal for scenarios where data is precomputed and shared across servers without the need for modifications.
Immutable key/value store with efficient space utilization and fast reads. They are ideal for the use-case of tables built by batch processes and shipped to multiple servers.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses minimal perfect hashing to reduce memory footprint, as highlighted in the README's focus on efficient space utilization for large datasets.
Optimized for quick key lookups and iteration, ideal for read-heavy workloads, demonstrated by the fast reads feature in the README.
Designed for offline table construction via batch processes, separating writes and reads to optimize performance, as per the philosophy section.
Supports configurable serializers for keys and values, including complex types like lists and dictionaries, shown in the command-line examples with nested serializers.
Provides both a Java library for programmatic access and command-line interfaces for easy table creation and inspection without coding, as mentioned in the usage section.
The project is archived by Indeed, meaning no further updates, bug fixes, or community support, which is a critical limitation for production use.
Limited to Java environments, with no support for other languages or cross-platform compatibility, restricting its use in polyglot systems.
Requires careful configuration of serializers for custom types, which can be error-prone and add overhead, as seen in the command-line examples with nested serializer specifications.
Tables are immutable once built, making it unsuitable for applications that require data modifications or real-time updates, a trade-off admitted in the design philosophy.