#opendaylight-meeting Meeting
Meeting started by colindixon at 17:07:23 UTC
(full logs).
Meeting summary
- Reviewing the Cisco/Insieme APIC controller's clustering and state management (colindixon, 17:07:58)
- similar to MD-SAL in the datastore
design (colindixon,
17:08:16)
- core idea was that you don't want require
network admin to be a DB expert as well (colindixon,
17:08:47)
- General DB (or K-V) store isn't going to solve
things (colindixon,
17:09:12)
- this is because, there aren't good DBs for
storing, subscribing to, and manipulating trees (colindixon,
17:10:42)
- it's all about the trees (colindixon, 17:11:22)
- claim: everything is pretty much a tree, this
is different from tables or other organization, e.g., OVSDB, SQL,
etc. (colindixon,
17:12:26)
- APIC uses a managed object tree (colindixon,
17:12:58)
- everything is a classed object, objects are
hierarchically organized, objects can be subclassed (colindixon,
17:13:34)
- a given object has one and only one parent
(except the root which has no parent) (colindixon,
17:16:28)
- queries (colindixon,
17:17:00)
- queries (colindixon, 17:17:06)
- can query by type (class or superclass),
properties, unique name, scoping by subtree, or a combination of all
of them (colindixon,
17:17:52)
- this whole thing is a very nice fit for RESTful
interfaces (colindixon,
17:19:13)
- comparisons to the MD-SAL model (colindixon,
17:20:22)
- comparisons to the MD-SAL model (colindixon, 17:20:34)
- this is very similar to the MD-SAL, but there
are some key differences (colindixon,
17:20:53)
- RESTCONF doesn't allow class-based queries, for
instance (colindixon,
17:21:10)
- this doesn't necessarily work with YANG, this
is a bit more general, e.g., cross-references are not allowed in
YANG (colindixon,
17:21:43)
- some discussion seems to point to the fact that
this cross-referencing should be possible in YANG as well, but might
take a bit of work (colindixon,
17:24:44)
- sharding (colindixon, 17:27:06)
- the total tree is shared into subtrees with the
root of subtrees being called "context roots" (colindixon,
17:27:36)
- the shards are then mapped onto nodes using
consistent hashing (as in DHTs) (colindixon,
17:28:05)
- sharding is static (defined in the model by
explicitly naming the context root) (colindixon,
17:29:35)
- the sharding is currently always based on the
hierarchy, not based on properties of nodes or anything else
(colindixon,
17:33:44)
- this means that you want to make sure that your
hierarchy is going to match your query patterns so that queries tend
to stay in the same shard (colindixon,
17:35:20)
- mike dvorkin notes that this is a trade-off you
*have* to make if you're going to shard. colindixon agrees.
(colindixon,
17:35:50)
- shard replication (colindixon, 17:37:40)
- shards are replicated 3 times: one is the
"leader" and two are "followers" (colindixon,
17:38:02)
- Madhu asks how the different sections of this
presentation are related, and how this is related to the
MD-SAL (colindixon,
17:41:01)
- jan medved and mike dvorkin say basically, this
is looking at how to model hierarchical data, and store it
efficiently in a clustered sense, it's very similar to how the
MD-SAL stores data (colindixon,
17:41:58)
- a longer discussion between jan, Madhu, and
GiovanniMeo about how to build these things and how this works with
Akka, vs. the MD-SAL in-memory data store vs. Infiinspan vs. APIC
data store (colindixon,
17:44:05)
- wider discussion of data stores (colindixon, 17:46:40)
- GiovanniMeo asks why not infinispan
(colindixon,
17:46:51)
- colindixon says it's trees and consistency
trade-offs seemingly being strange in Infinispan (colindixon,
17:47:13)
- jan medved says (and colindixon agrees) that we
really need this for helium (at least with one good
implementation) (colindixon,
17:48:28)
- jan would like to have many implementations
which we could then test and evaluate (colindixon,
17:48:52)
- colindixon says that would be great, but at
some point practicalities will likely insist that we don't have 4
different implementations (colindixon,
17:49:24)
- back to sharding replication (colindixon, 17:49:31)
- leaders and followers are statically placed, if
a leader fails, a follower steps up (colindixon,
17:54:09)
- the assumption, however, is that the leader
being down is temporary and that when it comes up things will be
moved back to it as soon as it catches up (colindixon,
17:55:35)
- no new followers or leaders are added in
response to the failure as the assumption is that it will recover
soon (colindixon,
17:57:17)
- service/app model (colindixon, 17:58:05)
- the general effort is to co-located code (for
services) with their data based on shards (colindixon,
18:02:16)
- scheduling next meeting (colindixon, 18:02:27)
- we will continue this and the Akka discussion
in meetings later this week with details to be sent to the mailing
list (colindixon,
18:03:34)
Meeting ended at 18:03:38 UTC
(full logs).
Action items
- (none)
People present (lines said)
- colindixon (48)
- odl_meetbot (2)
Generated by MeetBot 0.1.4.