Also, any complex application engaging in complex access patterns to
files will have a far better idea of the best page management strategy
than general purpose algorithms, no matter how smart they are or can
get. Note in particular that DBs engage in highly structured access
which is predictable given such things as the SQL queries themselves.
When the application involved is engaged in performance benchmarking
into the last ergs of available system capability, it becomes what it
is. Virtually all high end DBs operate on raw disks in the UNIX world,
which is effectively the same thing.
The size requirement for noncached IO may be annoying but noncached IO
means noncached IO. In order to do that you have to present the IO to
the device in the units it does IO in. Otherwise, something has to cache
it to fix the IO alignment/length to match the device requirements. It’s
a pretty physical requirement, nothing fancy.
Dan Lovinger
Microsoft Corporation
This posting is provided “AS IS” with no warranties and confers no
rights.
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Tony Mason
Sent: Thursday, July 10, 2003 12:08 PM
To: File Systems Developers
Subject: [ntfsd] Re: how to modify data on the fly?
A requirement of transactional systems is that they must be able to
control
the order of write operations. This is because the journal must be
written
in a specific order with respect to the actual protected data. The
exact
details depend upon they type of journaling.
For example, in the ancient past, I worked on a journaling file system
that
used a log technique known as “old value/new value”. This means that
each
entry within a transaction contained both the old data value (for
“undo”) as
well as the new data value (for “redo”). Thus, we had a set of ordering
constraints on how data was written (first the undo information had to
be on
disk, then the data block could be written after that point.
In general, this scheme does not work if there is an out-of-order
caching
scheme within this system. Thus, transactional systems (like SQL) use
non-cached I/O. They can implement their OWN caching, but they do not
rely
upon the file system data cache. The one model where caching will work
is
if the ordering of operations is preserved. However, this can be quite
complicated for a database (such as SQL) where the log may be located on
another device - the order preservation would need to be across devices.
Hence the simplest solution is to avoid adding caching at all.
Many years ago there was a commercial product that would speed up SQL.
It
was a file system filter driver that would enable caching! The fine
print
was the funniest part - it recommended that you only use their product
in
conjunction with a UPS.
Regards,
Tony
Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com
-----Original Message-----
From: David J. Craig [mailto:xxxxx@yoshimuni.com]
Sent: Thursday, July 10, 2003 2:50 PM
To: File Systems Developers
Subject: [ntfsd] Re: how to modify data on the fly?
Does that say anything about Microsoft’s, or some part thereof, view of
their own cache manager? I have done it myself but the 512 mod/multiple
requests can be fun. Maybe that explains why SQL needs the 3GB user
address
space.
“Tom Hansen” wrote in message news:xxxxx@ntfsd…
I believe SQL does non-buffered i/o to effectively disable cache manager
for its requests.
-----Original Message-----
From: David J. Craig [mailto:xxxxx@yoshimuni.com]
Sent: Thursday, July 10, 2003 12:59 PM
To: File Systems Developers
Subject: [ntfsd] Re: how to modify data on the fly?
Does SQL server disable the cache manager? If not, CC is still active.
“Maxim S. Shatskih” wrote in message
news:xxxxx@ntfsd…
>
> > speed for an OS that can be used as a workstation, SQL server
>
> SQL servers do not rely on the OS’s cache.
>
> Max
>
>
>
>
—
You are currently subscribed to ntfsd as: xxxxx@exagrid.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
—
You are currently subscribed to ntfsd as: xxxxx@osr.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
—
You are currently subscribed to ntfsd as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com