Few words about Vserver 2.4 - point 2 - client side cache
Ruslan Zasukhin
sunshine at public.kherson.ua
Thu Aug 3 16:13:06 CDT 2006
Another thing we do not like yet in vserver 2.4 is server-side cursors.
In the old server we did have SERVER-SIDE cursor which have load to client
N=50 records in bulk then did not touch server until you touch record not
present in this "window".
But this code was buggy, because affect a lots of navigational and
modification operations.
Right now in 2.4 server-side cursor has N = 1
This can cause some slow down if you use server-side cursors in e.g.
Valentina Studio or own app.
----------------
How we going to resolve this.
Again, for 2.5 we have idea to implement idea of TOTAL Caching of records on
client side. Let me explain this.
* in OO DBMS (ODMG) book I have read that only OO DBMS have such feature -
caching of objects on client side, and that RDBMS cannot do this or do not
do this...
This have sounds strange to me..I do not see any problems that can prevent
us do the same.
So idea is next:
* we will integrate deeply into KERNEL on server side timestamps.
this step also required to implement good support of transactions.
* next, we will send to Vclient a record of VTable or server-side Vcursor
signed by timestamp.
* We will implement on client the POOL of such records, i.e. CACHE.
* User must be able assign in Valentina.InitClient() the size of this cache,
to prevent VCLIENT eat a lots of RAM.
* so this solution will be even better than we did have in 2.3 with N=50.
because with N=50 cursor, if you step on record 51,
you load 51-100 records, if you now step back to 50,
you need forget 51-100 records, and load again 1-50.
With new cache we will keep first 50, and load next 50, until cache size
will allow.
--
Best regards,
Ruslan Zasukhin
VP Engineering and New Technology
Paradigma Software, Inc
Valentina - Joining Worlds of Information
http://www.paradigmasoft.com
[I feel the need: the need for speed]
More information about the Valentina
mailing list