Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 2 of 2 total
Thread LoadFromStream Slow if encrypted
Tue, Sep 19 2006 2:45 PMPermanent Link

"Chuck Hall"
I am trying to package user updates that are compressed AND encrypted.  For
each of about 50 tables, I build a difference table that represents the
additions, modifications and deletions that have occurred relative to the
user's version.  We don't want to deliver unencrypted tables, but encrypted
tables don't compress much, and encrypting dynamically at the user's end is
slow and not secure.

Most of the updates are small enough to use SaveToStream and LoadFromStream
and store each stream compressed in a (compessed) blob field of an update
table.  Because of the DBISAM warning not to use streams with large tables,
we are breaking large updates (>10000 records) into smaller chunks, with the
table name and sequence number.  This works OK restoring the chunks to an
unencrypted "diff" table, but runs about 15 times slower (2 minutes per
700KB!) if restoring to an encrypted "diff" table.

Does anyone have any suggestions to speed up LoadFromStream into encrypted
"diff" tables or have an alternative suggestion to distribute the update
tables compressed and secure?

Tim, does ElevateDB have stream support and if so, does it have a speed
penalty for restoring to encrypted tables?

Chuck Hall

Tue, Sep 19 2006 4:42 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Chuck,

<< Most of the updates are small enough to use SaveToStream and
LoadFromStream and store each stream compressed in a (compessed) blob field
of an update table.  Because of the DBISAM warning not to use streams with
large tables, we are breaking large updates (>10000 records) into smaller
chunks, with the table name and sequence number.  This works OK restoring
the chunks to an unencrypted "diff" table, but runs about 15 times slower (2
minutes per 700KB!) if restoring to an encrypted "diff" table.

Does anyone have any suggestions to speed up LoadFromStream into encrypted
"diff" tables or have an alternative suggestion to distribute the update
tables compressed and secure? >>

There's not much you can do about the speed issue if you want the "diff"
table to be encrypted.  The encryption occurs on a per-record basis, so
there is some overhead involved with a lot of updates.

<<  Tim, does ElevateDB have stream support and if so, does it have a speed
penalty for restoring to encrypted tables? >>

The issue is not with the stream support, it's with the performance of
strong crypto on tables.  And yes, EDB will have the same issue since the
encryption is the same.

--
Tim Young
Elevate Software
www.elevatesoft.com

Image