28 Sep 23:09
Re: you got your database in my Python remote objects server
From: Eric S. Johansson <esj <at> harvee.org>
Subject: Re: you got your database in my Python remote objects server
Newsgroups: gmane.comp.db.metakit
Date: 2007-09-28 21:09:28 GMT
Subject: Re: you got your database in my Python remote objects server
Newsgroups: gmane.comp.db.metakit
Date: 2007-09-28 21:09:28 GMT
David McNab wrote: > On Fri, 2007-09-28 at 13:58 -0400, Eric S. Johansson wrote: >> If folks think it's a good idea, what would it take to validate metakit in a >> threaded environment like the one I propose? Is there a simpler model for >> dealing with threaded environments that I'm not aware of? > > Thinking more broadly, have you specifically ruled out using an object > interface to a common SQL database, such as SQLObject over MySQL? my only objection to SQL is that it typically takes me five to 10 times longer to solve a problem using SQL. I don't know why I have this mental block but it is an absolute horrific experience I wouldn't wish my worst enemy. > > That combination is extremely thread-safe, and gives the remote clients > an excellent object view of tables, columns, rows etc. And it's pretty > easy to use. it's also fat, clumsy, hard to use, etc. etc. Using an mySQL database in a startup where I was a founder and small-scale funder cost me almost $50,000 and a year of my life. I've also used SQL and make a few more projects and they all took weeks and months longer than dbm based hacks. They also didn't run that much faster. > If this doesn't appeal, and you're feeling pretty determined to access > metakit remotely, then have you figured out a clear definition of > exactly what kind of 'look and feel' you want on the client side? I'm sorry that I did not express myself well. I do not want to access metakit remotely. I want to stick metakit in a framework so that it can be used as a component from inside a pyro server. In other words, metakit encapsulated to be local to the server code but remote and indivisible to the client-side code. > > If your 'look and feel' requirements aren't too demanding, then it > should be possible to set up a Queue-based multithread setup on the > server, such that only one of the server threads is accessing the actual > metakit database, and other threads which talk to the remote client > communicate with this one thread. This wouldn't require any mods to > metakit or Pyro - just an access layer. no, that doesn't map to what I'm thinking about. Again, client side knows nothing about metakit. Server side knows everything. Requests are effectively queued server-side via some form of locking mechanism. since each request has exactly once call and return semantics,a lock makes more sense than a queue. I'm a strong believer in putting as high a level as possible into a server if you're going to use a server in an application. SQL servers are a botched design especially when you look at the volume of traffic going back and forth between applications as they do requests and then a half a dozen other steps to accomplish the higher-level goal. In many cases, they would be far better off pushing application logic into a core server and keeping the database local. I know SQL has hacks upon hacks to provide this capability but, I'm not willing to sacrifice huge amounts of time and and a customer's budget to use those hacks. yeah, I'm opinionated on this. It's unfortunate something that goes with the territory---eric -- -- Speech-recognition in use. It makes mistakes, I correct some. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the "metakit" group. To post to this group, send email to metakit <at> googlegroups.com To unsubscribe from this group, send email to metakit-unsubscribe <at> googlegroups.com For more options, visit this group at http://groups.google.com/group/metakit?hl=en -~----------~----~----~----~------~----~------~--~---
---eric
RSS Feed