mongodb

13 views
Skip to first unread message

Michael J. Ryan

unread,
Mar 23, 2011, 3:40:39 PM3/23/11
to aks...@googlegroups.com
Was thinking that mongodb would be a great fit for akshell... I know a lot of
devs are comfortable and familiar with RDBMS databases, such as postgres, and
it really lends itself to certain types of use cases...

I find that MongoDB is a pretty natural fit for JS based environments, the
features such as array updates in a document/record as well as more of an
object/document nature tends to be nicer imho than key/value stores (Redis),
and a bit less cumbersome than CouchDB.

I think that they all (Postgres, Redis, Couch, etc) have strengths and
weaknesses. RDBMS is covered well with Postgres, but feel that having a NoSQL
option would work well. MongoDB isn't as strong in some areas as Redis, Couch
and others, but it has a more natural fit, and better all-around rdbms options
than others.

=================
Original thread in private twitter messages... (fyi, I'm also @tracker1 on
twitter, @JavaScriptAZ is for a user group, inactive)

@JavaScriptAZ - What are your thoughts on offering mongodb support in addition
to postgres? (16 hours ago)

@akshell_com - we are discussing nosql internally. what is it about mongodb
you like? (15 hours ago)

@JavaScriptAZ - mongodb usage via json/bson is nice/transparent from js, fast,
scalable, schema-less can email ... to discuss (2 hours ago)


--
Michael J. Ryan - http://tracker1.info/

Anton Korenyushkin

unread,
Mar 25, 2011, 5:06:46 AM3/25/11
to aks...@googlegroups.com
Akshell is all about simplicity; so we chose the most popular language of the web, designed a simple JavaScript API to a PostgreSQL database, created an easy-to-use online IDE. When it comes to the core, we stick with the mantra:

There should be one – and preferably only one – obvious way to do it.

So we don't have plans to implement MongoDB support in Akshell. But we do have plans to support as much service APIs as possible. We want developers to be able to connect to them with ease. One of such services is http://mongohq.com/

> --
> You received this message because you are subscribed to the Google Groups "akshell" group.
> To post to this group, send email to aks...@googlegroups.com.
> To unsubscribe from this group, send email to akshell+u...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/akshell?hl=en.
>


--
Anton Korenyushkin
www.akshell.com
an...@akshell.com
+7 985 189-22-89


Oleg Podsechin

unread,
Mar 25, 2011, 5:13:20 AM3/25/11
to aks...@googlegroups.com, Anton Korenyushkin
Also worth pointing out that we have a JSON datatype which ensures the consistency of the data stored in the database: http://blog.akshell.com/json/

The only downside is you cannot directly query by the JSON attributes. However, it should be fairly easy to implement something like what FriendFeed did: http://bret.appspot.com/entry/how-friendfeed-uses-mysql
If you, or anyone else, is interested in implementing this, I would be very keen to discuss and help out.

Also, for really basic key value storage of JSON objects, we've built https://github.com/olegp/kv
It uses our Proxy object support, making persisting data extremely easy and very transparent.

Oleg Podsechin

unread,
Mar 25, 2011, 8:51:17 AM3/25/11
to aks...@googlegroups.com, Anton Korenyushkin
Further to Anton's mail linking to MongoHQ:

https://github.com/sergi/narwhal-mongodb - synchronous driver, which depends on the Java JAR
https://github.com/LearnBoost/mongoose - asynchronous driver, in what looks like pure JavaScript

You may be able to use these two as a starting point for making a sync JS only driver that talks to MongoHQ or another hosted version of Mongo. We are with Linode in the Atlanta DC, so you could bring up a VPS hosting Mongo there for the lowest latency. Make sure you use our affiliate link (in the footer of the main page) if you do decide to try Linode ! ;)

Oleg

On Fri, Mar 25, 2011 at 11:06 AM, Anton Korenyushkin <an...@akshell.com> wrote:

Michael J. Ryan

unread,
Mar 25, 2011, 1:34:28 PM3/25/11
to aks...@googlegroups.com
Just a thought, that it may be worthwhile to extend for support of
asynchronous backends, as most node based modules are currently commonjs, and
written for async usage (such as express).

perhaps having something like...
var IndexHandler = Handler.subclass(
{
get: function (request, response) {

asyncdriver.call(function asyncCallbackMethod(){

response.return(render(
'index.html',
{
header: 'Hello from async.'
}
));

});

//the get method will return undefined (default),
//so wait for and use response.return
}
});

This would be pretty similar to the usage for JS, and allow for out of band
usage... of course, you'd have to keep the connection open and listen for
response.return to be called if the result of get is undefined...

On 3/25/2011 5:51 AM, Oleg Podsechin wrote:
> Further to Anton's mail linking to MongoHQ:
>
> https://github.com/sergi/narwhal-mongodb - synchronous driver, which depends
> on the Java JAR
> https://github.com/LearnBoost/mongoose - asynchronous driver, in what looks
> like pure JavaScript
>
> You may be able to use these two as a starting point for making a sync JS only
> driver that talks to MongoHQ or another hosted version of Mongo. We are with
> Linode in the Atlanta DC, so you could bring up a VPS hosting Mongo there for
> the lowest latency. Make sure you use our affiliate link (in the footer of the
> main page) if you do decide to try Linode ! ;)
>
> Oleg
>
> On Fri, Mar 25, 2011 at 11:06 AM, Anton Korenyushkin <an...@akshell.com
> <mailto:an...@akshell.com>> wrote:
>
> Akshell is all about simplicity; so we chose the most popular language of
> the web, designed a simple JavaScript API to a PostgreSQL database,
> created an easy-to-use online IDE. When it comes to the core, we stick
> with the mantra:
>

> There should be one � and preferably only one � obvious way to do it.

> <mailto:aks...@googlegroups.com>.


> > To unsubscribe from this group, send email to
> akshell+u...@googlegroups.com

> <mailto:akshell%2Bunsu...@googlegroups.com>.


> > For more options, visit this group at
> http://groups.google.com/group/akshell?hl=en.
> >
>
>
> --
> Anton Korenyushkin

> www.akshell.com <http://www.akshell.com>
> an...@akshell.com <mailto:an...@akshell.com>


> +7 985 189-22-89
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "akshell" group.
> To post to this group, send email to aks...@googlegroups.com

> <mailto:aks...@googlegroups.com>.


> To unsubscribe from this group, send email to
> akshell+u...@googlegroups.com

> <mailto:akshell%2Bunsu...@googlegroups.com>.


> For more options, visit this group at
> http://groups.google.com/group/akshell?hl=en.
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "akshell" group.
> To post to this group, send email to aks...@googlegroups.com.
> To unsubscribe from this group, send email to
> akshell+u...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/akshell?hl=en.

--

Anton Korenyushkin

unread,
Mar 26, 2011, 8:36:56 AM3/26/11
to aks...@googlegroups.com
Sync and async programming are quite opposite approaches. Because we do want to maintain consistency and style in Akshell, we provide only sync APIs. For Comet-like use cases we'll create a pub/sub service for the platform. Most of async libraries don't make send in a sync environment. For those that do it's possible to emulate async APIs.

>> There should be one – and preferably only one – obvious way to do it.


--

Reply all
Reply to author
Forward
0 new messages