hi > Have you identified issues where throughput or latency is an issue ? no, I am on design stage of my app and I want to do it the fastest way possible from the beginning > Most performance gains are going to be made by getting the data model right. hope to get it right, and with embedding will get even more performance. > > > Embedding the server will add *a lot* of complexity.
that's a conjecture one would come at first sight, but if you analyze it , it is the opposite. Complexity increases with code, and communication between processes (like via socket or memory buffer) implies more code, so if you embed and call server objects directly, your code will be simpler. JVM already implements security model between objects, so no isolation of app code from server code is necessary. On the countrary,the performance gains will be much bigger , specially for lots of queries of small objects, because each query includes communication overhead. btw, I already found a good example of embedding, it is implemented in a graph database called Titan. here are the files to look for: https://github.com/thinkaurelius/titan/tree/master/titan-cassandra/src/main/java/com/thinkaurelius/titan/diskstorage/cassandra/embedded Regards