The Library of Ravens solves the "architecture bloat" of managing separate databases by consolidating full-text and vector search into a single database. Instead of wrestling with data synchronization across multiple platforms, you get a unified search experience that keeps your infrastructure lean and your development cycle fast.
The app demonstrates robust integration patterns using Azure Storage Queues. By leveraging RavenDB’s change tracking and ETL services, the system ensures that critical library updates are never lost, providing architectural resilience.
Finally, the app addresses the "cloud tax" of high egress fees by utilizing ETags and native HTTP caching driven by RavenDB’s metadata. This approach significantly reduces the volume of data sent over the wire, slashing public cloud billing while providing a snappier, more responsive experience for the end user through efficient data reuse.
Built with RavenDB, Aspire, Azure Storage Queues, and Azure Functions.
The following RavenDB features are used to build the application:
- Include - loading related documents in one request
- Document Refresh - used for timeouts handling
- Azure Storage Queues ETL - used with the
@Refreshfeature to send information about expiring timeouts - Vector Search - used for searching across similar books
The following technologies were used to build this application:
If you want to run the application locally, please follow the steps:
- Check out the GIT repository
- Install prerequisites:
- Request a dev license and set it under
RAVEN_LICENSEenv variable - Get the app running by opening
/src/RavenDB.Samples.Library.slnand starting theAspireAppHostproject
If you spot a bug, have an idea or a question, please let us know by raising an issue or creating a pull request.
We do use a Discord server. If you have any doubts, don't hesitate to reach out!
We encourage you to contribute! Please read our CONTRIBUTING for details on our code of conduct and the process for submitting pull requests.
This project is licensed with the MIT license.