8 Replies Latest reply on Aug 3, 2009 6:08 AM by sirmak

    investigating technology stack with infinispan

    sirmak

      Hi,

      I'm investigating tech. possibilities for a new high traffic web site project. Most high traffic sites prefer ibatis over hibernate, but hibernate have more support & integrations in the industry. There will be a Infinispan hibernate 2nd level cache in the future and maybe other integrations,... I want to ask you "which technology stack I have to choose for a next gen scalable high traffic web site ?".

      - Infinispan + ibatis + compass (+ mysql + spring mvc...)

      or

      - Infinispan + hibernate + compass or hibernate search (+ mysql + spring mvc...)

      I prefer ibatis for high performance but the problem with ibatis is the lack of disributed or replicated caching of entities with infinispan.... it doesn't have a 2nd level cache like in hibernate. I think it is not possible to have a rack solid distributed cache in front of db with ibatis without extra work....is it right ?

      What is the best stack in this scenario in your opinion ? Which combination will be more performant when in a distributed or replicated environment, which will perfrom better and solid when I start to add servers in the cluster with minimal work?

      What I need is:
      - High perfromance, high concurrency
      - Highly scalable
      - Minimal coding work

      Cheers,

        • 1. Re: investigating technology stack with infinispan
          manik

          I am not sure about Ibatis or its support wrt. a distributed 2nd level cache, but we certainly do support this with Hibernate. Hibernate Search is also a good option for full-text object search. Hibernate currently supports JBoss Cache, and a Hibernate Infinispan plugin is in development. Switching between JBoss Cache and Infinispan for your second-level cache should be trivial.

          Also for your front-end, have you considered SEAM instead of Spring MVC? If it is productivity and minimal code writing that you are after, SEAM can help.

          HTH,
          Manik

          • 2. Re: investigating technology stack with infinispan
            sirmak

            Hi Manik,

            thank you for your answer. The selection of spring mvc is because of the need of quercus (php) as the view renderer.

            And I don't understand the difference between hibernate search and infinispan query (searchable) that is in development. When I use the infinispan as hibernate 2nd lc, which one gives a better performance and stability to me ?

            Cheers,

            • 3. Re: investigating technology stack with infinispan
              manik

              If you are using Infinispan as a 2nd level cache, then you will not interface directly with it at all. And as such, you will use Hibernate Search for querying.

              If you were using Infinispan directly though - e.g., as a distributed, in-memory data store - then you would use its own query API.

              • 4. Re: investigating technology stack with infinispan
                sirmak

                thank you, answer is clear. If so, which method is more performant for general use in an high traffic site applicatation such as amazon, ebay.. If you were the architect of amazon.com (with only a hundered servers in the cluster), which one was your selection as a backbone in data access/distributed-replicated caching/searching ?

                cheers,

                • 5. Re: investigating technology stack with infinispan
                  manik

                  If you want proper data-grid cloud-style storage then a database will be of limited use as it will be a single point of failure and a bottleneck. Stick with a distributed data store like Infinispan then. Although timescales need to be considered since at this moment Infinispan is still in alpha (and a beta due very soon). So good enough to test on (and the APIs are already stable), but you'd want to wait a couple of months for a final release before you put it in production.

                  • 6. Re: investigating technology stack with infinispan
                    sirmak

                    We have no deadline and can begin to use alpha, no problem.

                    Key Value storages can be used insted of DB in some areas, because they're persistant. So, what will be the persistance level of Infinispan comparing to convensional DBs when it's released. Can I use Infinispan to store data for hours,weeks or for years ? If Infinispan can swap data to disc why I need a DB for a long time storage ?

                    • 7. Re: investigating technology stack with infinispan
                      manik

                       

                      "sirmak" wrote:
                      If Infinispan can swap data to disc why I need a DB for a long time storage ?


                      That's the point - you don't. :-)

                      If you are running this large cluster in Amazon EC2, for instance, you could configure an S3CacheStore to swap to an S3 bucket.

                      • 8. Re: investigating technology stack with infinispan
                        sirmak

                        perfect, thanks a lot Manik.