Received: from makus.postgresql.org ([98.129.198.125]) by malur.postgresql.org with esmtp (Exim 4.72) (envelope-from ) id 1TCDsi-0008T8-6y for pgsql-performance@postgresql.org; Thu, 13 Sep 2012 18:11:16 +0000 Received: from mh11.mail.rice.edu ([128.42.199.30]) by makus.postgresql.org with esmtp (Exim 4.72) (envelope-from ) id 1TCDsg-0001rQ-OB for pgsql-performance@postgresql.org; Thu, 13 Sep 2012 18:11:15 +0000 Received: from mh11.mail.rice.edu (localhost.localdomain [127.0.0.1]) by mh11.mail.rice.edu (Postfix) with ESMTP id 306634C0207 for ; Thu, 13 Sep 2012 13:11:14 -0500 (CDT) Received: from mh11.mail.rice.edu (localhost.localdomain [127.0.0.1]) by mh11.mail.rice.edu (Postfix) with ESMTP id 2F1A84C0205 for ; Thu, 13 Sep 2012 13:11:14 -0500 (CDT) X-Virus-Scanned: by amavis-2.7.0 at mh11.mail.rice.edu, auth channel Received: from mh11.mail.rice.edu ([127.0.0.1]) by mh11.mail.rice.edu (mh11.mail.rice.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id 5A4oNJYzlXrO for ; Thu, 13 Sep 2012 13:11:14 -0500 (CDT) Received: from descarte (staff-71-wless94-039.rice.edu [10.71.94.39]) (using TLSv1 with cipher RC4-MD5 (128/128 bits)) (No client certificate requested) (Authenticated sender: reedstrm) by mh11.mail.rice.edu (Postfix) with ESMTPSA id 136CB4C01FA for ; Thu, 13 Sep 2012 13:11:14 -0500 (CDT) Received: by descarte (Postfix, from userid 1000) id A1E713C0858; Thu, 13 Sep 2012 13:11:13 -0500 (CDT) Date: Thu, 13 Sep 2012 13:11:13 -0500 From: Ross Reedstrom To: pgsql-performance@postgresql.org Subject: AppScale backend datastore (NoSQL again kind of) Message-ID: <20120913181113.GB26745@rice.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-Pg-Spam-Score: -4.7 (----) X-Archive-Number: 201209/58 X-Sequence-Number: 47804 Hey PostgreSQL speed demons - At work, we're considering an AppScale deployment (that's the Google App Engine roll-your-own http://appscale.cs.ucsb.edu/). It supports multiple technologies to back the datastore part of the platform (HBase, Hypertable, MySQL Cluster, Cassandra, Voldemort, MongoDB, MemcacheDB, Redis). Oddly enough, in performance tests, the MySQL Cluster seems like the general winner (their tests, we haven't done any yet) So, my immediate thought was "How hard would it be to replace the MySQL Cluster bit w/ PostgreSQL?" I'm thinking hot standby/streaming rep. May or may not need a pooling solution in there as well (I need to look at the AppScale abstraction code, it may already be doing the pooling/direction bit.) Any thoughts from those with more experience using/building PostgreSQL clusters? Replacing MySQL Cluster? Clearly they must be using a subset of functionality, since they support so many different backend stores. I'll probably have to set up an instance of all this, run some example apps, and see what's actually stored to get a handle on it. The GAE api for the datastore is sort of a ORM, w/ yet another query language, that seems to map to SQL better than to NoSQL, in any case. There seems to be a fairly explicit exposure of a table==class sort of mapping. Ross -- Ross Reedstrom, Ph.D. reedstrm@rice.edu Systems Engineer & Admin, Research Scientist phone: 713-348-6166 Connexions http://cnx.org fax: 713-348-3665 Rice University MS-375, Houston, TX 77005 GPG Key fingerprint = F023 82C8 9B0E 2CC6 0D8E F888 D3AE 810E 88F0 BEDE