StrokeDB Is A Global Database

May 1, 2008

StrokeDB implements a strong concept of documents and metadocuments. Each document can be safely shared with the outside world.

Even metas and views, which are documents too. (Meta describes an aspect of the document [like a module mixes in specific functionality to an object in ruby]. View describes an ordered structural representation of a subset of the documents in the database.)

Views and metas must be serialized in a simple and straight-forward way. That’s why we don’t write “class User < Meta”, but rather write “User = do … end”. The reason for this will be obvious when we release a JS library for the StrokeDB. It will be really clear when ten websites adopt a valid documents’ sharing instead of exposing naked xmlified pieces of data with the REST API (kudos to Yurii on that idea).

There is the only one database across all the strokedb nodes around the world. Each node may have an outdated revision of any document and a set of private (not shared) documents.

StrokeDB is not for a next “web-two-oh” project. It is a global database which can be spread across millions of machines and track references between all the documents.

Basically, StrokeDB is a Web-level-two. First level is HTML+HTTP+browser. We aim the same thing, Tim Berners-Lee does: to have a way to easily share information in a global network. But we are going to solve several inherent issues of the Web 1.0 hypertext, such as backreferences, references to the part of the document, navigation software (not as stupid as a well-known browser). Navigator is being developed by Yurii already. It is a Zoid web-framework that is oriented on work with StrokeDB features (not to be compared with rails or merb).

See more on github/strokedb and


6 Responses to “StrokeDB Is A Global Database”

  1. Владимир Says:

    Okay, already want it!

  2. hk Says:

    I must admit I don’t understand this post at all. I hope you’re not announcing that you’re abandoning StrokeDB development in favour of some kind of Xanadu-esque vision of global document tracking…

    And as for saying there’s only one huge distributed StrokeDB database across the whole world .. huh?

    I guess I’ll wait for clarification before criticising but I really hope you can keep your focus on developing a good ruby-based document DB rather than trying to turn it into some kind of mega-project which will never be finished .. I speak from grim experience here : /

  3. Oleg Andreev Says:

    hk: thanks for the feedback!

    StrokeDB is an engine for a distributed database i’m working on right now. It is a mega-project from the very start (back in January 2008).

    I’ll make some examples soon to clarify the idea.

  4. hk, I’d say that while StrokeDB itself would be a *relatively* small project (not mega), but we foresee a way to build a kind of that global infrastructure using StrokeDB and companion projects. Hope that clarifies that “megacy” issue.

  5. justin Says:

    I think this article should have been entitled, “StrokeDB AS a Global Database”, not IS… I think some people might be thrown off to think that its going to be implemented in that way from the start. And not provided to them for their own app/intranet architectures.

    But I get the feel of what your saying. A “Berners-Lee” global data web is going to need a very good distributed data layer like your presenting here. But that also means we all will need to put a hand into this.

    Any chance of outputting as other formats besides JSON? RDF maybe? I’ll have to check the source again…

    I would like to think more or less that it WILL BE a “mega project” after it first really gets some steam. Focus on perfecting those tiny bits first… 😉

  6. Oleg Andreev Says:

    All xml-compatible output formats are okay: JSON, XML, YAML etc.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: