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