Hi all,
I am looking for a new and better set of tools to use to build the next version of the software we use to run our e-commerce site both front and back ends. There is a lot about Seaside that gets my imagination running with how easy it would make certain things we have thought about doing that are just plain hard to do with most tools. Our urrent system is mysql 5, nginx, memcached and mod-perl based web-applications and a variety of scripts that get run via cron for day to day housekeeping. I'm sick of fighting with ORMs and ending up stuck in a land that is neither OO nor Relational so a key point of this is to ditch the mysql and find a nice stable object database. From what I've seen when looking at the options available for use with Seaside there is magma, goods and webstone/s. Am I missing anything in that list? Can anyone give me feedback on any of those from the standpoint of... our relational database would immediately map into something in the area of at least 12 million object and depending on design upwards of 20 million with at least 250,000 being added monthly. As object databases get much less use than relational ones, I'm quite a bit more nervous about this part of the process than I would be if it was something like: mysql or postgres. Currently we run everything off of debian boxes. Are there issues with the type of memory use etc that we would looking at with running on debian ( or any other linux ) in terms of stability etc? I seem to remember seeing something about squeak having issues with larger image sizes. Would a different VM be better suited for the task I have at hand? I really like Seaside and think we could do great things with it but I have quite step learning curve pretty much across the board here so any help with narrowing down architecture questions some is greatly appreciated. -Sean- _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Hi Sean,
I've developed an ODBMS named Smalltalk Object Store for Squeak, some information can be found here: http://wiki.tideland.biz/wiki/TidelandSmalltalkObjectStore. The only problem is that I don't maintain it anymore, at least right now. If you're interested I would leave it to you - or anyone else - for future development and may act as a backup and information source. bw mue > Hi all, > > I am looking for a new and better set of tools to use to build the > next version of the software we use to run our e-commerce site > both front and back ends. There is a lot about Seaside that gets my > imagination running with how easy it would make certain > things we have thought about doing that are just plain hard to do with > most tools. Our urrent system is mysql 5, nginx, memcached > and mod-perl based web-applications and a variety of scripts that get > run via cron for day to day housekeeping. > > I'm sick of fighting with ORMs and ending up stuck in a land that is > neither OO nor Relational so a key point of this is > to ditch the mysql and find a nice stable object database. From what > I've seen when looking at the options available for > use with Seaside there is magma, goods and webstone/s. Am I missing > anything in that list? Can anyone give me > feedback on any of those from the standpoint of... our relational > database would immediately map into something in > the area of at least 12 million object and depending on design upwards > of 20 million with at least 250,000 being added > monthly. As object databases get much less use than relational ones, > I'm quite a bit more nervous about this part of > the process than I would be if it was something like: mysql or postgres. > > Currently we run everything off of debian boxes. Are there issues with > the type of memory use etc that we would looking > at with running on debian ( or any other linux ) in terms of stability > etc? I seem to remember seeing something about > squeak having issues with larger image sizes. Would a different VM be > better suited for the task I have at hand? > > I really like Seaside and think we could do great things with it but I > have quite step learning curve pretty much across > the board here so any help with narrowing down architecture questions > some is greatly appreciated. > > -Sean- -- ** ** Frank Mueller / Oldenburg / Germany ** ** http://frank.mweb.de and http://mue.tideland.biz ** _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Sean Allen-4
If you are ready to jump into the commercial space, I would suggest to get a
taste of Gemstone. They have a non-commercial version, so you can play a little. However there is some learning curve there. Víctor ============================================== ----- Original Message ----- From: "Sean Allen" <[hidden email]> To: "Seaside - general discussion" <[hidden email]> Sent: Thursday, March 27, 2008 9:16 AM Subject: [Seaside] object databases and other questions of architecture > Hi all, > > I am looking for a new and better set of tools to use to build the next > version of the software we use to run our e-commerce site > both front and back ends. There is a lot about Seaside that gets my > imagination running with how easy it would make certain > things we have thought about doing that are just plain hard to do with > most tools. Our urrent system is mysql 5, nginx, memcached > and mod-perl based web-applications and a variety of scripts that get run > via cron for day to day housekeeping. > > I'm sick of fighting with ORMs and ending up stuck in a land that is > neither OO nor Relational so a key point of this is > to ditch the mysql and find a nice stable object database. From what I've > seen when looking at the options available for > use with Seaside there is magma, goods and webstone/s. Am I missing > anything in that list? Can anyone give me > feedback on any of those from the standpoint of... our relational > database would immediately map into something in > the area of at least 12 million object and depending on design upwards of > 20 million with at least 250,000 being added > monthly. As object databases get much less use than relational ones, I'm > quite a bit more nervous about this part of > the process than I would be if it was something like: mysql or postgres. > > Currently we run everything off of debian boxes. Are there issues with > the type of memory use etc that we would looking > at with running on debian ( or any other linux ) in terms of stability > etc? I seem to remember seeing something about > squeak having issues with larger image sizes. Would a different VM be > better suited for the task I have at hand? > > I really like Seaside and think we could do great things with it but I > have quite step learning curve pretty much across > the board here so any help with narrowing down architecture questions > some is greatly appreciated. > > -Sean- > > _______________________________________________ > 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 |
In reply to this post by Sean Allen-4
Sean Allen wrote:
> > I really like Seaside and think we could do great things with it but I > have quite step learning curve pretty much across > the board here so any help with narrowing down architecture questions > some is greatly appreciated. > > -Sean- I am essentially a newbie but I have a little, very little, experience using GemStone (GLASS). When using GemStone, there seems to be none of the typical impedance mismatch between my domain model and the database. I ported a small app that I built, from PostgreSql to GemStone, and most of my porting work involved ripping out code. I was left with something that was much simpler to understand and a lot less code to maintain. I have just scratched the surface, GemStone seems to offer a lot of value IMHO. Hope my opinion is of some value. Regards, Frank _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
On Mar 27, 2008, at 9:49 AM, Squeaker wrote: > Sean Allen wrote: >> I really like Seaside and think we could do great things with it >> but I have quite step learning curve pretty much across >> the board here so any help with narrowing down architecture >> questions some is greatly appreciated. >> -Sean- > > I am essentially a newbie but I have a little, very little, > experience using GemStone (GLASS). When using GemStone, there seems > to be none of the typical impedance mismatch between my domain model > and the database. > > I ported a small app that I built, from PostgreSql to GemStone, and > most of my porting work involved ripping out code. I was left with > something that was much simpler to understand and a lot less code to > maintain. > > I have just scratched the surface, GemStone seems to offer a lot of > value IMHO. Gemstone is definitely something I plan on looking at more closely. _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Sean Allen-4
On 27-Mar-08, at 6:16 AM, Sean Allen wrote: > I really like Seaside and think we could do great things with it but > I have quite step learning curve pretty much across > the board here so any help with narrowing down architecture > questions some is greatly appreciated. If you want to eliminate your paradigm mismatch, Gemstone is the way to go. GLASS is just astoundingly cool. There are a couple of downsides, of course. While Gemstone is quite mature, the Seaside port and the tools for developing on Gemstone are fairly recent. You might run into unforeseen issues simply because nobody has done this before. The folks at Gemstone and on this list will undoubtedly be helpful, but you'd be out there on the bleeding edge. Another downside (compared to where you are now) is that Gemstone is a commercial product, and if you want to scale beyond a certain point, you'll have to pay for it. Given that this is all so new, we don't really know where that point is. Good luck! Colin _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Victor-67
>>>>> "Victor" == Victor <[hidden email]> writes:
Victor> If you are ready to jump into the commercial space, I would suggest to Victor> get a taste of Gemstone. They have a non-commercial version, so you Victor> can play a little. However there is some learning curve there. The "non-commercial" Gemstone/S version is now a free *unrestricted* version with a few technical limitations. So yes, you could set up your e-commerce site on a rackmount box, and use Gemstone for free for up to essentially 100 dynamic hits per second (whatever a single CPU can spit out). Plenty enough to make money to get to their $7000/year second-tier program. And that's what they're hoping. Details at seaside.gemstone.com. Disclaimer: I'm working with them on various levels. -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 <[hidden email]> <URL:http://www.stonehenge.com/merlyn/> Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training! _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Colin Putney
>>>>> "Colin" == Colin Putney <[hidden email]> writes:
Colin> Another downside (compared to where you are now) is that Gemstone is a Colin> commercial product, and if you want to scale beyond a certain point, Colin> you'll have to pay for it. If you can't make enough money from 100 dynamic hits per second to afford the $7000/year second-tier Gemstone license, you probably don't have a very good business model. :) -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 <[hidden email]> <URL:http://www.stonehenge.com/merlyn/> Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training! _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
On Mar 27, 2008, at 11:10 AM, Randal L. Schwartz wrote: >>>>>> "Colin" == Colin Putney <[hidden email]> writes: > > Colin> Another downside (compared to where you are now) is that > Gemstone is a > Colin> commercial product, and if you want to scale beyond a certain > point, > Colin> you'll have to pay for it. > > If you can't make enough money from 100 dynamic hits per second to > afford the > $7000/year second-tier Gemstone license, you probably don't have a > very good > business model. :) > Given the number of objects that our six years of relational data would map to, I've been assuming we would have to jump straight to the $7000/year model. Which I look at this way.. $600 a month.... would it save us $600 worth of developer time a month? Yeah, I dont think that is an issue. What I'm interested in, is the best tool for the job. I take it from what I've gotten here, that Gemstone's vm and object database are considered the best of breed for seaside at this time ( or are expected to be soon ); would that statement be correct? -- side tangent that may be related: does seaside feature any page caching facilities? a small segment of our application ( code wise ) gets 90% of the actual usage and features a 'dynamic once until expiration' setup where currently we create the content dynamically if something has happened to cause it to expire and then put in memcache and serve directly from there save a ton of application server processing. Is there anything of this sort currently? What would be the best of breed I should consider looking at? Just trying to get everything together so I know what tools to start playing with. All your help so far has been greatly appreciated. _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Victor-67
>
> On Mar 27, 2008, at 6:38 AM, Victor wrote: > >> If you are ready to jump into the commercial space, I would suggest >> to get a taste of Gemstone. They have a non-commercial version, so >> you can play a little. However there is some learning curve there. >> >> Víctor > > Actually, the Web Edition of GemStone/S is not a "non-commercial > version" but a no-cost version--even for commercial use! The > limitations are related to database size (4 GB) and the hope is that > many commercial projects will use it and maybe a few will grow. See http://seaside.gemstone.com > for details. > > James Foster _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Sean Allen-4
> Hi Sean,
> > As an employee of GemStone Systems I'm certainly biased, but I'd > suggest you investigate GLASS (http://seaside.gemstone.com). While > object databases are used in fewer applications than relational > ones, when OODBs are used, they are used heavily and found to be > quite stable. Following are a couple quotes from http://discuss.joelonsoftware.com/default.asp?biz.5.594244.20 > : > > "I work for a major shipping company. We have a massive OODB and > Smalltalk Application (500 gig range) with 3 million lines of code. > We have 2000 plus daily users. We can do 700 transactions a second > before slowing down. We also have a Java + SQL +EMS system. On a > good day they can do 70 transactions a second, with three times the > hardware." --Timo (Saturday, February 16, 2008) > > "Along side with the major shipping company, we are a major > commodities exchange using GS and ST and while our operational DB is > small (about 5 GB at the start of the trading day to less than 75 GB > and the end) we are probably one of the fastest. We easily handle > transaction rates approaching 6000/sec with about 8000+ daily > users. Our average data center round trip times are in the 2-3 ms > range [from when an external request is received till a response is > sent to the client]." --GemStone Weenie (Monday, February 18, 2008) > > You specified 12 million objects. At 100 bytes per object, this > comes to 1.2 GB in space. GemStone/S will handle this fine on a > variety of Linux distributions. > > James Foster > > On Mar 27, 2008, at 6:16 AM, Sean Allen wrote: > >> Hi all, >> >> I am looking for a new and better set of tools to use to build the >> next version of the software we use to run our e-commerce site >> both front and back ends. There is a lot about Seaside that gets my >> imagination running with how easy it would make certain >> things we have thought about doing that are just plain hard to do >> with most tools. Our urrent system is mysql 5, nginx, memcached >> and mod-perl based web-applications and a variety of scripts that >> get run via cron for day to day housekeeping. >> >> I'm sick of fighting with ORMs and ending up stuck in a land that >> is neither OO nor Relational so a key point of this is >> to ditch the mysql and find a nice stable object database. From >> what I've seen when looking at the options available for >> use with Seaside there is magma, goods and webstone/s. Am I missing >> anything in that list? Can anyone give me >> feedback on any of those from the standpoint of... our relational >> database would immediately map into something in >> the area of at least 12 million object and depending on design >> upwards of 20 million with at least 250,000 being added >> monthly. As object databases get much less use than relational >> ones, I'm quite a bit more nervous about this part of >> the process than I would be if it was something like: mysql or >> postgres. >> >> Currently we run everything off of debian boxes. Are there issues >> with the type of memory use etc that we would looking >> at with running on debian ( or any other linux ) in terms of >> stability etc? I seem to remember seeing something about >> squeak having issues with larger image sizes. Would a different VM >> be better suited for the task I have at hand? >> >> I really like Seaside and think we could do great things with it >> but I have quite step learning curve pretty much across >> the board here so any help with narrowing down architecture >> questions some is greatly appreciated. >> >> -Sean- >> >> _______________________________________________ >> 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 |
In reply to this post by Victor-67
>
> On Mar 27, 2008, at 6:38 AM, Victor wrote: > >> If you are ready to jump into the commercial space, I would suggest >> to get a taste of Gemstone. They have a non-commercial version, so >> you can play a little. However there is some learning curve there. >> >> Víctor > > Actually, the Web Edition of GemStone/S is not a "non-commercial > version" but a no-cost version--even for commercial use! The > limitations are related to database size (4 GB) and the hope is that > many commercial projects will use it and maybe a few will grow. See http://seaside.gemstone.com > for details. > > James Foster _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Sean Allen-4
Replying as a GemStone employee, but not officially speaking for my
employer... > Given the number of objects that our six years of relational data > would map to, > I've been assuming we would have to jump straight to the $7000/year > model. 4 GB might be enough for your existing 12 million objects. You might even find that storing things as objects can take less room than storing them in a relational manner. My understanding is that most RDBMS systems preallocate each record to hold the maximum size for each field. > Which I look at this way.. $600 a month.... would it save us $600 > worth > of developer time a month? Yeah, I dont think that is an issue. > > What I'm interested in, is the best tool for the job. > > I take it from what I've gotten here, that Gemstone's vm and object > database > are considered the best of breed for seaside at this time ( or are > expected > to be soon ); would that statement be correct? I think it is generally accepted in the Smalltalk community that GemStone/S is the premier object database. While GS/S VM is mature, fast, and stable, my perception is that Cincom has the premier VM and on some measures (particularly raw speed for certain operations) it out-performs GS/S. Also, if one were looking for connectivity to an existing enterprise's RDBMS or if you were to judge based on the richness of the existing developer tools (e.g., refactoring browser), GS/S would not be universally acclaimed as "best of breed." But if you have the option of avoiding object-relational mapping, then you will likely find that GS/S is an excellent fit and simplifies your work quite a bit. > does seaside feature any page caching facilities? a small segment of > our application ( code wise ) gets 90% of the actual usage and > features > a 'dynamic once until expiration' setup where currently we create the > content dynamically if something has happened to cause it to expire > and then put in memcache and serve directly from there save a ton > of application server processing. While there are many games that can be played to improve performance, you should make it simple to start with and then measure things. If you have some data that is expensive to calculate and rarely changes, you can certainly cache it, say, in a class variable. While you can cache data in Smalltalk object memory, the actual page creation in Seaside will still be dynamic. If you really wanted to play some games, you might be able to create an HTML document and store it in the file system and have Apache serve the static file. You could replace the static file as often as needed. But this is all assuming that there is a performance problem. How many pages per second do you currently serve? > Is there anything of this sort currently? What would be the best of > breed > I should consider looking at? > > Just trying to get everything together so I know what tools to start > playing with. > > All your help so far has been greatly appreciated. For further information about GS/S, check out Dale's blog (http://gemstonesoup.wordpress.com/ ). For information about Cincom's Seaside experience, check out James Roberson's blog (http://www.cincomsmalltalk.com/blog/blogView) where he is doing a series of daily tutorials. James Foster _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
James Foster wrote:
> > For further information about GS/S, check out Dale's blog > (http://gemstonesoup.wordpress.com/ ). For information about Cincom's > Seaside experience, check out James Roberson's blog > (http://www.cincomsmalltalk.com/blog/blogView) where he is doing a > series of daily tutorials. > For getting answers to any additional questions you might have that are specific to GemStone/S and Seaside (GLASS) you should join our mailing list (http://seaside.gemstone.com/mailman/listinfo/beta). Dale _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
On Mar 27, 2008, at 2:20 PM, Dale Henrichs wrote: > James Foster wrote: > >> >> For further information about GS/S, check out Dale's blog (http://gemstonesoup.wordpress.com/ >> ). For information about Cincom's Seaside experience, check out >> James Roberson's blog (http://www.cincomsmalltalk.com/blog/ >> blogView) where he is doing a series of daily tutorials. >> > For getting answers to any additional questions you might have that > are specific to GemStone/S and Seaside (GLASS) you should join our > mailing list (http://seaside.gemstone.com/mailman/listinfo/beta). > joined. rather quite so far. formulating all my questions.... _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Quite what? Quiet? ;-)
Looking forward to your questions... James On Mar 28, 2008, at 9:47 AM, Sean Allen wrote: > > On Mar 27, 2008, at 2:20 PM, Dale Henrichs wrote: >> James Foster wrote: >> >>> >>> For further information about GS/S, check out Dale's blog (http://gemstonesoup.wordpress.com/ >>> ). For information about Cincom's Seaside experience, check out >>> James Roberson's blog (http://www.cincomsmalltalk.com/blog/ >>> blogView) where he is doing a series of daily tutorials. >>> >> For getting answers to any additional questions you might have that >> are specific to GemStone/S and Seaside (GLASS) you should join our >> mailing list (http://seaside.gemstone.com/mailman/listinfo/beta). >> > > joined. rather quite so far. > > formulating all my questions.... > > _______________________________________________ > 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 |
err yes quiet. i'm trying to learn as much as i can ahead of time then
start asking. On Mar 28, 2008, at 2:11 PM, James Foster wrote: > Quite what? Quiet? ;-) > > Looking forward to your questions... > > James > > > On Mar 28, 2008, at 9:47 AM, Sean Allen wrote: > >> >> On Mar 27, 2008, at 2:20 PM, Dale Henrichs wrote: >>> James Foster wrote: >>> >>>> >>>> For further information about GS/S, check out Dale's blog (http://gemstonesoup.wordpress.com/ >>>> ). For information about Cincom's Seaside experience, check out >>>> James Roberson's blog (http://www.cincomsmalltalk.com/blog/blogView >>>> ) where he is doing a series of daily tutorials. >>>> >>> For getting answers to any additional questions you might have >>> that are specific to GemStone/S and Seaside (GLASS) you should >>> join our mailing list (http://seaside.gemstone.com/mailman/listinfo/beta >>> ). >>> >> >> joined. rather quite so far. >> >> formulating all my questions.... >> >> _______________________________________________ >> 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 _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Free forum by Nabble | Edit this page |