Subject Re: Windows/Linux Cross-Platform On-Disk-Structure Question!
Author nathan_probst
Helen -

Thank you for your prompt and excellent response! Also, thank you for
The Firebird Book...that was alot of work to put together!

We are in the fortunate situation of having the exact same hardware
platform in both instances. FAT32 was chosen as a filesystem that
both Win32 and Linux have in common. As far as I know, there are no
others that meet that criteria. However, I'm intrigued by the raw
partition option! Where can I learn more? Does this work under both
Linux and Win32? How stable is the Beta? ;-)

Again, thanks for answering my questions and making me feel welcome in
the Firebird world.

Nathan

--- In firebird-support@yahoogroups.com, Helen Borrie <helebor@t...>
wrote:
>
> At 08:41 AM 29/01/2006, you wrote:
> >Hello All -
> >
> >This is my first posting to firebird-support. I'm just learning about
> >FB and all that is possible...and I have one very important question:
> >
> >"Is the ODS (on-disk-structure) of the Windows server compatible with
> >the ODS used by the Linux server?"
>
> The short answer is Yes.
>
>
> >My company intends to develop a device that can plug into both Windows
> >and Linux machines. This device needs to contain a powerful RDBMS
> >(residing on a FAT32 filesystem) such that the info stored under one
> >OS is available on the other OS. The RDBMS needs to be as
> >resource-efficient as possible (which rules out a Java solution). So
> >far, FB is the only option I've located. But, I'm unsure if the ODS
> >is compatible between OS's.
>
> Cross-compatibility of the ODS depends on the hardware. As long as
> both servers are writing to their databases from hardware-compatible
> hosts, e.g. Intel 32, AMD 32, then the ODS is compatible.
>
> What I can't predict (though someone else will step in here to
> comment) is what will happen if 64-bit chips are in the
> equation. Current distros of Firebird are all 32-bit applications,
> which a Windows and some Linux distros will run transparently as
> 32-bit. I have no idea what happens when a 64-bit OS writes to or
> reads from a FAT32 filesystem.
>
> However, I'm nervous about "residing on a FAT32 filesystem", simply
> because, in my ignorance, I suspect that Linux systems accessing
> local FAT32 partitions do so via the NFS. That is, although the
> FAT32 partition is physically local, the OS treats it as a network
partition.
>
> If I'm right about this (and I'm ready to be wrong about it!), then
> you won't be able to use the database safely from Linux. It's not a
> question of the ODS, but how I/O is controlled. I believe Linux can
> read and write at file-level to a non-native partition, but would
> come to grief when trying to operate on block addresses within a
> file, or to allocate more blocks to the file.
>
> All that said, I've opened databases residing on flash disks from
> both Classic on Linux and Superserver on Windows, albeit as a single
> user, really only to the extent of proving it could be done.
>
> Firebird also has the ability to make a database read-only - this is
> a database attribute, not to be confused with the read-only attribute
> of a file. A read-only database *can* safely be read from a network
> partition. You need to set a parameter in firebird.conf to enable this.
>
> And because I can't tell from your description whether the intent is
> to attempt to access the same database for writes concurrently from
> both Windows and Linux, I will tell you now that this is a big No-No,
> even though it is possible to configure both servers to allow it.
>
> Possibly your final answer will be found in the capability of
> Firebird 2 (currently in Beta) to store and access databases on a
> raw device. It would certainly be nice (from our POV) to have
> someone putting this feature to a real-life test.
>
> ./heLen
>