Differences between revisions 1 and 2
Revision 1 as of 2013-07-06 04:45:08
Size: 993
Editor: AndrewStone
Comment:
Revision 2 as of 2013-07-18 17:29:46
Size: 1863
Editor: AndrewStone
Comment:
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
 * Replicated  * '''Replicated:'''
Line 11: Line 11:
 * Nested  * '''Nested:'''
Line 13: Line 13:
 * Persistent  * '''Persistent:'''
Line 15: Line 15:
 * Notifiable  * '''Notifiable:'''
Line 17: Line 17:
 * Shared memory  * '''Shared memory:'''
Line 19: Line 19:
 * Transactional  * '''Transactional:'''
Line 21: Line 21:


== Design ==

In this document the term "Dictionary" will be used to refer to the entire replicated Dictionary abstraction. The term "local replica" will be used to refer to a particular copy of the dictionary.

=== Process Access ===

A Dictionary can be located in process private memory, or in shared memory based on an option when the Dictionary is created.

If a dictionary needs

=== Internode Replication and Communication ===


==== Discovery ====

A dictionary will be registered with the [[Group]] service. It is identified by a well-known [[ClusterUniqueId]] or by the [[ClusterUniqueId]] returned by the [[Group]] registration. It may also be identified by a string entry in the [[Name]] service and APIs will accept either a [[ClusterUniqueId]] or a string name.

==== Replication ====
 

Dictionary

The dictionary entity forms the backbone of the coordination of information between nodes in the cluster. This entity is fully replicated to all nodes that are interested in it -- it is not a "distributed" dictionary where every node has partial data.

Major Features

Most major features can be selected at object creation time to optimize for speed or for utility

  • Replicated: Replicated efficiently to multiple nodes

  • Nested: Dictionary values can be unique identifiers that resolve to another Dictionary

  • Persistent: Dictionaries can automatically store themselves to disk (Persistence)

  • Notifiable: You can subscribe to get notified of changes to dictionaries (Event)

  • Shared memory: For efficiency, a single service per node can maintain coherency (with the rest of the cluster) of a dictionary. To do this the dictionary is stored in shared memory

  • Transactional: Dictionary operations can be wrapped in a Transaction

Design

In this document the term "Dictionary" will be used to refer to the entire replicated Dictionary abstraction. The term "local replica" will be used to refer to a particular copy of the dictionary.

Process Access

A Dictionary can be located in process private memory, or in shared memory based on an option when the Dictionary is created.

If a dictionary needs

Internode Replication and Communication

Discovery

A dictionary will be registered with the Group service. It is identified by a well-known ClusterUniqueId or by the ClusterUniqueId returned by the Group registration. It may also be identified by a string entry in the Name service and APIs will accept either a ClusterUniqueId or a string name.

Replication

SAFplus: Checkpoint (last edited 2015-09-18 02:36:06 by HungTa)