-
1. Re: RHQ.next Inventory Design Proposals
brmeyer Nov 14, 2014 9:20 AM (in response to lkrejci)One alternative to consider is something we've discussed with Thomas and Heiko: http://www.projectoverlord.io/s-ramp
Frankly, the RHQ Inventory requirements and articles I've seen, so far, read like S-RAMP overview guides. Many of the posed questions are the very reason the spec and our implementation exist. Some of the thoughts are described here: https://docs.google.com/document/d/1WiI0i0uq8wIOS8w13aYIsAt0zLYAZO77W0DKFP4O1UU/edit?usp=sharing
I had also put together the following, describing the structure and nature of our tree, as there were several questions and concerns about using a hierarchical graph. S-RAMP's tree structure design
-
2. Re: RHQ.next Inventory Design Proposals
lkrejci Nov 14, 2014 9:34 AM (in response to brmeyer)Thanks, Brett for the links.
I've known S-RAMP for a year or so but frankly, at the start, it didn't occur to me as a possible candidate for inventory storage. But you're right, there's a large overlap of concepts that we need supported. Certainly at least at the storage side of things, S-RAMP will be taken into consideration when we get to the point of deciding on technology (right now, we're just coming up with the usecases and workflows really).
One question I have about S-RAMP though is how much does it scale - can it handle cca 500k "documents" with each having at least 3 relationships (a rough approximation of the larger inventories we anticipate that I just pulled out of thin air)?
-
3. Re: Re: RHQ.next Inventory Design Proposals
brmeyer Nov 14, 2014 9:42 AM (in response to lkrejci)One question I have about S-RAMP though is how much does it scale - can it handle cca 500k "documents" with each having at least 3 relationships (a rough approximation of the larger inventories we anticipate that I just pulled out of thin air)?
Absolutely! Realistically, the S-RAMP project itself is extremely lightweight. Most performance considerations lean on our use of ModeShape/Infinispan. The above link describes our tree structure, which was designed with ModeShape's help and with performance/scalability as the primary concern. The specific approach is described in detail here: http://modeshape.wordpress.com/2014/08/14/improving-performance-with-large-numbers-of-child-nodes/
-
4. Re: RHQ.next Inventory Design Proposals
lkrejci Nov 21, 2014 6:19 PM (in response to lkrejci)The design doc on google docs has just been updated with additional details. We're getting close to have the design "compiled" (but NOT finished at all - this is a starting point to discussion).
-
5. Re: RHQ.next Inventory Design Proposals
brmeyer Jan 12, 2015 10:31 AM (in response to lkrejci)Hey guys, I've been discussing the following with Lukas and Thomas -- capturing it here.
As mentioned, the feature overlap between Artificer (formerly "S-RAMP") and Inventory seems to be fairly significant. Missing metadata, queries, etc. can be quickly addressed, for the most part.
There's been a lot of discussions about graph databases. Although I'm confident JCR/ModeShape, and Artificer's tree structure, can handle the proposed loads (I'll soon be working on performance tests), here's something to consider. Artificer is purposefully modularized, including abstraction for adding additional storage solutions. Although JCR/ModeShape is our current one, Artificer is setup such that we could add support for a graph backend. It would obviously be a decent amount of work, but in the end, it may be more worthwhile than attempting to write all your features from-scratch. So, if the backing storage is the only hold up, adding support for graph databases within Artificer may be important to explore, especially considering the rest of the overlap and OOTB capabilities that already exist.
Just my $.02.
-
6. Re: RHQ.next Inventory Design Proposals
jayshaughnessy Jan 12, 2015 11:47 AM (in response to brmeyer)I know I've seen mention of TitanDB as a graph DB fronting Cassandra. I have not seen any evidence that we've actually tried using it. But the idea that it already leverages a Cassandra cluster is attractive given that hawkular-metrics is already using Cassandra. I guess my [naive] question is whether the proposed work for Artificer to to "support a graph backend" means that it would be a layer on top of something like TitanDB or would replace, for example, TitanDB? And if that latter, would it be able to leverage the Cassandra repository or does it add another repository solution to the mix?
-
7. Re: RHQ.next Inventory Design Proposals
lkrejci Jan 13, 2015 6:38 PM (in response to jayshaughnessy)Artificer would I assume be a layer on top of Titan which would be a layer on top of Cassandra. We have some rudimentary perf tests of Titan that Jirka has written up: https://github.com/Jiri-Kremser/rhq-titan-poc but we need a) more work on those tests themselves and b) compare them against something. It would be interesting to see how Titan would compare against Artificer with its current Modeshape backend.
-
8. Re: RHQ.next Inventory Design Proposals
lkrejci Jan 13, 2015 6:46 PM (in response to brmeyer)There's a question about Artificer that I've wanted to ask. Does it support transactions?
-
9. Re: RHQ.next Inventory Design Proposals
brmeyer Jan 13, 2015 7:08 PM (in response to lkrejci)> I guess my [naive] question is whether the proposed work for Artificer to to "support a graph backend" means that it would be a layer on top of something like TitanDB
> Artificer would I assume be a layer on top of Titan which would be a layer on top of Cassandra.
Correct, sorry for not being clearer. Artificer would sit on top of TitanDB and/or Cassandra and simply use it as its backing storage.
> There's a question about Artificer that I've wanted to ask. Does it support transactions?
It's not something we handle on our own -- we largely punt to the backing storage solution for those types of things. Obviously, it's definitely possible with ModeShape and Infinispan (just a matter of configuring it). Although, supporting JTA within our Java client is an interesting thought...