|
1 | | -# ***Blue Crab Database by Fossil Logic*** |
| 1 | +# ***Blue Crab by Fossil Logic*** |
2 | 2 |
|
3 | | -CrabDB is a lightweight, portable key-value database designed to offer fast and efficient data storage in a user-friendly format. Available in two distinct interfaces—**MyShell** and **NoShell**—CrabDB tailors its experience to fit various use cases, from those who prefer a SQL-like syntax to those who prefer raw, key-based access. Its book-inspired structure, where each entry is akin to a page in a book, makes managing key-value pairs intuitive and easy to understand, while ensuring high performance across both small and large datasets. |
| 3 | +Blue Crab is a lightweight, portable key-value database built for speed, efficiency, and ease of use. It offers multiple interfaces to fit different workflows: **MyShell** for SQL-like commands, **NoShell** for direct key-value operations, **TimeShell** for timestamped time-series data, **CacheShell** for in-memory caching with TTL support, and **FileShell** for straightforward file management. Its book-inspired structure, where each entry resembles a page, makes organizing and accessing data intuitive, while maintaining high performance across both small and large datasets. |
4 | 4 |
|
5 | 5 | ## Key Features |
6 | 6 |
|
7 | | -| **Feature** | **MyShell** | **NoShell** | |
8 | | -|----------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------| |
9 | | -| **Portability & Cross-Platform** | Works across different operating systems, offering seamless performance with minimal dependencies. | Works across various platforms without external dependencies, ensuring smooth performance. | |
10 | | -| **Interface** | SQL-like command interface, ideal for users familiar with relational databases. | Direct key-value CRUD operations with a minimalistic approach, no query language required. | |
11 | | -| **CRUD Operations** | Insert, find, update, and delete key-value pairs with SQL-like commands. | Perform CRUD operations using direct key-value access. | |
12 | | -| **Backup and Restore** | Supports backup and restore features using MyShell's command-line interface. | Allows for easy backup and restore of database files with no query overhead. | |
13 | | -| **API** | Intuitive API designed for SQL-like interaction. | Simple API for minimalistic key-value operations. | |
14 | | -| **Memory Management** | Optimized for low memory usage and fast access, even with large datasets. | Ensures efficient memory usage and performance, even with direct key-value access. | |
15 | | -| **Database Management** | Full support for creating, opening, closing, and deleting databases, as well as managing backups. | Supports similar database management operations with a direct approach, including backups and restores. | |
| 7 | +| **Feature** | **MyShell** | **NoShell** | **TimeShell** | **CacheShell** | **FileShell** | |
| 8 | +|---------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------| |
| 9 | +| **Portability & Cross-Platform** | Works across different operating systems, offering seamless performance with minimal dependencies. | Works across various platforms without external dependencies, ensuring smooth performance. | Lightweight and portable, optimized for time-series storage with minimal dependencies. | Highly portable in-memory caching, works on multiple platforms with minimal overhead. | Portable file-based storage, works across OSes without external dependencies. | |
| 10 | +| **Interface** | SQL-like command interface, ideal for users familiar with relational databases. | Direct key-value CRUD operations with a minimalistic approach, no query language required. | Time-series oriented interface, supports timestamped insertions and queries. | Key-value interface optimized for fast retrieval and TTL management. | Simple file read/write/append/delete interface for persistent storage. | |
| 11 | +| **CRUD Operations** | Insert, find, update, and delete key-value pairs with SQL-like commands. | Perform CRUD operations using direct key-value access. | Insert, query, and delete timestamped records efficiently. | Insert, get, update, and remove cache entries with optional TTL. | Write, append, read, and delete files directly. | |
| 12 | +| **Backup and Restore** | Supports backup and restore features using MyShell's command-line interface. | Allows for easy backup and restore of database files with no query overhead. | Supports backup and restore of time-series data files. | Optional persistence to disk can be implemented; otherwise in-memory only. | Files are directly persistent; backup and restore can be done using file copy operations. | |
| 13 | +| **API** | Intuitive API designed for SQL-like interaction. | Simple API for minimalistic key-value operations. | API provides timestamp-aware insertions, queries, and iteration. | Simple, fast API for cache access and TTL operations. | Straightforward API for basic file manipulation. | |
| 14 | +| **Memory Management** | Optimized for low memory usage and fast access, even with large datasets. | Ensures efficient memory usage and performance, even with direct key-value access. | Optimized for sequential time-series data; minimal memory overhead per record. | In-memory store, optimized for fast access and efficient memory usage; supports TTL cleanup. | Efficient for file-based operations; memory usage depends on file buffering strategy. | |
| 15 | +| **Database Management** | Full support for creating, opening, closing, and deleting databases, as well as managing backups. | Supports similar database management operations with a direct approach, including backups and restores. | Manage time-series databases including open/close and backup/restore of timestamped datasets. | Simple in-memory key-value store management; clear, count, and expire operations available. | Provides basic file management operations: check existence, size, list, and delete files. | |
16 | 16 |
|
17 | 17 | ## ***Prerequisites*** |
18 | 18 |
|
|
0 commit comments