Questions tagged [ravenfs]

RavenFS refers to the Raven DB File System.

As a summary from the introduction chapter at the official RavenDB documentation, RavenFS provides:

  • A distributed architecture to store large volumes of binary data, with the possibility of employing synchronized nodes,
  • Association of files with metadata, which helps searching for files by their attributes, such as name, size, of date of last modification, along with any custom metadata. This enables RavenFS to index files by their attributes, just like RavenDB does,
  • A .NET Client API for convenient data manipulation and retrieval,
  • Management Studio as a graphical user interface for management purposes,

In RavenFS, a file is handled differently than it would normally be in a regular file system. The concept of directories only exists as a part of the path, that is, the name of any file is actually a full path, such as /user-photos/user123/primary.png. Because this property is indexed, it is possible to search for files in a specified 'location'. Also, as noted here, this implies that a file move is actually a rename operation.

RavenFS also uses a mechanism to save storage space. This is implied by the way file contents are stored. In RavenFS, the entirety of a file is a sequence of bytes, and, consequently, a sequence of pages. When RavenFS finds that a page of some file is the exact same byte sequence as some other already existing page then it will not create a duplicate but instead use that page's address as the successor of the previous page of the file. This is explained in the official documentation under the 'Pages' section.

See also

6 questions
10
votes
1 answer

File Addition and Synchronization issues in RavenFS

I am having a very hard time making RavenFS behave properly and was hoping that I could get some help. I'm running into two separate issues, one where uploading files to the ravenfs while using an embedded db inside a service causes ravendb to fall…
punkcoder
  • 513
  • 4
  • 12
2
votes
1 answer

Using RavenDb FilesStore from F# Interactive hangs

I am trying to access a ravendb file system from an f# script. I have this code: #r "libs/Raven.Abstractions.dll" #r "libs/Raven.Client.Lightweight.dll" open Raven.Client.FileSystem let fs = new FilesStore(Url = "http://localhost:8080",…
Orlando Osorio
  • 3,116
  • 7
  • 29
  • 52
2
votes
2 answers

How to initialize a RavenFS FileStore programatically when embedded with MVC

I can connect to a FileStore via a RavenDBServer instance in my MVC application provided the FS is initialized, so (for example), I create a RavenDBServer with the DataDirectory set: To be clear: this is running as an embedded instance. var config =…
Charlotte Skardon
  • 6,220
  • 2
  • 31
  • 42
1
vote
0 answers

Need an example for using RavenFS with WebAPI

Trying to implement an artifact store for archiving thousands of large/small files for work. Building a POC using .NET WebAPI with RavenFS to store files. As a newbie to RavenFS, looking for an example which will help me to redirect large files…
iaps
  • 11
  • 2
0
votes
0 answers

GZipStream read bytes uncompressed

Does anyone know how I can get the compressed contents of a GzipStream? I just want to read all bytes without decompressing so I can get the length and forward onto a web request with the content-length. The source of the file is from RavenFS which…
Lenny D
  • 1,734
  • 4
  • 22
  • 43
0
votes
0 answers

Best way to create a voron RavenFS database in code?

In RavenDB 3.0, i want to create in code a new RavenFS database but in voron engine. When the database doen't exist, it's created but un essent engine. I tried this way : FilesStore = new FilesStore { Url = "http://localhost:8080", …
Whiletrue
  • 551
  • 1
  • 7
  • 18