question on database and scaling

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

question on database and scaling

Chris Dawson
I'm new to Seaside and am reading the great Seaside tutorial here:  http://www.swa.hpi.uni-potsdam.de/seaside/tutorial.  I am somewhat unimpressed with the section on persistence.  I'm looking for advice on how to build my application so that I can scale when needed.  Should I be using GemStone/S?  Or, another OOP database, like GOODS?  GOODS scares me as it looks like it is supported by an individual, not a community or company.  Any advice is appreciated.  What attracted me to Seaside was precisely the notion that I could avoid dealing with scaling problems like you see in Ruby on Rails.

Chris

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

Re: question on database and scaling

Aaron Broad
I second that.. I think coming from java the persistence options other than gemstone seem unprofessional and scary for using seaside commerciallly.  But perhaps thats biased.  Maybe in smalltalk the idea of having a database as reliable as say mysql being written and maintained by one person is perfectly normal?  I've just discovered smalltalk/seaside.  Sadly it wasn't sooner.  It seems really wonderful, and am hoping to create several great web apps with it, but I too am worried about my data.  What are the best data options?  What are the tradeoffs.  How reliable are they really in your experience?

I'm convinced already that seaside is the easiest way to make web apps, but am worried about data reliability.  I read somewhere dabble db uses an inhouse written database?  Like that just sounds so 1970s to a java programmer or even a ruby programmer i imagine.  I have trouble convincing java programmers that db4o is useful, even though its backed by a large organization and is open source and what not.  There is just this general distrust for anything that doesn't in the end, end up in an SQL database with a brand name.   I expect Gemstone to do brisk business on this mindset.  But are there free($ and open source) options of comparable quality, if not in speed, but in reliability?

Aaron

On Mon, May 12, 2008 at 12:53 AM, Chris Dawson <[hidden email]> wrote:
I'm new to Seaside and am reading the great Seaside tutorial here:  http://www.swa.hpi.uni-potsdam.de/seaside/tutorial.  I am somewhat unimpressed with the section on persistence.  I'm looking for advice on how to build my application so that I can scale when needed.  Should I be using GemStone/S?  Or, another OOP database, like GOODS?  GOODS scares me as it looks like it is supported by an individual, not a community or company.  Any advice is appreciated.  What attracted me to Seaside was precisely the notion that I could avoid dealing with scaling problems like you see in Ruby on Rails.

Chris

_______________________________________________
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: question on database and scaling

jgfoster
In reply to this post by Chris Dawson
On May 12, 2008, at 5:53 AM, Chris Dawson wrote:

I'm new to Seaside and am reading the great Seaside tutorial here:  http://www.swa.hpi.uni-potsdam.de/seaside/tutorial.  I am somewhat unimpressed with the section on persistence.  I'm looking for advice on how to build my application so that I can scale when needed.  Should I be using GemStone/S?  Or, another OOP database, like GOODS?  GOODS scares me as it looks like it is supported by an individual, not a community or company.  Any advice is appreciated.  What attracted me to Seaside was precisely the notion that I could avoid dealing with scaling problems like you see in Ruby on Rails.

Chris

Hi Chris,

Welcome to Seaside. I've been reading the printed copy of the Potsdam tutorial and like it as well. One thing to note is that it is specifically tied to Squeak, so does not reflect the commercial offerings. For example, I think you will find that Cincom's approach (based on GLORP) will provide a very strong tie to a variety of industrial strength relational databases. See James Robertson's bog (http://www.cincomsmalltalk.com/blog/View.ssp) for more on that approach.

Of course, if you are building a new application and are not tied to a relational database, I'd recommend GemStone/S (but then I'm employed by GemStone ;-). We believe that GemStone's contribution to Seaside is, of course, persistence, scaling, and simplicity (avoiding O/R mapping). As to scaling, the design limits exceed whatever hardware you are likely to purchase (number of machines, CPUs, amount of RAM, amount of disk, etc.). We have (non-Seaside) customers with hundreds of machines connected to the same database, others with thousands of concurrent database connections, databases of hundreds of GB, thousands of transactions per second, response times measured in low milliseconds, etc. 

GemStone/S Web Edition is available at no cost, even for commercial use, with the primary limitation of 4 GB of disk. For more information see http://seaside.gemstone.com. Dale's blog (http://gemstonesoup.wordpress.com/) has a series of posts on scaling, as well as other good, up-to-date information. The Seaside work is in an open beta where anyone who asks is given access to the latest download.

James Foster
GemStone Systems, Inc.



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

Re: question on database and scaling

Chris Dawson
James (and Aaron),

Thanks for the input.  I'm reading up on Magma, but GemStone/S looks like a great fit.  Where can I find a tutorial on using it?  I read a bit about it in the 414 page PDF on the site.  Is there something a bit shorter that I could use to build upon the STTodoTut app? 

Chris

On Sun, May 11, 2008 at 10:14 PM, James Foster <[hidden email]> wrote:
On May 12, 2008, at 5:53 AM, Chris Dawson wrote:

I'm new to Seaside and am reading the great Seaside tutorial here:  http://www.swa.hpi.uni-potsdam.de/seaside/tutorial.  I am somewhat unimpressed with the section on persistence.  I'm looking for advice on how to build my application so that I can scale when needed.  Should I be using GemStone/S?  Or, another OOP database, like GOODS?  GOODS scares me as it looks like it is supported by an individual, not a community or company.  Any advice is appreciated.  What attracted me to Seaside was precisely the notion that I could avoid dealing with scaling problems like you see in Ruby on Rails.

Chris

Hi Chris,

Welcome to Seaside. I've been reading the printed copy of the Potsdam tutorial and like it as well. One thing to note is that it is specifically tied to Squeak, so does not reflect the commercial offerings. For example, I think you will find that Cincom's approach (based on GLORP) will provide a very strong tie to a variety of industrial strength relational databases. See James Robertson's bog (http://www.cincomsmalltalk.com/blog/View.ssp) for more on that approach.

Of course, if you are building a new application and are not tied to a relational database, I'd recommend GemStone/S (but then I'm employed by GemStone ;-). We believe that GemStone's contribution to Seaside is, of course, persistence, scaling, and simplicity (avoiding O/R mapping). As to scaling, the design limits exceed whatever hardware you are likely to purchase (number of machines, CPUs, amount of RAM, amount of disk, etc.). We have (non-Seaside) customers with hundreds of machines connected to the same database, others with thousands of concurrent database connections, databases of hundreds of GB, thousands of transactions per second, response times measured in low milliseconds, etc. 

GemStone/S Web Edition is available at no cost, even for commercial use, with the primary limitation of 4 GB of disk. For more information see http://seaside.gemstone.com. Dale's blog (http://gemstonesoup.wordpress.com/) has a series of posts on scaling, as well as other good, up-to-date information. The Seaside work is in an open beta where anyone who asks is given access to the latest download.

James Foster
GemStone Systems, Inc.



_______________________________________________
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: question on database and scaling

Edward Stow
In reply to this post by jgfoster
On Mon, May 12, 2008 at 3:14 PM, James Foster <[hidden email]> wrote:

>
> GemStone/S Web Edition is available at no cost, even for commercial use,
> with the primary limitation of 4 GB of disk. For more information see
> http://seaside.gemstone.com. Dale's blog

James, could you clarify the terms and conditions of the Web Edition.
That is Gemstone is available for free commercial use **only if**
Gemstone is running on / in the VMWare virtual appliance.  Can you
confirm?

For me this is an awkward restriction as I use a VPS to host my web
applications.

> (http://gemstonesoup.wordpress.com/) has a series of posts on scaling, as
> well as other good, up-to-date information. The Seaside work is in an open
> beta where anyone who asks is given access to the latest download.
>
> James Foster
> GemStone Systems, Inc.
>
>
>
> _______________________________________________
>  seaside mailing list
>  [hidden email]
>  http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
>



--

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

Re: question on database and scaling

jgfoster
In reply to this post by Aaron Broad
Hi Aaron,

On May 12, 2008, at 6:37 AM, Aaron Broad wrote:

> I second that.. I think coming from java the persistence options  
> other than gemstone seem unprofessional and scary for using seaside  
> commerciallly.  But perhaps thats biased.  Maybe in smalltalk the  
> idea of having a database as reliable as say mysql being written and  
> maintained by one person is perfectly normal?  I've just discovered  
> smalltalk/seaside.  Sadly it wasn't sooner.  It seems really  
> wonderful, and am hoping to create several great web apps with it,  
> but I too am worried about my data.  What are the best data  
> options?  What are the tradeoffs.  How reliable are they really in  
> your experience?

As to GemStone/S (disclaimer: I'm an employee), the product is over 2  
decades old and is being used around the world by Swiss banks, New  
York investment firms, trading exchanges, container shipping  
companies, chip manufacturing plants, etc. The database engine has  
full transaction semantics (including transaction log replay), so  
reliability is generally as good as your hardware and backup plans  
(e.g., use disk mirroring, keep an off-site backup, etc.).

> I'm convinced already that seaside is the easiest way to make web  
> apps, but am worried about data reliability.  I read somewhere  
> dabble db uses an inhouse written database?  Like that just sounds  
> so 1970s to a java programmer or even a ruby programmer i imagine.

The DabbleDB approach is actually one where they save the objects to  
disk using "image segments," using features they added to Squeak (I  
believe). They have the benefit of only having to convince themselves  
(and their customers) that it works, so they aren't tied to brands or  
other perceptions. They just use the simplest thing that works, and  
focus their efforts on providing other value to their customers. Since  
they don't have to argue technology with Java programmers and a large  
organization, they can move on to other things. It is good work if you  
can get it!

> I have trouble convincing java programmers that db4o is useful, even  
> though its backed by a large organization and is open source and  
> what not.  There is just this general distrust for anything that  
> doesn't in the end, end up in an SQL database with a brand name.

If someone were looking for commercial support for RDB connectivity,  
then Cincom's work with GLORP would be something to investigate.

> I expect Gemstone to do brisk business on this mindset.  But are  
> there free($ and open source) options of comparable quality, if not  
> in speed, but in reliability?

The GemStone Web Edition is the commercial product limited is scaling  
but not in reliability (e.g., the database is limited to 4 GB). It  
provides all the same reliability features and can be used for  
commercial applications at no cost (but is not open source).

James Foster
GemStone Systems, Inc.
>

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

Re: question on database and scaling

jgfoster
In reply to this post by Edward Stow
On May 12, 2008, at 7:23 AM, Edward Stow wrote:

> On Mon, May 12, 2008 at 3:14 PM, James Foster  
> <[hidden email]> wrote:
>
>> GemStone/S Web Edition is available at no cost, even for commercial  
>> use,
>> with the primary limitation of 4 GB of disk. For more information see
>> http://seaside.gemstone.com. Dale's blog
>
> James, could you clarify the terms and conditions of the Web Edition.
> That is Gemstone is available for free commercial use **only if**
> Gemstone is running on / in the VMWare virtual appliance.  Can you
> confirm?
>
> For me this is an awkward restriction as I use a VPS to host my web
> applications.

Edward,

While the formal license (http://seaside.gemstone.com/docs/GLASS-License.pdf 
) is the final word, I can say that the Web Edition is tied to Linux,  
not a particular hardware environment (virtual or otherwise). The  
VMware virtual appliance is intended to simplify the install/setup/
configuration process (which is non-trivial and requires changes to  
the various kernel parameters such as virtual memory). A VPS host  
should be just fine (provided you have root or sudo access to set  
kernel parameters).

James Foster
GemStone Systems, Inc.

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

Re: question on database and scaling

jgfoster
In reply to this post by Chris Dawson
On May 12, 2008, at 7:22 AM, Chris Dawson wrote:

> James (and Aaron),
>
> Thanks for the input.  I'm reading up on Magma, but GemStone/S looks  
> like a great fit.  Where can I find a tutorial on using it?  I read  
> a bit about it in the 414 page PDF on the site.  Is there something  
> a bit shorter that I could use to build upon the STTodoTut app?
>
> Chris

Chris,

So far we haven't published an intro tutorial (though I will be giving  
one at Smalltalk Solutions in Reno in June). In general, if you follow  
any of the existing tutorials for Squeak, things should be rather  
similar. One approach, particularly if you are new to Smalltalk, is to  
build the application in Squeak and then port it to GemStone/S when  
you get closer to deployment.

James Foster
GemStone Systems, Inc.
>

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

Re: question on database and scaling

Steve Wart
In reply to this post by jgfoster
Hi James,

Is the limited license for Linux available for 32-bit CPUs? I wasn't able to find a link to something that would work on Redhat x686.

Regards,
Steve

On Mon, May 12, 2008 at 7:06 AM, James Foster <[hidden email]> wrote:
On May 12, 2008, at 7:23 AM, Edward Stow wrote:

On Mon, May 12, 2008 at 3:14 PM, James Foster <[hidden email]> wrote:

GemStone/S Web Edition is available at no cost, even for commercial use,
with the primary limitation of 4 GB of disk. For more information see
http://seaside.gemstone.com. Dale's blog

James, could you clarify the terms and conditions of the Web Edition.
That is Gemstone is available for free commercial use **only if**
Gemstone is running on / in the VMWare virtual appliance.  Can you
confirm?

For me this is an awkward restriction as I use a VPS to host my web
applications.

Edward,

While the formal license (http://seaside.gemstone.com/docs/GLASS-License.pdf) is the final word, I can say that the Web Edition is tied to Linux, not a particular hardware environment (virtual or otherwise). The VMware virtual appliance is intended to simplify the install/setup/configuration process (which is non-trivial and requires changes to the various kernel parameters such as virtual memory). A VPS host should be just fine (provided you have root or sudo access to set kernel parameters).


James Foster
GemStone Systems, Inc.


_______________________________________________
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: question on database and scaling

jgfoster
On May 12, 2008, at 8:54 AM, Steve Wart wrote:

> Hi James,
>
> Is the limited license for Linux available for 32-bit CPUs? I wasn't  
> able to find a link to something that would work on Redhat x686.
>
> Regards,
> Steve

No, while we have a 32-bit product that is commercially available and  
supported, it has significant limitations on scaling and it doesn't  
have the VM enhancements required to support Seaside. With the  
possible exception of hosted servers, 64-bit hardware is now  
sufficiently inexpensive so that we recommend that new development  
start there.

James Foster

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

Re: question on database and scaling

Adrian Lienhard
In reply to this post by Aaron Broad

On May 12, 2008, at 06:37 , Aaron Broad wrote:

> I second that.. I think coming from java the persistence options  
> other than gemstone seem unprofessional and scary for using seaside  
> commerciallly.

With respect to relational DBs, Squeak has good support for Postgres.  
We are successfully using this combination in a couple of larger  
projects.

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

Re: question on database and scaling

Randal L. Schwartz
>>>>> "Adrian" == Adrian Lienhard <[hidden email]> writes:

Adrian> With respect to relational DBs, Squeak has good support for Postgres.  We are
Adrian> successfully using this combination in a couple of larger  projects.

Precisely... I just deployed my first commercial application yesterday
using Squeak to talk to a legacy PostgreSQL database with GLORP,
Magritte, and Seaside.

--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<[hidden email]> <URL:http://www.stonehenge.com/merlyn/>
Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
See http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside