Is JDBC still used?

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Is JDBC still used?

James Green-3
Looking at http://activemq.apache.org/persistence.html and wondering about
building a cluster of brokers for high availability.

Seems JDBC was implemented quite some time ago and has been eclipsed by
KahaDB and now LevelDB but these are local only. There's something very
shiny and new about LevelDB replication but I'm interpreting this as
potentially too new for a production environment.

So is the advice for those needing replicated stores still to use JDBC?
Just point a number of brokers at the same connection or what?

James
Reply | Threaded
Open this post in threaded view
|

Re: Is JDBC still used?

seijoed
JDBC Isn’t replicated, it picks the first master as the one that locks the DB

, but offers you another way of scaling (albeit slower) the security 

of message persistence to say a commercial RDBMS or open source cluster.

It is also allows you to do master slave without a “san” - something many companies

still do :)




Is it as fast as Kaha or Level, no not even remotely close.

On Tue, Jan 6, 2015 at 2:27 AM, James Green <[hidden email]>
wrote:

> Looking at http://activemq.apache.org/persistence.html and wondering about
> building a cluster of brokers for high availability.
> Seems JDBC was implemented quite some time ago and has been eclipsed by
> KahaDB and now LevelDB but these are local only. There's something very
> shiny and new about LevelDB replication but I'm interpreting this as
> potentially too new for a production environment.
> So is the advice for those needing replicated stores still to use JDBC?
> Just point a number of brokers at the same connection or what?
> James
Reply | Threaded
Open this post in threaded view
|

Re: Is JDBC still used?

Tim Bain
James,

To the point you made about whether LevelDB is production-ready, I think
the consensus from recent threads on this mailing list is that LevelDB in
5.10 (and also 5.11 snapshots, I think) still has more problems than most
of the people who've used it are comfortable with.  Those bugs will get
flushed out sooner if you're able to try out LevelDB and help track them
down, but it's probably best to do that in a non-production environment if
you can't afford to hit the occasional problem in production.

Disclaimer: I haven't ever run with LevelDB, so these opinions are based
solely on the variety of requests for support by people on this list.
Search the list archives to see what you might hit, and as always with
relatively new features, look carefully at the AMQ JIRA to see what's been
reported and what's been fixed.

Tim

On Tue, Jan 6, 2015 at 9:32 AM, <[hidden email]> wrote:

> JDBC Isn’t replicated, it picks the first master as the one that locks the
> DB
>
> , but offers you another way of scaling (albeit slower) the security
>
> of message persistence to say a commercial RDBMS or open source cluster.
>
> It is also allows you to do master slave without a “san” - something many
> companies
>
> still do :)
>
>
>
>
> Is it as fast as Kaha or Level, no not even remotely close.
>
> On Tue, Jan 6, 2015 at 2:27 AM, James Green <[hidden email]>
> wrote:
>
> > Looking at http://activemq.apache.org/persistence.html and wondering
> about
> > building a cluster of brokers for high availability.
> > Seems JDBC was implemented quite some time ago and has been eclipsed by
> > KahaDB and now LevelDB but these are local only. There's something very
> > shiny and new about LevelDB replication but I'm interpreting this as
> > potentially too new for a production environment.
> > So is the advice for those needing replicated stores still to use JDBC?
> > Just point a number of brokers at the same connection or what?
> > James
>
Reply | Threaded
Open this post in threaded view
|

Re: Is JDBC still used?

artnaseef
I agree that LevelDB has bugs.  KahaDB with a shared filesystem master/slave is still the standard practice for a highly-available broker installation.
Reply | Threaded
Open this post in threaded view
|

Re: Is JDBC still used?

artnaseef
Oh, and JDBC has been known to have issues - especially having poor performance.  There is no optimization in its interactions with the DB at all (e.g. no indices).
Reply | Threaded
Open this post in threaded view
|

Re: Is JDBC still used?

gtully
art, checkout the jdbc statements - there are indices
https://github.com/apache/activemq/blob/d54e0d6ab590b6a6148a5e2629c45b95d3f40eb8/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/Statements.java#L102

and there is nothing to stop further partitioning etc - by some
knowledgeable dba
a bit that is missing is batching, but the idea is to shovel the bits
in as fast as connections will allow so that the db backend can batch
writes.

On 8 January 2015 at 00:00, artnaseef <[hidden email]> wrote:
> Oh, and JDBC has been known to have issues - especially having poor
> performance.  There is no optimization in its interactions with the DB at
> all (e.g. no indices).
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/Is-JDBC-still-used-tp4689546p4689628.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Reply | Threaded
Open this post in threaded view
|

Re: Is JDBC still used?

artnaseef
Thanks for the correction Gary.  Somehow, I missed those.

As you mention, more tuning can be done on the DB side, and that would be wise.