Which persistence solution to use?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
26 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: Re: Which persistence solution to use?

Ramiro Diaz Trepat
Hello Udo,
  I'm not sure about the mixing of versions... May be Chris should
answer this one.
  Making and deploying Seaside applications may seem easy at first,
but there are lots of caveats that you should be aware of, like
scaling and sharing db connections between seaside sessions
(connection pooling).
  Although not Magma specific, the best resource to start getting your
feet wet with these matters is Ramón's blog (http://onsmalltalk.com),
you must read it.



On 5/14/07, Udo Schneider <[hidden email]> wrote:

> Ramiro Diaz Trepat wrote:
> > You should give a try to Magma, you will probably like it and it has
> > many features that the other non comertial OODBs don´t.  And it´s all
> > implemented in Squeak.
> I'll take a look into that. Thanks for the pointer. How integrated is
> Magma in Seaside in terms of dependency of versions? Can I mix any
> Seaside version with any Magma version or are there some kine of
> "recomended" combinations?
>
> CU,
>
> Udo
>
> _______________________________________________
> Seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Re: Which persistence solution to use?

jgfoster
In reply to this post by Udo Schneider
On Monday 14 May 2007 12:47 am, Udo Schneider wrote:

> James Foster wrote:
> > Why do you need multiple instances? Is one instance unable to handle the
> > requests?
>
> # of requests is only the surface of the problem. The squeak instances
> are doing some heavy picture manipulating work in the background.
> Although this is done via C code (FFI and InterpreterPlugins) this is
> still quite slow. From first testing I'd go for 20 Sessions max per CPU
> (P4 2 Ghz). So that's the bottleneck. Hence the idea to put the DB on a
> shared NAS to keep as much CPU Power on the frontend as possible.

This is certainly a good use-case for multiple VMs. In any case, if you
distribute the work-load over multiple VMs I assume you will have a web
server in front distributing the requests among the Smalltalk VMs.

> >>> http://seaside.gemstone.com/
> >>> http://gemstonesoup.wordpress.com/
> >>
> >> Saw that and was quite impressed to be honest. What about availibilty?
> >> .... and pricing!
> >
> > Availability was announced as Q3 (we are aiming for ESUG).
> > Pricing is "no cost" for a database under 4 GB.
>
> Now that's very interesting. Does GS allow one to seperate into an DB
> backend and DB frontend? I mean having all the data shared in one DB and
> having the GS frontends doing the Seaside and local/temp storage stuff?

With GemStone/S each VM connected to the same "image" (or database) can see
all changes committed by other VMs. So, yes, you could divide things into a
backend and frontend. The "no-cost" edition does have a limit of two (2) VMs
connected to the database, so this approach is somewhat limited (without
moving up to the next level, which is an annual subscription of US$7000).

James

>
> Regards,
>
> Udo
>
> _______________________________________________
> Seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Which persistence solution to use?

Udo Schneider
In reply to this post by Ramiro Diaz Trepat
Hi Ramiro,

>  Although not Magma specific, the best resource to start getting your
> feet wet with these matters is Ramón's blog (http://onsmalltalk.com),
> you must read it.
Didn't know that blog - seems to be an excellent resource. Thanks for
the pointer.

Regards,

Udo

_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Which persistence solution to use?

Udo Schneider
In reply to this post by jgfoster
James Foster wrote:
> This is certainly a good use-case for multiple VMs. In any case, if you
> distribute the work-load over multiple VMs I assume you will have a web
> server in front distributing the requests among the Smalltalk VMs.
Having a network background I do not really believe in an instance on
the server distributing load on the very same machine (to different
ports of course). Instead my way to go would be to use the existing
firewall to to load distribution to different ports (and if needed
machines) "on the packet level".
Another option I thought about was to offload the static content to S3.
Unfortunately there is not much of that static stuff :-(

> With GemStone/S each VM connected to the same "image" (or database) can see
> all changes committed by other VMs. So, yes, you could divide things into a
> backend and frontend. The "no-cost" edition does have a limit of two (2) VMs
> connected to the database, so this approach is somewhat limited (without
> moving up to the next level, which is an annual subscription of US$7000).
USD7000 sound like a lot of money. However if this really takes off it
really might be an option. Being a bit new to GS - How can I integrate
third party C code (e.g. DLLs) into an GS app?

CU,

Udo

_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Re: Which persistence solution to use?

jgfoster
On Monday 14 May 2007 8:24 am, Udo Schneider wrote:
> How can I integrate
> third party C code (e.g. DLLs) into an GS app?

GemStone/S has a protocol for calling "user action primitives" that isn't as
direct as Squeak's FFI, but is used by a number of customers who need to do
C-level things. For details, see "Calling C Functions from Smalltalk Methods"
on page 24 of  http://seaside.gemstone.com/docs/GS64-GemBuilderForC-2.2.pdf.

James
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Which persistence solution to use?

Udo Schneider
James Foster wrote:
> GemStone/S has a protocol for calling "user action primitives" that isn't as
> direct as Squeak's FFI, but is used by a number of customers who need to do
> C-level things. For details, see "Calling C Functions from Smalltalk Methods"
> on page 24 of  http://seaside.gemstone.com/docs/GS64-GemBuilderForC-2.2.pdf.
I'll take a look into that. Thanks for the pointer.

Regards,

udo

_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
12