Hi Andrus, Its going pretty well so far. I have a smallish Cayenne web application running on it with 30 odd tables. The NuoDB JDBC driver is a picky with types, e.g. if you pass a numeric string value "6418" into a Cayenne query as the PK, Cayenne will set this in the PreparedStatement as setObject(index, value), however if the underlying database type is a BIGINT the driver will complain internally about casting a java.lang.String to java.lang.Long. I can fix this with the Cayenne CharType method setJdbcObject() by marshalling the value into a java.lang.Long and performing PreparedStatement#setLong(). However I am not sure if this is what I should be doing from a Cayenne perspective.
Other JDBC drivers I use (MySQL, Oracle, SQL Server) don't complain doing this data marshaling internally. On the topic of Cayenne branches, I am currently working against is: - https://svn.apache.org/repos/asf/cayenne/main/branches/STABLE-3.0/<https://svn.apache.org/repos/asf/cayenne/main/branches/STABLE-3.0/f> - https://svn.apache.org/repos/asf/cayenne/main/trunk/ Is this the correct approach. The reason I am using Cayenne 3.0.x, is so I can perform testing against our applications, which I think is a good way of verifying this code. I can't really comment about how they implement ACID, there is the issue of latency and the speed of light! I think their use of MVCC helps with this type of problem, which then becomes an application problem. The applications I develop don't have a lot of contention, my main concern is about availability. I haven't figured out how to do automatic fail over yet, beyond loosing a connection to a Transaction Engine (TE) and then going back to a Broker to establish a new connection to a (TE). My concern is if you loose a TE and Broker, then I have to write the code to reconnect to another Broker. MongoDB do a good job with this in their Java drivers from what I understand, if the primary DB is lost, and a secondary is elected to primary the driver will automatically fail over to the new primary. regards On Thu, Aug 23, 2012 at 5:44 AM, Andrus Adamchik <and...@objectstyle.org>wrote: > Hi Malcolm, > > Certainly interested to see how this project goes. > > I watched the webinar and I am sure this thing can't be nowhere near ACID. > But as long as it supports joins, has a JDBC driver, and can store more > than a few gigabytes of data, it'll be good enough for many applications :) > > Good luck, > Andrus > > > On Aug 15, 2012, at 3:01 PM, Malcolm Edgar wrote: > > Hi Guys, > > > > Thanks for the feedback. > > > > In terms of my interest, I have no relationship with NuoDB at all. > > > > The company I work for Avoka Technologies provide a forms hosting > platform > > for large government and corporates. We use/love Cayenne and support > > Oracle, SQL Server, MySQL databases. Generally Oracle and SQL Server are > > used for on-premise installations and we use MySQL for a cloud offering > > (Amazon RDS). > > > > For us we have no performance problems with relational databases. By > using > > Cayenne caching intelligently we can handle very high loads. However > when > > it comes to providing a High Availability solution across multiple data > > centers things become much harder. > > > > The database vendors have different approaches to this problem, but > > generally use a primary active database in data center 1 and a standby > > database in data center 2. Microsoft provides a new capability to > support > > this in SQL Server 2012 AlwaysOn, for MySQL there is Continuent, for > Oracle > > there is RAC with Data Guard. > > > > All these HA approaches are inherently complex to setup and administer. > > > > NuoDB offers fresh approach at this problem. The video below gives a good > > overview: > > > > http://vimeo.com/33785505 > > > > I looked at early beta's of NuoDB about 8 months ago, and it was too > > unstable at this point. Whether NuoDB becomes a viable player in the > market > > is open to question. Building SQL databases is hard, but they do have > > people like Jim Starkey on board and some serious Venture Captial backing > > > > I don't think adding NuoDB support to Cayenne would be trivial, as they > > have their own DDL and SQL dialect as does every database vendor. I > wished > > they had a MySQL emulation mode. > > > > Again I have no direct commercial interest in this, and would look at > > contributing/developing this code in the Cayenne project if people were > > interested. > > > > regards Malcolm Edgar > > > > On Wed, Aug 15, 2012 at 9:15 AM, Aristedes Maniatis <a...@maniatis.org > >wrote: > > > >> On 14/08/12 11:32pm, Aristedes Maniatis wrote: > >> > >>> On 14/08/12 10:00pm, Malcolm Edgar wrote: > >>> > >>>> Hi All, > >>>> > >>>> I am interested in developing a Cayenne Adaptor for the NuoDB database > >>>> https://www.nuodb.com/ > >>>> > >>>> Its a very interesting database technology for developing scale out / > >>>> high > >>>> availability solutions. The stuff that relational databases struggle > >>>> with. > >>>> > >>>> Presumably to get started I would need to create a NuoDBAdaptor > >>>> extending * > >>>> org.apache.cayenne.dba.**JdbcAdapter*. Is this the best place to > >>>> start, does > >>>> anyone have any recommendations, or would like to be involved ? > >>>> > >>>> regards Malcolm Edgar > >>>> > >>> > >>> > >>> Interesting. Their website is full of marketing speak, but very light > on > >>> what makes this database so "revolutionary". What is that attracts you > to > >>> it over the choice of existing open source databases? > >>> > >>> If it supports the basic SQL specification, there is probably very > little > >>> code to implement in the Cayenne dba package. > >>> > >>> Ari > >>> > >> > >> Just to be clear Malcolm, I'm not being critical of your effort at all. > >> The more databases Cayenne supports the better. But I've never come > across > >> Nuo before and I'm curious about what it offers. Certainly mysql's > >> master/master clustering capabilities leave a bit to be desired, but as > a > >> basic SQL/storage engine I wonder how easy it would be for anyone to > >> surpass postgresql/mysql after all the years of bug fixing and tuning. > >> > >> I've not been able to Google any benchmarks or other third party > reviews. > >> The best I found was this: > >> > >> http://sqlandsiva.blogspot.**com.au/2011/11/nuodb-acid-** > >> compliant-scalable-cloud_02.**html< > http://sqlandsiva.blogspot.com.au/2011/11/nuodb-acid-compliant-scalable-cloud_02.html > > > >> > >> which suggests that about 90% of the SQL standard is implemented. I > guess > >> the real question is which 90%? > >> > >> > >> > >> > >> Ari > >> > >> > >> -- > >> --------------------------> > >> Aristedes Maniatis > >> GPG fingerprint CBFB 84B4 738D 4E87 5E5C 5EFA EF6A 7D2E 3E49 102A > >> > >