<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">You might well be interested in what we (Cincom) are doing with Seaside and databases as well. We will be pushing out ActiveRecord support on top of the GLORP ORM.<div><br><div apple-content-edited="true"> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div>James Robertson</div><div>Cincom Smalltalk Product Evangelist</div><div><a href="http://www.cincomsmalltalk.com/blog/blogView">http://www.cincomsmalltalk.com/blog/blogView</a></div><div>Talk Small and Carry a Big Class Library</div><div><br class="khtml-block-placeholder"></div><br class="Apple-interchange-newline"></span></span></div></span></div></span><br class="Apple-interchange-newline"> </div><br><div><div>On May 15, 2008, at 9:22 PM, Avi Bryant wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hi Chris,<div><br></div><div>My advice is to not worry about it for now. You will, no doubt, eventually hit bottlenecks in your code because of the way you have set up your data structures, but I predict that</div><div>a) you will get surprisingly far before this happens (linear scans of in-memory data scale better than you think), and</div> <div>b) when you do, it won't be a huge deal to add the indexing you need to make it fast.</div><div><br></div><div>One thing you might want to consider in your design which will make life easier for you later, is having some kind of notification to a central manager object that a given piece of data has changed. Even if you don't do anything with it yet, it will eventually probably be useful to know when you have to update indices, invalidate caches, and so on.</div> <div><br></div><div>Avi</div><div><br><br><div class="gmail_quote">On Thu, May 15, 2008 at 5:27 PM, Chris Dawson <<a href="mailto:xrdawson@gmail.com">xrdawson@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"> Hi all,<br><br>I'm plugging away and enjoying learning about Seaside. From my limited reading so far I gather that there are massive benefits to using something like Magma or GemStone/S over traditional ORM into RDBMSs. If I understand from attending Randal Schwartz's great talk at BarCamp here in Portland a few weeks back that Seaside can take complicated object structures and just stick them into a object database as-is without the overhead of mapping that structure into SQL, and that this is powerful and fast. My concern as I design my application is, however, that I despite knowing the basics of database design and simple normalization that I will do something stupid and create structures that are not scalable or searchable. When I use a traditional database I assume that the database designers have thought of a lot of the details of implementation and are forcing me into making choices about how to store the data so that it is at least moderately searchable. I'm not saying that most of the people on this list could not build the right structures as Smalltalk objects. I'm saying I question my own ability to do so, and Seaside seems to enable me to do this, which might be a great joy for you all, but which might be for the worst in my case. If this is true, perhaps I should use GLORP over Postgres, yet I worry I will lose some of the magic pixie dust that made Seaside seem so different. Or, should I not worry about this, as it will always be faster and more scalable to drop in a cluster of GemStones and do a dictionary lookup in my code than it will be to do a join in a MySQL database?<br> <br>I do love learning about Seaside, it is stretching my brain is such nice ways. Thanks in advance for your comments.<br><font color="#888888"><br>Chris<br> </font><br>_______________________________________________<br> seaside mailing list<br> <a href="mailto:seaside@lists.squeakfoundation.org">seaside@lists.squeakfoundation.org</a><br> <a href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside" target="_blank">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</a><br> <br></blockquote></div><br></div> _______________________________________________<br>seaside mailing list<br><a href="mailto:seaside@lists.squeakfoundation.org">seaside@lists.squeakfoundation.org</a><br>http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside<br></blockquote></div><br></div></body></html>