Angel \”Java\” Lopez on Blog

January 16, 2013

Some projects with in-memory model

Filed under: JavaScript, NodeJs, Open Source Projects — ajlopez @ 5:05 pm

I’m a big proponent of having models (domain models) residing in memory. Of course, in the appropriate context. There are many problems that could have a better solution if we forgot the “use the database, Luke” approach. One notable solution/project is Redis, that using a single thread implements a complete and powerful key-value store in memory, with options for persistence and clustering (redis cluster still under development).

I’m playing implementing personal projects using an in-memory model. There are:

SimpleMemolap: Multidimensional OLAP-like model, in JavaScript/Node.js with a web sample.

Memolap: Multidimensional OLAP-like model, in C#. Web sample in progress.

SimplePermissions: Subjects, Roles, Permissions, Contexts, all in memory.

AjKeyvs: Redis-like in-memory key-value store, in C#. I should add the client protocol. I should review the internal algorithms, but all was coded using TDD, ready for refactors.

SimpleStore: Simple Key Value Store in memory, a la Redis, JavaScript/Node.js. In process or exposed to remote clients using additional modules. Work in Progress.

SimpleQueue: in-memory queue implementation, JavaScript/Node.js. It could be used in process or acceded via exposing the methods to remote calls.

SimpleTags: having items with arbitrary data, tagged with strings or key-value objects.

Maybe I could add SimpleRules: rule engine where the facts reside in-memory (many rule engines use directly the memory to represent the world state).

And even I could mention: SimpleBoggle, where the list of words to resolve a Boggle game it’s loaded in memory 😉

To be started:

SimpleDatabase: in-memory database, with SQL-like query language, JavaScript/Node.js

Most of these projects could be extended to have pluggable persistence. But now I’m interested in having something that works to play with. I’m having fun implementing internal algorithms, trees, search, inverted indexes, etc. And practicing TDD every day.

Keep tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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 )

Google+ photo

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

Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: