<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. &nbsp;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. &nbsp;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. &nbsp;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 &lt;<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.&nbsp; 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.&nbsp; 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.&nbsp; 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.&nbsp; 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.&nbsp; I'm not saying that most of the people on this list could not build the right structures as Smalltalk objects.&nbsp; 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.&nbsp; 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.&nbsp; 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.&nbsp; 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>