tag:blogger.com,1999:blog-4556017295143623721.post667324063241135221..comments2022-09-25T00:23:28.925+05:30Comments on Tushar Khairnar's Tech Blog: Links : Kill Your Database with TerracottaUnknownnoreply@blogger.comBlogger4125tag:blogger.com,1999:blog-4556017295143623721.post-91577599709661962962009-01-04T22:44:00.000+05:302009-01-04T22:44:00.000+05:30@Nati,Hi Nati,Again thanks for the some more light...@Nati,<BR/>Hi Nati,<BR/>Again thanks for the some more light on the real issues. Recently there have been very much interest in the idea of using Terracotta as some sort of data storage medium. Surely, it can be done but usage is limited. Terracotta can not be used as in-memory grid. But surely, it has some extensions like tim-async which implement part of the functionality of IMG and in some situation would be perfect fit. Terracotta reference application is one good example of this pattern.<BR/><BR/>Tushar <BR/><BR/>@web design india<BR/>thanksTushar Khairnarhttps://www.blogger.com/profile/17988114484207923075noreply@blogger.comtag:blogger.com,1999:blog-4556017295143623721.post-71691457666483934512009-01-03T17:10:00.000+05:302009-01-03T17:10:00.000+05:30This comment has been removed by a blog administrator.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4556017295143623721.post-46798207879321923032009-01-03T17:09:00.000+05:302009-01-03T17:09:00.000+05:30ur blog Is very niceur blog Is very niceAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-4556017295143623721.post-83041254335598383692008-12-13T20:09:00.000+05:302008-12-13T20:09:00.000+05:30TusharThere are few points that one should conside...Tushar<BR/><BR/>There are few points that one should consider with this pattern:<BR/><BR/>1. What do you do in case you already have an existing database, how do you integrate existing system with this model? You would find that this is probably one of the more common scenarios. In this case you will also find that mapping data from its existing format to the In-Memory representation is required. Note the use of external datasource as a plug-in allows you to plug-in different database implementation and mapping styles. The common one would be hibernate plug-in for existing database and black-box plug-in in case your just looking for durability and you don't care how the data is being stored. We found that this level of flexibility is required as in many cases the database serves also as an integration point with other applications and not just as a persistent storage.<BR/><BR/>2. What happens in case of a failure i.e. when the database server is down for 10 hours? Can the application continue to run?<BR/><BR/>3. How do you manage the transaction scope? If transaction is blocked until the database is synched you may loose large part of the performance benefit of working in-memory for read/write scenarios.<BR/><BR/><BR/>This has been some of the assumptions behind the design of our reliable async replication and Mirror service which runs today and already being used in most mission critical application in the trading area.<BR/><BR/>You can see more details on this pattern in some of my earlier posts <A HREF="http://natishalom.typepad.com/nati_shaloms_blog/2008/03/scaling-out-mys.html" REL="nofollow">here</A> and <A HREF="http://natishalom.typepad.com/nati_shaloms_blog/2007/09/putting-the-dat.html" REL="nofollow">here</A><BR/><BR/><BR/>My2c<BR/>Nati S.<BR/><A HREF="http://www.gigaspaces.com" REL="nofollow">GigaSpaces</A>Anonymousnoreply@blogger.com