Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 10 total
Thread Local Database and Multithreading Questions
Fri, Oct 31 2008 12:34 PMPermanent Link

"John Jacobson"
I have a few question regarding which version of ElevateDB would be best
suited to use in a standalone desktop app (newsreader to be exact). My needs
are:

1) Unlimited multithreaded database access (I need to be able to run dozens
of threads any or all of which may access the database at any particular
time)
2) Ability to have databases that are dozens of GB in size while still
performing well
3) Encrypted content via password
4) Mass Blob storage
5) Unicode compatible (I use Delphi 2009)

The $279 Std version looks to be in my targeted price range, but the product
description was a little vague as to whether or not I could have more than 5
connections at a time in a local application.
Fri, Oct 31 2008 1:00 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

John,

<< 1) Unlimited multithreaded database access (I need to be able to run
dozens of threads any or all of which may access the database at any
particular time) >>

Yes.

<< 2) Ability to have databases that are dozens of GB in size while still
performing well >>

You'll have to make sure to be careful with your database design in order to
make sure that queries/filters are optimized, but the basic answer here is
yes.

<< 3) Encrypted content via password >>

That's going to kill 2) in EDB.  EDB uses strong crypto for table
encryption, so it does slow down performance when reading/writing to tables.

<< 4) Mass Blob storage >>

Yes.

<< 5) Unicode compatible (I use Delphi 2009) >>

Yes.

<< The $279 Std version looks to be in my targeted price range, but the
product description was a little vague as to whether or not I could have
more than 5 connections at a time in a local application. >>

The 5 session limitation if for the server only.  For a local application,
you can have an unlimited number of sessions (EDB requires one session per
thread).

--
Tim Young
Elevate Software
www.elevatesoft.com

Fri, Oct 31 2008 1:08 PMPermanent Link

"John Jacobson"

"Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote in message
news:F7B6BA1D-2AEF-4FC2-AA73-DA8DF3E651D2@news.elevatesoft.com...
> John,
> The 5 session limitation if for the server only.  For a local application,
> you can have an unlimited number of sessions (EDB requires one session per
> thread).

Thanks for your quick response! Judging from your reply it sounds like the
$279 Std version will suit my needs well. I'll become a customer today.
Fri, Oct 31 2008 1:53 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

John,

<< Thanks for your quick response! Judging from your reply it sounds like
the $279 Std version will suit my needs well. I'll become a customer
today.>>

Thanks very much for your order, and welcome aboard.

--
Tim Young
Elevate Software
www.elevatesoft.com

Fri, Oct 31 2008 2:23 PMPermanent Link

Leslie
Tim,

<<<< 3) Encrypted content via password >>

That's going to kill 2) in EDB.  EDB uses strong crypto for table
encryption, so it does slow down performance when reading/writing to tables.>>

Could you translate this into approximate percentage?

Regards,
Leslie
Fri, Oct 31 2008 2:43 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Leslie,

<< Could you translate this into approximate percentage? >>

It depends upon a lot of different factors, so it can vary quite a bit.  The
row size, how well the read-ahead can work, etc. can all affect the
buffering, which in turn can affect the hit taken from the crypto.  It
really all comes down to how efficient the buffering is.

--
Tim Young
Elevate Software
www.elevatesoft.com

Fri, Oct 31 2008 4:44 PMPermanent Link

Leslie
Tim,

Can you give a "time increased  by X  percentage  because  encryption is used" number for
the worst case scenario when reading/writning the data?

I guess for wrting there is not much differece between the best and worse case scenario
anyway.    


Regards,
Leslie
Fri, Oct 31 2008 5:22 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Leslie,

<< Can you give a "time increased  by X  percentage  because  encryption is
used" number for the worst case scenario when reading/writning the data? >>

I can only tell you what the raw calculation costs for the encryption, and
they are 1875 milliseconds for ~16 megs.

This the test that I'm using:

uses edbcommon;

{$R *.dfm}

function TForm1.RandomString: string;
var
  I: Integer;
  TotalChars: Integer;
begin
  Result:='';
  TotalChars:=Random((High(SmallInt)+1) div 2);
  for I:=1 to TotalChars do
     Result:=Result+Chr(Random(High(Byte)));
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  TempDigest: TEDBDigest;
  TempStream: TEDBMemoryStream;
  I: Integer;
  StartTime: LongWord;
  EndTime: LongWord;
begin
  TempDigest:=TEDBDigest.Create;
  TempDigest.AsString:='elevatesoft';
  TempStream:=TEDBMemoryStream.Create;
  TempStream.InitEncryption(TempDigest);
  for I:=1 to 2048 do
     TempStream.WriteString(RandomString);
  TempStream.Size:=BlockOffset(TempStream.Size,CRYPTO_BLOCK_SIZE);
  StartTime:=GetTickCount;
  TempStream.Position:=0;
  TempStream.Encrypt;
  EndTime:=GetTickCount;
  ShowMessage('Total encryption time is '+IntToStr(EndTime-StartTime)+'
msecs for '+
              IntToStr(TempStream.Size)+' bytes');
end;

--
Tim Young
Elevate Software
www.elevatesoft.com

Sat, Nov 1 2008 9:47 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Tim


What spec machine and what else was running at the time?

Roy Lambert
Sat, Nov 1 2008 2:29 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Roy,

<< What spec machine and what else was running at the time? >>

Pentium D 2.8 GHz with 4GB RAM
Windows XP SP2

Nothing else actively running at the time other than the Delphi IDE.

--
Tim Young
Elevate Software
www.elevatesoft.com

Image