{"id":32370233,"url":"https://github.com/hadv/nebulastore","last_synced_at":"2026-03-03T22:31:27.994Z","repository":{"id":310236211,"uuid":"1039168884","full_name":"hadv/NebulaStore","owner":"hadv","description":"NebulaStore provides .NET developers with the same high-performance, pure object graph storage capabilities that Eclipse Store offers to Java developers, plus advanced features like GigaMap indexed collections, ACID transactions, and comprehensive performance optimizations.","archived":false,"fork":false,"pushed_at":"2025-10-02T16:03:45.000Z","size":617,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-02T18:09:26.089Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hadv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["hadv"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2025-08-16T16:17:07.000Z","updated_at":"2025-10-02T16:03:46.000Z","dependencies_parsed_at":"2025-09-04T05:33:39.142Z","dependency_job_id":"95301523-29f0-4237-9cf6-810ea7a4beb1","html_url":"https://github.com/hadv/NebulaStore","commit_stats":null,"previous_names":["hadv/nebulastore"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hadv/NebulaStore","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hadv%2FNebulaStore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hadv%2FNebulaStore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hadv%2FNebulaStore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hadv%2FNebulaStore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hadv","download_url":"https://codeload.github.com/hadv/NebulaStore/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hadv%2FNebulaStore/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280859861,"owners_count":26403631,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-24T02:00:06.418Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-24T20:24:48.868Z","updated_at":"2025-10-24T20:24:53.651Z","avatar_url":"https://github.com/hadv.png","language":"C#","funding_links":["https://github.com/sponsors/hadv"],"categories":[],"sub_categories":[],"readme":"# NebulaStore\n\n[![CI](https://github.com/hadv/NebulaStore/actions/workflows/ci.yml/badge.svg)](https://github.com/hadv/NebulaStore/actions/workflows/ci.yml)\n[![Tests](https://img.shields.io/badge/tests-158%20passing-brightgreen)](https://github.com/hadv/NebulaStore/actions)\n[![Migration](https://img.shields.io/badge/Eclipse%20Store%20Migration-In%20Progress-yellow)](https://github.com/hadv/NebulaStore)\n\nA .NET port of [Eclipse Store](https://github.com/eclipse-store/store) - Ultra-fast pure object graph persistence. **Migration In Progress** 🚧\n\nNebulaStore provides .NET developers with high-performance, pure object graph storage capabilities similar to Eclipse Store for Java developers. This project is actively porting core Eclipse Store modules to .NET.\n\n## Overview\n\nNebulaStore provides .NET developers with the same high-performance, pure object graph storage capabilities that Eclipse Store offers to Java developers. This project ports the core storage modules and architecture of Eclipse Store to work natively with .NET objects and the .NET runtime.\n\n### Eclipse Store Modules Ported\n\nThis project ports the following Eclipse Store modules from the [original Java repository](https://github.com/eclipse-store/store):\n\n- **storage/embedded** - Core embedded storage engine\n- **storage/embedded-configuration** - Configuration system\n- **storage/storage** - Core storage types and interfaces\n- **afs/blobstore** - Abstract File System blob storage backend\n- **afs/aws/s3** - AWS S3 storage backend\n- **afs/azure/storage** - Azure Storage backend\n- **gigamap/gigamap** - High-performance in-memory data structure with advanced indexing and performance optimizations\n\nThe module structure exactly mirrors the Eclipse Store Java repository for familiarity and consistency.\n\n### Module Mapping\n\n| Eclipse Store Java | NebulaStore .NET | Status |\n|-------------------|------------------|---------|\n| `storage/embedded` | `storage/embedded/` | ✅ Complete |\n| `storage/embedded-configuration` | `storage/embedded-configuration/` | ✅ Complete |\n| `storage/storage` | `storage/storage/` | ✅ Complete |\n| `afs/blobstore` | `afs/blobstore/` | ✅ Complete |\n| `afs/aws/s3` | `afs/aws/s3/` | ✅ Complete |\n| `afs/azure/storage` | `afs/azure/storage/` | ✅ Complete |\n| `afs/googlecloud/firestore` | `afs/googlecloud/firestore/` | ✅ Complete |\n| `gigamap/gigamap` | `gigamap/` | ✅ Complete |\n\n## 🚧 Eclipse Store Migration Progress\n\n**Current Status: Core Modules Complete** - Successfully ported essential Eclipse Store functionality to .NET with working storage engine, configuration system, and high-performance collections.\n\n### 🚀 Core Modules Status\n\n- ✅ **`storage/embedded`** - Complete embedded storage engine\n- ✅ **`storage/embedded-configuration`** - Complete configuration system\n- ✅ **`storage/storage`** - Complete core storage types and interfaces\n- ✅ **`afs/blobstore`** - Complete Abstract File System blob storage backend\n- ✅ **`afs/aws/s3`** - Complete AWS S3 storage backend\n- ✅ **`afs/azure/storage`** - Complete Azure Storage backend\n- ✅ **`afs/googlecloud/firestore`** - Complete Google Cloud Firestore integration\n- ✅ **`gigamap/gigamap`** - Complete high-performance indexed collections with:\n  - ✅ **Advanced indexing system** (bitmap, hash, unique indices)\n  - ✅ **Full LINQ support** for querying (Eclipse Store compatible)\n  - ✅ **Performance optimizations** (bulk operations, compression, caching)\n  - ✅ **Comprehensive test suite** (158 tests passing - 100% success rate)\n\n### 🎯 Available Features\n\n- ✅ **Core Eclipse Store API compatibility**\n- ✅ **Pure object graph persistence** without ORM overhead\n- ✅ **Advanced querying** with LINQ (equivalent to Java Stream API)\n- ✅ **High-performance indexing** with bitmap and hash indices\n- ✅ **Case-insensitive string indexing** with proper equality handling\n- ✅ **Comprehensive statistics** and performance monitoring\n- ✅ **Memory-efficient** data structures and operations\n- ✅ **Thread-safe operations** with proper synchronization\n- ✅ **Multiple storage backends** (local, AWS S3, Azure Storage)\n\n## Source Code References\n\nThis project ports code from the [Eclipse Store Java repository](https://github.com/eclipse-store/store). Key source modules:\n\n- **Java Source**: [`storage/embedded`](https://github.com/eclipse-store/store/tree/main/storage/embedded) → **C# Port**: `storage/embedded/`\n- **Java Source**: [`storage/embedded-configuration`](https://github.com/eclipse-store/store/tree/main/storage/embedded-configuration) → **C# Port**: `storage/embedded-configuration/`\n- **Java Source**: [`storage/storage`](https://github.com/eclipse-store/store/tree/main/storage/storage) → **C# Port**: `storage/storage/`\n- **Java Source**: [`afs/blobstore`](https://github.com/eclipse-store/store/tree/main/afs/blobstore) → **C# Port**: `afs/blobstore/`\n- **Java Source**: [`afs/aws/s3`](https://github.com/eclipse-store/store/tree/main/afs/aws/s3) → **C# Port**: `afs/aws/s3/`\n- **Java Source**: [`afs/azure/storage`](https://github.com/eclipse-store/store/tree/main/afs/azure/storage) → **C# Port**: `afs/azure/storage/`\n- **Java Source**: [`afs/googlecloud/firestore`](https://github.com/eclipse-store/store/tree/main/afs/googlecloud/firestore) → **C# Port**: `afs/googlecloud/firestore/`\n- **Java Source**: [`gigamap/gigamap`](https://github.com/eclipse-store/store/tree/main/gigamap/gigamap) → **C# Port**: `gigamap/`\n\nThe .NET implementation maintains the same module structure, interfaces, and design patterns as the original Eclipse Store Java code while adapting to .NET conventions and leveraging C# language features.\n\n## ✨ Features - Core Eclipse Store Implementation\n\n### 🏗️ Core Storage Engine\n- ✅ **Pure object graph persistence** - Direct object storage without ORM overhead\n- ✅ **Ultra-fast storage and retrieval** - Optimized for high-performance operations\n- ✅ **Native .NET integration** - Built specifically for .NET runtime and patterns\n- ✅ **Embedded storage manager** with builder pattern configuration\n- ✅ **Type handler system** for custom serialization and complex types\n- ✅ **Lazy query traversal** for efficient data access\n\n### 🚀 Advanced Querying \u0026 Indexing\n- ✅ **GigaMap indexed collections** - High-performance data structures\n- ✅ **Full LINQ support** - Natural .NET querying (equivalent to Java Stream API)\n- ✅ **Bitmap indexing** for efficient range and equality queries\n- ✅ **Hash indexing** for fast key-based lookups\n- ✅ **Unique constraints** with automatic validation\n- ✅ **Case-insensitive string indexing** with proper equality handling\n- ✅ **Complex query conditions** with AND/OR/NOT operations\n\n### ⚡ Performance \u0026 Optimization\n- ✅ **Bulk operations** for high-throughput scenarios\n- ✅ **Memory optimization** with efficient data structures\n- ✅ **Query result caching** for repeated operations\n- ✅ **Compression support** for space-efficient storage\n- ✅ **Performance monitoring** with detailed statistics\n- ✅ **Thread-safe operations** with proper synchronization\n\n### 📊 Monitoring \u0026 Management\n- ✅ **Comprehensive monitoring system** with real-time metrics\n- ✅ **Storage statistics** and performance tracking\n- ✅ **Entity cache monitoring** with memory usage insights\n- ✅ **Housekeeping operations** for maintenance and optimization\n- ✅ **Backup and restore** capabilities with validation\n\n### 🌐 Storage Backends\n- ✅ **Local file system** storage with configurable options\n- ✅ **Abstract File System (AFS)** for pluggable storage backends\n- ✅ **Blob storage** support for large object handling\n- ✅ **AWS S3** storage backend for cloud storage\n- ✅ **Azure Storage** backend for Microsoft cloud\n- ✅ **Google Cloud Firestore** integration\n\n## Architecture\n\nNebulaStore follows the Eclipse Store module structure:\n\n- **storage/** - Main storage module (mirrors Eclipse Store)\n  - **embedded/** - Embedded storage submodule\n    - **src/** - Core embedded storage implementation\n    - **tests/** - Comprehensive test suite\n    - **NebulaStore.Storage.Embedded.csproj** - Project file\n  - **embedded-configuration/** - Configuration module (mirrors Eclipse Store)\n    - **src/** - Configuration classes and interfaces\n    - **NebulaStore.Storage.EmbeddedConfiguration.csproj** - Project file\n  - **storage/** - Core storage types module (mirrors Eclipse Store)\n    - **src/types/** - Storage interfaces and implementations\n    - **NebulaStore.Storage.csproj** - Project file\n- **afs/** - Abstract File System module (mirrors Eclipse Store)\n  - **blobstore/** - Blob storage backend implementation\n    - **src/** - Core AFS blobstore implementation\n    - **test/** - Unit tests for blobstore functionality\n    - **NebulaStore.Afs.Blobstore.csproj** - Project file\n  - **aws/** - AWS storage backends\n    - **s3/** - AWS S3 integration\n      - **src/** - S3 connector and extensions\n      - **test/** - S3 integration tests\n      - **NebulaStore.Afs.Aws.S3.csproj** - Project file\n  - **azure/** - Azure storage backends\n    - **storage/** - Azure Storage integration\n      - **src/** - Azure Storage connector and extensions\n      - **test/** - Azure Storage integration tests\n      - **NebulaStore.Afs.Azure.Storage.csproj** - Project file\n  - **googlecloud/** - Google Cloud storage backends\n    - **firestore/** - Google Cloud Firestore integration\n      - **src/** - Firestore connector and extensions\n      - **test/** - Firestore integration tests\n      - **NebulaStore.Afs.GoogleCloud.Firestore.csproj** - Project file\n  - **tests/** - Integration tests for AFS functionality\n- **gigamap/** - High-performance in-memory data structure module (mirrors Eclipse Store)\n  - **src/** - Core GigaMap implementation with indexing and performance optimizations\n  - **tests/** - Comprehensive test suite with performance benchmarks\n  - **NebulaStore.GigaMap.csproj** - Project file\n- Dependencies: MessagePack for binary serialization\n\n### Key Components\n- **EmbeddedStorage**: Static factory class for creating storage managers\n- **IEmbeddedStorageManager**: Main interface for storage operations\n- **EmbeddedStorageFoundation**: Builder pattern for configuration\n- **IEmbeddedStorageConfiguration**: Configuration system\n- **Type Handlers**: Pluggable serialization system\n- **Storage Connections**: Connection management and lifecycle\n- **Abstract File System (AFS)**: Pluggable storage backends with blob support\n- **GigaMap**: High-performance in-memory data structure with advanced indexing and optimization features\n\n## Getting Started\n\n### Prerequisites\n\n- .NET 9.0 SDK or later\n\n### Building the Project\n\n```bash\n# Clone the repository\ngit clone https://github.com/hadv/NebulaStore.git\ncd NebulaStore\n\n# Restore dependencies\ndotnet restore\n\n# Build the solution\ndotnet build\n```\n\n### Running Tests\n\n```bash\n# Run all unit tests\ndotnet test\n\n# Run tests with detailed output\ndotnet test --verbosity normal\n\n# Run AFS blobstore tests\ndotnet test afs/blobstore/test/\n\n# Run AFS integration tests\ndotnet test afs/tests/\n\n# Run AWS S3 tests\ndotnet test afs/aws/s3/test/\n\n# Run Azure Storage tests\ndotnet test afs/azure/storage/test/\n\n# Run GigaMap performance tests and benchmarks\ndotnet test gigamap/tests/\n\n# Run specific test project\ndotnet test tests/NebulaStore.Core.Tests/\n```\n\n### 🚀 Using NebulaStore - Core Eclipse Store API\n\n#### Simple Usage\n```csharp\nusing NebulaStore.Storage.Embedded;\n\n// Start with default configuration\nusing var storage = EmbeddedStorage.Start();\n\n// Get the root object\nvar root = storage.Root\u003cMyDataClass\u003e();\nroot.SomeProperty = \"value\";\n\n// Persist changes with ACID transaction\nstorage.StoreRoot();\n\n// Query objects with LINQ (Eclipse Store compatible)\nvar results = storage.Query\u003cSomeType\u003e().Where(x =\u003e x.Condition).ToList();\n```\n\n#### Advanced GigaMap Usage\n```csharp\nusing NebulaStore.GigaMap;\n\n// Create high-performance indexed collection with Eclipse Store API\nvar gigaMap = GigaMap.Builder\u003cPerson\u003e()\n    .WithBitmapIndex(Indexer.Property\u003cPerson, string\u003e(\"Department\", p =\u003e p.Department))\n    .WithBitmapUniqueIndex(Indexer.Property\u003cPerson, string\u003e(\"Email\", p =\u003e p.Email))\n    .WithBitmapIndex(Indexer.StringIgnoreCase\u003cPerson\u003e(\"Name\", p =\u003e p.Name))\n    .Build();\n\n// Add data with ACID transactions\ngigaMap.Add(new Person { Name = \"John\", Department = \"Engineering\", Email = \"john@company.com\" });\ngigaMap.Add(new Person { Name = \"Jane\", Department = \"Marketing\", Email = \"jane@company.com\" });\n\n// Advanced querying with LINQ (Eclipse Store pattern)\nvar engineers = gigaMap.Where(p =\u003e p.Department == \"Engineering\").ToList();\nvar johnDoe = gigaMap.FirstOrDefault(p =\u003e p.Name.Contains(\"John\"));\n\n// Case-insensitive queries work correctly\nvar caseInsensitive = gigaMap.Where(p =\u003e p.Name == \"JOHN\").ToList(); // Finds \"John\"\n\n// Index statistics and monitoring\nvar departmentIndex = gigaMap.Index.Bitmap.Get(\"Department\");\nConsole.WriteLine($\"Unique departments: {departmentIndex.Size}\");\n\nvar stats = departmentIndex.CreateStatistics();\nConsole.WriteLine($\"Total entities: {stats.TotalEntityCount}\");\nConsole.WriteLine($\"Unique keys: {stats.UniqueKeyCount}\");\n```\n\n#### Advanced Configuration\n```csharp\nvar config = EmbeddedStorageConfiguration.New()\n    .SetStorageDirectory(\"my-storage\")\n    .SetChannelCount(4)\n    .SetEntityCacheThreshold(2000000)\n    .Build();\n\nusing var storage = EmbeddedStorage.Start(config);\n```\n\n#### AFS (Abstract File System) Usage\n```csharp\n// Start with AFS blob storage\nusing var storage = EmbeddedStorage.StartWithAfs(\"afs-storage\");\n\n// Custom AFS configuration\nvar afsConfig = EmbeddedStorageConfiguration.New()\n    .SetStorageDirectory(\"my-afs-storage\")\n    .SetUseAfs(true)\n    .SetAfsStorageType(\"blobstore\")\n    .SetAfsUseCache(true)\n    .Build();\n\nusing var afsStorage = EmbeddedStorage.StartWithAfs(afsConfig);\n```\n\n#### AWS S3 Usage\n\n```csharp\nusing NebulaStore.Afs.Aws.S3;\n\n// Start with S3 storage\nusing var storage = EmbeddedStorage.StartWithS3(\"my-bucket\", \"storage-prefix\");\n\n// Custom S3 configuration\nvar s3Config = EmbeddedStorageConfiguration.New()\n    .UseS3(\"my-bucket\", \"storage-prefix\")\n    .SetChannelCount(4)\n    .Build();\n\nusing var s3Storage = EmbeddedStorage.Foundation(s3Config).Start();\n```\n\n#### Azure Storage Usage\n\n```csharp\nusing NebulaStore.Afs.Azure.Storage;\n\n// Start with Azure Storage\nusing var storage = EmbeddedStorage.StartWithAzure(\"connection-string\", \"container-name\");\n\n// Custom Azure configuration\nvar azureConfig = EmbeddedStorageConfiguration.New()\n    .UseAzureStorage(\"connection-string\", \"container-name\")\n    .SetChannelCount(4)\n    .Build();\n\nusing var azureStorage = EmbeddedStorage.Foundation(azureConfig).Start();\n```\n\n#### Google Cloud Firestore Usage\n\n```csharp\nusing NebulaStore.Afs.GoogleCloud.Firestore;\nusing NebulaStore.Storage.Embedded;\nusing NebulaStore.Storage.EmbeddedConfiguration;\n\n// Start with Google Cloud Firestore\nusing var storage = EmbeddedStorage.StartWithFirestore(\"your-project-id\");\n\n// Custom Firestore configuration\nvar firestoreConfig = EmbeddedStorageConfiguration.New()\n    .UseFirestore(\"your-project-id\", \"my-storage\", useCache: true)\n    .SetChannelCount(4)\n    .Build();\n\nusing var firestoreStorage = EmbeddedStorage.Foundation(firestoreConfig).Start();\n```\n\n#### Custom Root Object\n```csharp\nvar myRoot = new MyDataClass { SomeProperty = \"initial\" };\nusing var storage = EmbeddedStorage.Start(myRoot, \"storage-dir\");\n```\n\n#### Monitoring \u0026 Metrics\n```csharp\n// Access comprehensive monitoring\nvar monitoringManager = storage.GetMonitoringManager();\n\n// Storage statistics\nvar stats = monitoringManager.StorageManagerMonitor.StorageStatistics;\nConsole.WriteLine($\"Usage Ratio: {stats.UsageRatio:P2}\");\n\n// Entity cache metrics\nvar cacheMonitor = monitoringManager.EntityCacheSummaryMonitor;\nConsole.WriteLine($\"Cached Entities: {cacheMonitor.EntityCount}\");\n\n// Trigger housekeeping operations\nmonitoringManager.StorageManagerMonitor.IssueFullGarbageCollection();\n```\n\n#### Batch Operations\n```csharp\nusing var storer = storage.CreateStorer();\nvar objectIds = storer.StoreAll(obj1, obj2, obj3);\nstorer.Commit();\n```\n\n#### Backup \u0026 Restore\n```csharp\nawait storage.CreateBackupAsync(\"backup-directory\");\n```\n\n#### Performance Monitoring \u0026 Statistics\n```csharp\n// Comprehensive performance monitoring\nvar monitoringManager = storage.GetMonitoringManager();\n\n// Storage statistics with detailed metrics\nvar stats = monitoringManager.StorageManagerMonitor.StorageStatistics;\nConsole.WriteLine($\"Storage Usage: {stats.UsageRatio:P2}\");\nConsole.WriteLine($\"Total Objects: {stats.ObjectCount}\");\n\n// GigaMap performance statistics\nvar departmentIndex = gigaMap.Index.Bitmap.Get(\"Department\");\nvar indexStats = departmentIndex.CreateStatistics();\nConsole.WriteLine($\"Index Size: {indexStats.UniqueKeyCount} unique keys\");\nConsole.WriteLine($\"Total Entities: {indexStats.TotalEntityCount}\");\nConsole.WriteLine($\"Memory Usage: {indexStats.TotalDataMemorySize} bytes\");\n\n// Trigger maintenance operations\nmonitoringManager.StorageManagerMonitor.IssueFullGarbageCollection();\n```\n\n## 📚 Examples - Complete Feature Demonstrations\n\nThe `examples/` directory contains comprehensive examples demonstrating NebulaStore features:\n\n### 🏗️ Core Storage Examples\n- **`EmbeddedStorageExample.cs`** - Basic storage operations, configuration, and batch processing\n- **`TransactionExample.cs`** - **NEW!** ACID transaction demonstrations with:\n  - Atomic operations and rollback scenarios\n  - Nested transaction support\n  - Crash recovery and data integrity validation\n  - Transaction logging and performance monitoring\n\n### ☁️ Cloud Storage Examples\n- **`FirestoreExample.cs`** - **NEW!** Google Cloud Firestore integration including:\n  - Simple Firestore storage setup and configuration\n  - Configuration-based approach with custom settings\n  - Direct AFS usage for advanced scenarios\n  - Batch operations and large object handling\n- **`AzureStorageExample.cs`** - Azure Storage backend demonstrations\n- **`S3Example.cs`** - AWS S3 storage backend examples\n\n### 🔍 Advanced Querying Examples\n- **`GigaMapAdvancedExample.cs`** - **NEW!** Advanced features including:\n  - Eclipse Store compatible `GigaMap.Builder\u003cT\u003e()` API\n  - Advanced indexing with bitmap and unique constraints\n  - Case-insensitive string indexing demonstrations\n  - Complex LINQ queries with index optimization\n  - Index statistics and performance monitoring\n\n### 📊 Monitoring \u0026 Performance Examples\n- **`MonitoringExample.cs`** - Complete monitoring and metrics demonstration including:\n  - Basic monitoring access and storage statistics\n  - Multi-channel monitoring with per-channel metrics\n  - Housekeeping operations and monitoring\n  - Monitoring manager usage and monitor discovery\n- **`PerformanceDemo.cs`** - Performance optimization demonstrations including:\n  - Bulk operations performance comparison\n  - Memory optimization techniques\n  - Query performance benchmarks\n  - Index efficiency analysis\n\n### 🚀 Production Ready Examples\n- **`ProductionExample.cs`** - **NEW!** Production deployment patterns including:\n  - Complete configuration for production environments\n  - Error handling and recovery strategies\n  - Performance monitoring and alerting\n  - Backup and restore procedures\n\nRun the examples:\n```bash\ncd examples/ConsoleApp\ndotnet run\n\n# Run specific example\ndotnet run -- --example GigaMapAdvanced\ndotnet run -- --example Transactions\ndotnet run -- --example Production\n```\n\n## 📖 Documentation\n\n- **[Monitoring Documentation](storage/storage/src/monitoring/README.md)** - Comprehensive guide to the monitoring system\n- **[Configuration Guide](storage/embedded-configuration/README.md)** - Storage configuration options\n- **[GigaMap Advanced Features](gigamap/README.md)** - Complete guide to advanced features\n- **[API Documentation](docs/)** - Generated API documentation\n\n## 🚧 Eclipse Store Migration Status\n\n**Current Progress: Core Functionality Complete** 🚀\n\nThe migration has successfully implemented essential Eclipse Store functionality for .NET, providing a solid foundation for object graph persistence.\n\n### ✅ What's Available\n- **Core Eclipse Store compatibility** - Essential APIs ported to .NET\n- **Stable foundation** - 158 tests passing with good coverage\n- **High-performance indexing** - GigaMap collections with advanced features\n- **Native .NET integration** - Built specifically for .NET runtime and patterns\n- **Multiple storage backends** - Local, AWS S3, Azure Storage support\n\n### 🎯 Current Capabilities\nNebulaStore currently provides:\n- ✅ **Core object graph persistence** without ORM overhead\n- ✅ **High-performance indexing** with GigaMap collections\n- ✅ **Comprehensive monitoring** and performance tracking\n- ✅ **Multiple storage backends** (local, AFS, AWS S3, Azure Storage)\n- ✅ **Solid test coverage** and validation\n\n### 🤝 Contributing\nThe core migration is complete, but we welcome contributions for:\n- Additional storage backends\n- Performance optimizations\n- Documentation improvements\n- Example applications\n- Integration with other .NET frameworks\n\n### 📞 Support\n- **Issues**: [GitHub Issues](https://github.com/hadv/NebulaStore/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/hadv/NebulaStore/discussions)\n- **Documentation**: [Wiki](https://github.com/hadv/NebulaStore/wiki)\n\n---\n\n**🎯 Eclipse Store for .NET - Core Implementation Complete!** NebulaStore provides ultra-fast, pure object graph persistence similar to Eclipse Store for Java developers, now available for the .NET ecosystem with core functionality and native C# integration.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhadv%2Fnebulastore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhadv%2Fnebulastore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhadv%2Fnebulastore/lists"}