distributed filesystem with hash link to implement the cache ,I name it as MemLink.

MemLink is the open source, embeddable distributed filesystem with hash link to implement the cache that provides developers with fast, reliable, local persistence with zero administration which is in C# .net 2.0. MemLink is a library that links directly into your application. Your application makes simple function calls, rather than sending messages to a remote server, eliminating the performance penalty of client-server architectures. MemLink eliminates the overhead of SQL query processing, enabling applications with predictable access patterns to run faster.

MemLink delivers multiple processes and multi-threading for high concurrency; MemLink can manage data in memory and on disk, especially good for bbs,weblogs. MemLink is designed to run in a completely unattended fashion, so all runtime administration is programmatically controlled by the application, not by a human administrator. It has been designed to be simple, fast, small and reliable.
MemLink is very flexible and puts developers in control of many aspects of its behavior, which allows it to be used across a wide range of applications and as a replacement for custom, home-grown solutions. For example, developers can control how resources are allocated, the amount of memory dedicated to caching records, the on-disk storage structure used for individual data, durability and isolation guarantees, and replication policies. It includes full source code for easier porting, integration, debugging and optimization.
MemLink provides very fast, reliable and scalable persistence for applications that need to store data locally, run unattended without interruption, and access data in a predictable fashion.

Data Storage
MemLink stores data quickly and easily without the overhead found in other databases. MemLink is a C library that runs in the same process as your application, avoiding the interprocess communication delays of using a remote database server. Shared caches keep the most active data in memory, avoiding costly disk access.
• Local, in-process data storage
• Schema-neutral, application native data format
• Indexed and sequential retrieval (Btree, Queue, Recno, Hash)
• Multiple processes per application and multiple threads per process
• Fine grained and configurable locking for highly concurrent systems
• Multi-version concurrency control (MVCC)
• Support for secondary indexes
• In-memory, on disk or both
• Online Btree compaction
• Online Btree disk space reclamation
• Online abandoned lock removal
• On disk data encryption (AES)
• Records up to 4GB and tables up to 256TB
MemLink stores data reliably and ensures data integrity, as all true databases are expected to do. MemLink allows a group of database operations to be grouped together such that they either all complete successfully or none complete.
• Catastrophic and routine failure recovery modes
• Automated recovery serialization
• Flexible and configurable deadlock detection
• Support for application-specific log file records and recovery
• Hot and cold backups, log file archival, and full database dumps
• MemLink is very flexible, easy to deploy and easy to integrate. As a C# library, it can be installed and configured along with your application. MemLink was designed to operate a completely unattended fashion, so all administrative functions are controlled programmatically.

Last edited Dec 16, 2008 at 6:11 AM by jackyhawk, version 3