Re: [AOLSERVER] Suggestions for a future aolserver

2012-09-28 Thread Andrew Piskorski
On Thu, Sep 27, 2012 at 02:44:16PM -0700, John Buckman wrote:

 The other area where state of the art thinking is occurring, is in
 scaling web sites to many, many machines.

Reputedly, the best toolkit for building that sort of stuff is Erlang
and its OTP libraries.  (Asynchronous message passing, hot code
reloading, fault tolerance, etc.)  I've also long wondered if its
Mnesia distributed RDBMS is any good.

I was quite happy with AOLserver, Tcl, and a decent single-box RDBMS
like Oracle or PostgreSQL.  But if I intended to build stuff for
massive scale out, ideally I'd want to first hack seriously with
Erlang for a year or so first to really understand what it's good for,
what it's not, clever approaches the Erlang community came up with,
etc.  If anybody here as done something along those lines and can
report back, compare/contrast to the AOLserver / Tcl / OpenACS world,
that could be really interesting!

A maybe related approach from the enterprise software world
(probably meaning giant investment banks), is Message-Oriented
Middleware; this is also asynchronous message passing.  This guy (Kirk
Wylie, founder of OpenGamma) seems to know what he's talking about,
and recommended the Hohpe book below:

  http://kirkwylie.blogspot.com/

  
http://www.amazon.com/Enterprise-Integration-Patterns-Designing-Deploying/dp/0321200683/
  Enterprise Integration Patterns: Designing, Building, and Deploying Messaging 
Solutions
  by Gregor Hohpe, Bobby Woolf

 Ousterhout recently wrote a paper about RAMCloud, which would be very helpful 
 on aolserver:
 http://cacm.acm.org/magazines/2011/7/109885-the-case-for-ramcloud/fulltext

Useful I guess, but that seems pretty low level.  I'd rather look into
shared-nothing parallel RDBMSs.  These were mostly intended for
analytic (date warehouse) loads, but there are OLTP-oriented designs
available now too (e.g. VoltDB, which also happens to be RAM-only).

I don't know how well they scale across modes.  Years ago, I once
heard that, Teradata was only intended to scale to no more than 100 or
so fat nodes.  But even if modern shared-nothing OLTP systems scale no
better, that's still about 100 times better than you could do with a
typical single server Oracle or PostgreSQL installation, which should
give you a lot of helpful leeway before you HAVE to develop and adopt
database sharding and/or more specialized tools, like the Digital City
team did.

The recent Calvin OLTP research is also interesting.  Like RamCloud,
this is a lower-level tool, not a complete system.  Unlike RamCloud
though, it seems like an actual tested advance in the state-of-the
art, not just a conceptual description of a cool piece of
infrastructure someone might want to build:

  
http://dbmsmusings.blogspot.com/2012/05/if-all-these-new-dbms-technologies-are.html

-- 
Andrew Piskorski a...@piskorski.com

--
Got visibility?
Most devs has no idea what their production app looks like.
Find out how fast your code is with AppDynamics Lite.
http://ad.doubleclick.net/clk;262219671;13503038;y?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
___
aolserver-talk mailing list
aolserver-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/aolserver-talk


Re: [AOLSERVER] Suggestions for a future aolserver

2012-09-27 Thread Jeff Rogers
John Buckman wrote:
 SUGGESTIONS FOR A FUTURE AOLSERVER

 The state of the art is, I think, happening in the javascript world,
 with things such as node.js. If the aolserver community were really
 interested in getting new users, making it a top notch
 embedded-javascript web server would be a way.  I'm not sure this makes
 any strategic sense (nor that I need it), but there you go...

I'm far from the first person to chuckle at how netscape introduced 
server-side javascript 15 years ago, it pretty much vanished for a 
while, and has now come roaring back as the next big thing.

Plus ça change, plus c'est la même chose.

Still, a ns_spidermonkey module would be a interesting project.

 The other area where state of the art thinking is occurring, is in
 scaling web sites to many, many machines.

 aolserver has some features to make that happen, but imagine if we had
 multi-machine ns_cache support, perhaps with a file system backup (ie,
 memcached)?

I was thinking about this also. There is a nsmemcache module for 
naviserver, but it uses some of the C apis that have been changed 
slightly in naviserver, so it doesn't work with aolserver, but it 
shouldn't be difficult to port.

A version (not sure if it's the most current) is at
http://naviserver.cvs.sourceforge.net/naviserver/modules/nsmemcache/

Another bit of existing code to build a high-scalability cluster is the 
Digital City extensions that the guys at AOL built sometime before 2006 
(I don't know exactly when, just estimating based on timestamps) and I 
believe ran some pretty big (for the day) sites on.  It looks like a 
hidden treasure of functionality that never got the respect it deserved. 
  Looking at the archives, there was some chatter about it on this list 
back in 2007.  What's that french saying again? :)

It currently lives at http://code.google.com/p/nsdci/

 Also, support for sending an http page request to another machine (or
 pool of machines) would very handy, with a single http daemon handling
 them all with async io.

I don't think this would be difficult as things are now;  it would make 
a nice piece of example code.

-J

--
Got visibility?
Most devs has no idea what their production app looks like.
Find out how fast your code is with AppDynamics Lite.
http://ad.doubleclick.net/clk;262219671;13503038;y?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
___
aolserver-talk mailing list
aolserver-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/aolserver-talk