Re: ZODB with Lazy evaluation / Caching / Data Flow programming

Jim Fulton <[email protected]> Sat, 28 Apr 2018 13:33:15 -0600
Newsgroups gmane.comp.web.zope.zodb
Message-ID <CAPDm-FgR9fhaZV3ekYRRR5FQV0-rUsxkhmM=xMXDRVF3yne77Q@mail.gmail.com>
On Fri, Apr 27, 2018 at 12:43 AM, Wong, Byron <[email protected]>
wrote:
....

> Now of course there are difference in how ZODB works and how the previous
> in-house Object DB works.... and so I have been trying to find tools in the
> Open Source community to replicate similar infrastructure. ZODB has solved
> the object persistence problem, and the major missing piece now it's really
> the whole Computational in-memory dependency graph caching/in-validation,
> hence prompting me to ask the question here.
>

FWIW, I see these as separate concerns.


> With regards to the consistency across computers issues
>

See my response to Chris.


> -- yes in my case, it's fine that the read-only client are using a
> slightly stale data. In fact, that was the model in my previous company...
> from time to time, they will have to "refresh" the in-memory cache and
> ensure the state is consistent with that's in the database.
>

This is unnecessary with ZODB. ZODB's object cache is transactionally
consistent!


> I saw the YouTube demo on 2 Tier Kanban by Jim ... (this link
> https://www.youtube.com/watch?v=6v1sIw5j4ss&t=11s)  and see how new
> feature can automatically pop up after object being persisted in DB...
> that's seems pretty awesome, but my guess is without some proper listener
> logic, it's hard to achieve?
>

This is a feature that hasn't been hardened, largely through lack of
interest. :)  Generally though, it's pretty straightforward.

Also, it has to be implemented a bit differently for RelStorage and other
storages.  For RelStorage, you can newt.db.follow to be notified of
database updates.   http://www.newtdb.org/en/latest/topics/following.html

You can see how the two-tiered kanban app uses that API here:
https://github.com/feature-flow/twotieredkanban/blob/master/server/twotieredkanban/server.py#L75

Jim

-- 
Jim Fulton
http://jimfulton.info

-- 
You received this message because you are subscribed to the Google Groups "zodb" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout.