Code Monkey home page Code Monkey logo

Comments (8)

yrashk avatar yrashk commented on June 3, 2024

I am working on the first prototype of ViewDB, here's an excerpt from its README:


ViewDB

ViewDB is a database that allows inferring multiple, potentially overlapping
(and even mutually inconsistent!) domain models from statements of facts.

At its heart, it is not too dissimilar from the concept of event sourcing,
but it prioritizes late and lazy domain binding: the ability to produce the
aforementioned models on-demand without replaying all events in a particular
stream to produce a representation of some state, or even having a need to
draw the lines between event categories in order to split them into different
streams.

Facts (this name was chosen instead of "events" to further clarify their
nature) are the source of truth in ViewDB and the principal entity type that
gets persisted.


I've got some interesting ideas as to how everything can be simplified down to attributes and how this can lead to fluid yet explicit fact schemas.

from pumpkindb.

theduke avatar theduke commented on June 3, 2024

The biggest issue here is IMO that projecting 'facts' to entities/models/whatever requires a lot of business logic.

So you need a (ideally strongly typed) language to define that business logic.

Any ideas on that front?

from pumpkindb.

yrashk avatar yrashk commented on June 3, 2024

Yes, there has been a plan to introduce Typed PumpkinScript. Essentially a type checker for PumpkinScript. Just haven't got around to do that.

from pumpkindb.

yrashk avatar yrashk commented on June 3, 2024

Here's the issue on that: #141

from pumpkindb.

theduke avatar theduke commented on June 3, 2024

But PumpkinScript is way too low level for normal devs to write business logic in.

from pumpkindb.

yrashk avatar yrashk commented on June 3, 2024

That is also very true. There were some conversations about building either transpilers for other "higher level" languages into [Typed] PumpkinScript and/or compiling to a common intermediate representation, which is yet to be done, but very necessary anyway.

from pumpkindb.

yrashk avatar yrashk commented on June 3, 2024

I just published an overview of ViewDB's core ideas: https://github.com/ViewDB/ViewDB#readme

from pumpkindb.

yunfan avatar yunfan commented on June 3, 2024

i dont mind its low level. but i do mind of its lack of examples

from pumpkindb.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.