5 Replies Latest reply on Jun 14, 2012 2:22 AM by nimo22

    HornetQ persistent store evaluation

    nimo22

      HornetQ provides its own flat-file-database.

       

      ActiveMQ implements LevelDB for their persistent message store which is 5xfaster than its old KahaDB (http://activemq.apache.org/kahadb.html)

       

      LevelDB is a datastore developed by google: http://code.google.com/p/leveldb/

       

      I am wondering if the storage system of HornetQ can be made better/faster by using LevelDB (or some other apache-licensed no-sql-databases).

       


        • 1. Re: HornetQ persistent store evaluation
          jbertram

          The HornetQ journal isn't a flat-file database, and it's quite possible that it is already faster than LevelDB for our use-case.  Have you performed any benchmarks which show ActiveMQ + LevelDB as being faster than HornetQ?

          • 2. Re: HornetQ persistent store evaluation
            nimo22

            No, I have not performed any benchmarks.

             

            The interesting question is:

             

            It would be interesting if HornetQ would even be faster by using other no-sql-stores, such as LevelDB.

             

            I know, HornetQ provides its own, home-made database solution. What kind of store is it?

            • 3. Re: HornetQ persistent store evaluation
              jbertram

              Like I said, the HornetQ journal isn't a database, no-sql or otherwise.  It's a binary journal.

              1 of 1 people found this helpful
              • 4. Re: HornetQ persistent store evaluation
                clebert.suconic

                a Journal is not a DB. a Journal is meant to guarantee the data is preserved for next restart, while a database is optimized to request data at any point.

                 

                Databases are not very good on performance for messaging since they are optimized for other use cases.

                 

                 

                For any message solution you choose a journal-like implementation will be always the faster solution. Any DB-like will be for other requirements (that are not technical). The only requirement so far that we had so far for a DB-plugin was "I want it!".

                 

                But each message solution is different. on our case we have a paging system where we don't need to recover messages in a db-like manner.. that's maybe why we don't need a DB.

                • 5. Re: HornetQ persistent store evaluation
                  nimo22

                  Thanks for the clarification. For messagings, Journals seems indeed better than DBs.