NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.

To learn about what's going on, see About the Archive Site.

Re: FileField

Hi Doug,

> I'm looking for an efficient way to store data on disk for quick access
> via VisAD. My data look something like:
>
>    time -> ( (x,y,z) -> (a,b,c) )
>
> and I'd like to cache a subset of the time samples for optimal performace.
>
> I assume I want to use FileField (or FileFlatField?) but I'm not sure
> how to proceed.

You can ignore FileField unless you plan to create a new
implementation of Form that manages data caching between
disk and memory.

> I intend to have a "server" with a large amount of data
> available via RemoteDataReferences. I'd populate the server by reading
> in data the usual way then dumping them to files. One big question is
> how should I create those files and read them. Should I use VisAD
> serialized or binary format (via VisADForm) or should I roll my own
> format and maybe use java.nio's memory-mapped IO?

For fastest performance I recommend VisADSerialForm, as long
as your Data objects fit in memory. Note that constructing a
VisADSerialForm is the same as constructing a VisADForm with
the 'boolean allowBinary' argument = false. These save Data
using Java serialization. It wouldn't be hard to write a new
Form that combined Java serialization with java.nio's
memory-mapped IO. Your new Form would have open() and save()
methods that modified the logic of the saveSerial() and
readSerial() methods of VisADForm.java to use java.nio.

> It would help if I understood the difference between a Form (e.g.
> VisADForm) and a FileAccessor.

You can ignore FileAccessor unless you plan to create a new
implementation of Form that explicitly manages the locations
of sub-objects in disk files. If you are using Java
serialization you can ignore FileAccessor and FileField.

Good luck,
Bill


  • 2003 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the visad archives: