Äcdocutils.nodes
document
q)Åq}q(U	nametypesq}q(X���zookeeper recipesqàX���drbdqàX	���zookeeperqàX���generalq	NX9���file based object store with distributed revision controlq
NX���replication notesqNX!���scenario 1: adding a new documentqNX���gitq
àX	���hazelcastqàX���member nodesqNX ���using a distributed lock managerqNX���distributed version controlqàX	���resourcesqNX!���distributed execution environmentqNX���coordinating nodesqNX
���disadvantagesqNX���metacatqàX���coordinating node object storeqNX
���advantagesqNX���bazaarqàX	���mercurialqàX%���metacat as replicating object managerqNX���389 directory serverqàX���mm_replicationqàuUsubstitution_defsq}qUparse_messagesq ]q!(cdocutils.nodes
system_message
q")Åq#}q$(U	rawsourceq%U�U
attributesq&}q'(Udupnamesq(]UlevelKUidsq)]Ubackrefsq*]UsourceXf���/var/lib/jenkins/jobs/API_Documentation_trunk/workspace/api-documentation/source/notes/Replication.txtq+Uclassesq,]Unamesq-]UlineKwUtypeUINFOq.uUparentq/cdocutils.nodes
entry
q0)Åq1}q2(h%U�h&}q3(h(]h,]h*]h)]h-]uh/cdocutils.nodes
row
q4)Åq5}q6(h%U�h&}q7(h(]h,]h*]h)]h-]uh/cdocutils.nodes
tbody
q8)Åq9}q:(h%U�h&}q;(h(]h,]h*]h)]h-]uh/cdocutils.nodes
tgroup
q<)Åq=}q>(h%U�h&}q?(h)]h*]h(]h,]h-]UcolsKuh/cdocutils.nodes
table
q@)ÅqA}qB(h%U�h/cdocutils.nodes
section
qC)ÅqD}qE(h%U�h/hC)ÅqF}qG(h%U�h/hUsourceqHh+UtagnameqIUsectionqJh&}qK(h(]h,]h*]h)]qLUreplication-notesqMah-]qNhauUlineqOKUdocumentqPhUchildrenqQ]qR(cdocutils.nodes
title
qS)ÅqT}qU(h%X���Replication NotesqVh/hFhHh+hIUtitleqWh&}qX(h(]h,]h*]h)]h-]uhOKhPhhQ]qYcdocutils.nodes
Text
qZX���Replication Notesq[ÖÅq\}q](h%hVh/hTubaubcdocutils.nodes
field_list
q^)Åq_}q`(h%U�h/hFhHh+hIU
field_listqah&}qb(h(]h,]h*]h)]h-]uhOKhPhhQ]qccdocutils.nodes
field
qd)Åqe}qf(h%U�h/h_hHh+hIUfieldqgh&}qh(h(]h,]h*]h)]h-]uhOKhPhhQ]qi(cdocutils.nodes
field_name
qj)Åqk}ql(h%X���Authorqmh/hehHh+hIU
field_nameqnh&}qo(h(]h,]h*]h)]h-]uhOK�hQ]qphZX���AuthorqqÖÅqr}qs(h%hmh/hkubaubcdocutils.nodes
field_body
qt)Åqu}qv(h%X���Dave Vieglas

h&}qw(h(]h,]h*]h)]h-]uh/hehQ]qxcdocutils.nodes
paragraph
qy)Åqz}q{(h%X���Dave Vieglasq|h/huhHh+hIU	paragraphq}h&}q~(h(]h,]h*]h)]h-]uhOKhQ]qhZX���Dave VieglasqÄÖÅqÅ}qÇ(h%h|h/hzubaubahIU
field_bodyqÉubeubaubhy)ÅqÑ}qÖ(h%XR���This document contains notes about replication that may be of some use in
DataONE.qÜh/hFhHh+hIh}h&}qá(h(]h,]h*]h)]h-]uhOKhPhhQ]qàhZXR���This document contains notes about replication that may be of some use in
DataONE.qâÖÅqä}qã(h%hÜh/hÑubaubhC)Åqå}qç(h%U�h/hFhHh+hIhJh&}qé(h(]h,]h*]h)]qèUgeneralqêah-]qëh	auhOKhPhhQ]qí(hS)Åqì}qî(h%X���Generalqïh/håhHh+hIhWh&}qñ(h(]h,]h*]h)]h-]uhOKhPhhQ]qóhZX���GeneralqòÖÅqô}qö(h%hïh/hìubaubcdocutils.nodes
block_quote
qõ)Åqú}qù(h%U�h/håhHNhIUblock_quoteqûh&}qü(h(]h,]h*]h)]h-]uhONhPhhQ]q†cdocutils.nodes
enumerated_list
q°)Åq¢}q£(h%U�h&}q§(Usuffixq•U.h)]h*]h(]Uprefixq¶U�h,]h-]UenumtypeqßUarabicq®uh/húhQ]q©(cdocutils.nodes
list_item
q™)Åq´}q¨(h%X=���Reduce complex transactions to be written by a single server
h&}q≠(h(]h,]h*]h)]h-]uh/h¢hQ]qÆhy)ÅqØ}q∞(h%X<���Reduce complex transactions to be written by a single serverq±h/h´hHh+hIh}h&}q≤(h(]h,]h*]h)]h-]uhOKhQ]q≥hZX<���Reduce complex transactions to be written by a single serverq¥ÖÅqµ}q∂(h%h±h/hØubaubahIU	list_itemq∑ubh™)Åq∏}qπ(h%X���Monitor the server log
h&}q∫(h(]h,]h*]h)]h-]uh/h¢hQ]qªhy)Åqº}qΩ(h%X���Monitor the server logqæh/h∏hHh+hIh}h&}qø(h(]h,]h*]h)]h-]uhOKhQ]q¿hZX���Monitor the server logq¡ÖÅq¬}q√(h%hæh/hºubaubahIh∑ubh™)Åqƒ}q≈(h%Xo���Be prepared for failure. The more data is distributed and scaled, the
more likely failure will be encountered.
h&}q∆(h(]h,]h*]h)]h-]uh/h¢hQ]q«hy)Åq»}q…(h%Xn���Be prepared for failure. The more data is distributed and scaled, the
more likely failure will be encountered.q h/hƒhHh+hIh}h&}qÀ(h(]h,]h*]h)]h-]uhOKhQ]qÃhZXn���Be prepared for failure. The more data is distributed and scaled, the
more likely failure will be encountered.qÕÖÅqŒ}qœ(h%h h/h»ubaubahIh∑ubehIUenumerated_listq–ubaubeubhC)Åq—}q“(h%U�h/hFhHh+hIhJh&}q”(h(]h,]h*]h)]q‘Ucoordinating-nodesq’ah-]q÷hauhOKhPhhQ]q◊(hS)Åqÿ}qŸ(h%X���Coordinating Nodesq⁄h/h—hHh+hIhWh&}q€(h(]h,]h*]h)]h-]uhOKhPhhQ]q‹hZX���Coordinating Nodesq›ÖÅqfi}qfl(h%h⁄h/hÿubaubhy)Åq‡}q·(h%Xó���CNs need to keep a copy of all science metadata, and it is expected that
each CN will be replicated with the others, so that each will appear the same.q‚h/h—hHh+hIh}h&}q„(h(]h,]h*]h)]h-]uhOKhPhhQ]q‰hZXó���CNs need to keep a copy of all science metadata, and it is expected that
each CN will be replicated with the others, so that each will appear the same.qÂÖÅqÊ}qÁ(h%h‚h/h‡ubaubhy)ÅqË}qÈ(h%X&���There will be three CNs to start with.qÍh/h—hHh+hIh}h&}qÎ(h(]h,]h*]h)]h-]uhOKhPhhQ]qÏhZX&���There will be three CNs to start with.qÌÖÅqÓ}qÔ(h%hÍh/hËubaubhy)Åq}qÒ(h%XI���There's basically three models for dealing with replication in this case:qÚh/h—hHh+hIh}h&}qÛ(h(]h,]h*]h)]h-]uhOKhPhhQ]qÙhZXI���There's basically three models for dealing with replication in this case:qıÖÅqˆ}q˜(h%hÚh/hubaubhõ)Åq¯}q˘(h%U�h/h—hHNhIhûh&}q˙(h(]h,]h*]h)]h-]uhONhPhhQ]q˚cdocutils.nodes
bullet_list
q¸)Åq˝}q˛(h%U�h&}qˇ(Ubulletr���X���-h)]h*]h(]h,]h-]uh/h¯hQ]r��(h™)År��}r��(h%X���single master, two slavesr��h&}r��(h(]h,]h*]h)]h-]uh/h˝hQ]r��hy)År��}r��(h%j��h/j��hHh+hIh}h&}r	��(h(]h,]h*]h)]h-]uhOKhQ]r
��hZX���single master, two slavesr��ÖÅr��}r
��(h%j��h/j��ubaubahIh∑ubh™)År��}r��(h%X2���ring - write one, it writes to the next, and so onr��h&}r��(h(]h,]h*]h)]h-]uh/h˝hQ]r��hy)År��}r��(h%j��h/j��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOK hQ]r��hZX2���ring - write one, it writes to the next, and so onr��ÖÅr��}r��(h%j��h/j��ubaubahIh∑ubh™)År��}r��(h%X2���multi-master. Write to any, replication to others
h&}r��(h(]h,]h*]h)]h-]uh/h˝hQ]r��hy)År��}r��(h%X1���multi-master. Write to any, replication to othersr ��h/j��hHh+hIh}h&}r!��(h(]h,]h*]h)]h-]uhOK!hQ]r"��hZX1���multi-master. Write to any, replication to othersr#��ÖÅr$��}r%��(h%j ��h/j��ubaubahIh∑ubehIUbullet_listr&��ubaubhy)År'��}r(��(h%X√���Multi-master replication would be the ideal option, as each CN would then
offer identical functionality rather than the alternative of redirecting
(presumably) 2/3 of requests to the master node.r)��h/h—hHh+hIh}h&}r*��(h(]h,]h*]h)]h-]uhOK#hPhhQ]r+��hZX√���Multi-master replication would be the ideal option, as each CN would then
offer identical functionality rather than the alternative of redirecting
(presumably) 2/3 of requests to the master node.r,��ÖÅr-��}r.��(h%j)��h/j'��ubaubhy)År/��}r0��(h%XF���There are basically two categories of information that are replicated:r1��h/h—hHh+hIh}h&}r2��(h(]h,]h*]h)]h-]uhOK'hPhhQ]r3��hZXF���There are basically two categories of information that are replicated:r4��ÖÅr5��}r6��(h%j1��h/j/��ubaubhõ)År7��}r8��(h%U�h/h—hHNhIhûh&}r9��(h(]h,]h*]h)]h-]uhONhPhhQ]r:��h¸)År;��}r<��(h%U�h&}r=��(j���X���-h)]h*]h(]h,]h-]uh/j7��hQ]r>��(h™)År?��}r@��(h%X8���science metadata, which is information about a data set
h&}rA��(h(]h,]h*]h)]h-]uh/j;��hQ]rB��hy)ÅrC��}rD��(h%X7���science metadata, which is information about a data setrE��h/j?��hHh+hIh}h&}rF��(h(]h,]h*]h)]h-]uhOK)hQ]rG��hZX7���science metadata, which is information about a data setrH��ÖÅrI��}rJ��(h%jE��h/jC��ubaubahIh∑ubh™)ÅrK��}rL��(h%Xø���system metadata, which is information that is used to keep track of things
such as the science metadata, MN capabilities and state, perhaps groups
and access control lists, identity mappings
h&}rM��(h(]h,]h*]h)]h-]uh/j;��hQ]rN��hy)ÅrO��}rP��(h%Xæ���system metadata, which is information that is used to keep track of things
such as the science metadata, MN capabilities and state, perhaps groups
and access control lists, identity mappingsrQ��h/jK��hHh+hIh}h&}rR��(h(]h,]h*]h)]h-]uhOK+hQ]rS��hZX��system metadata, which is information that is used to keep track of things
such as the science metadata, MN capabilities and state, perhaps groups
and access control lists, identity mappingsrT��ÖÅrU��}rV��(h%jQ��h/jO��ubaubahIh∑ubehIj&��ubaubeubhC)ÅrW��}rX��(h%U�h/hFhHh+hIhJh&}rY��(h(]h,]h*]h)]rZ��Umember-nodesr[��ah-]r\��hauhOK0hPhhQ]r]��(hS)År^��}r_��(h%X���Member Nodesr`��h/jW��hHh+hIhWh&}ra��(h(]h,]h*]h)]h-]uhOK0hPhhQ]rb��hZX���Member Nodesrc��ÖÅrd��}re��(h%j`��h/j^��ubaubhy)Årf��}rg��(h%X��Replication of data is achieved by copying content between Member Nodes until
sufficient copies have been made to address concerns of access (x% of MNs may
be offline and the content can still be reached) and efficiency of access
(Internet distance between client and the MN).rh��h/jW��hHh+hIh}h&}ri��(h(]h,]h*]h)]h-]uhOK2hPhhQ]rj��hZX��Replication of data is achieved by copying content between Member Nodes until
sufficient copies have been made to address concerns of access (x% of MNs may
be offline and the content can still be reached) and efficiency of access
(Internet distance between client and the MN).rk��ÖÅrl��}rm��(h%jh��h/jf��ubaubeubhC)Årn��}ro��(h%U�h/hFhHh+hIhJh&}rp��(h(]h,]h*]h)]rq��U	resourcesrr��ah-]rs��hauhOK8hPhhQ]rt��(hS)Åru��}rv��(h%X	���Resourcesrw��h/jn��hHh+hIhWh&}rx��(h(]h,]h*]h)]h-]uhOK8hPhhQ]ry��hZX	���Resourcesrz��ÖÅr{��}r|��(h%jw��h/ju��ubaubhõ)År}��}r~��(h%U�h/jn��hHNhIhûh&}r��(h(]h,]h*]h)]h-]uhONhPhhQ]rÄ��h¸)ÅrÅ��}rÇ��(h%U�h&}rÉ��(j���X���-h)]h*]h(]h,]h-]uh/j}��hQ]rÑ��(h™)ÅrÖ��}rÜ��(h%X���rcs - venerable, functionalrá��h&}rà��(h(]h,]h*]h)]h-]uh/jÅ��hQ]râ��hy)Årä��}rã��(h%já��h/jÖ��hHh+hIh}h&}rå��(h(]h,]h*]h)]h-]uhOK:hQ]rç��hZX���rcs - venerable, functionalré��ÖÅrè��}rê��(h%já��h/jä��ubaubahIh∑ubh™)Årë��}rí��(h%X.���inotify - the linux kernel file system monitorrì��h&}rî��(h(]h,]h*]h)]h-]uh/jÅ��hQ]rï��hy)Årñ��}ró��(h%jì��h/jë��hHh+hIh}h&}rò��(h(]h,]h*]h)]h-]uhOK;hQ]rô��hZX.���inotify - the linux kernel file system monitorrö��ÖÅrõ��}rú��(h%jì��h/jñ��ubaubahIh∑ubh™)Årù��}rû��(h%X2���LDAP multi-master (OpenLDAP, 389 Directory Server)rü��h&}r†��(h(]h,]h*]h)]h-]uh/jÅ��hQ]r°��hy)År¢��}r£��(h%jü��h/jù��hHh+hIh}h&}r§��(h(]h,]h*]h)]h-]uhOK<hQ]r•��hZX2���LDAP multi-master (OpenLDAP, 389 Directory Server)r¶��ÖÅrß��}r®��(h%jü��h/j¢��ubaubahIh∑ubh™)År©��}r™��(h%X���MySQL multi-masterr´��h&}r¨��(h(]h,]h*]h)]h-]uh/jÅ��hQ]r≠��hy)ÅrÆ��}rØ��(h%j´��h/j©��hHh+hIh}h&}r∞��(h(]h,]h*]h)]h-]uhOK=hQ]r±��hZX���MySQL multi-masterr≤��ÖÅr≥��}r¥��(h%j´��h/jÆ��ubaubahIh∑ubh™)Årµ��}r∂��(h%XJ���Microsoft's File System Replication Service and/or Distributed File Systemr∑��h&}r∏��(h(]h,]h*]h)]h-]uh/jÅ��hQ]rπ��hy)År∫��}rª��(h%j∑��h/jµ��hHh+hIh}h&}rº��(h(]h,]h*]h)]h-]uhOK>hQ]rΩ��hZXJ���Microsoft's File System Replication Service and/or Distributed File Systemræ��ÖÅrø��}r¿��(h%j∑��h/j∫��ubaubahIh∑ubh™)År¡��}r¬��(h%X���slony1 for Postgresqlr√��h&}rƒ��(h(]h,]h*]h)]h-]uh/jÅ��hQ]r≈��hy)År∆��}r«��(h%j√��h/j¡��hHh+hIh}h&}r»��(h(]h,]h*]h)]h-]uhOK?hQ]r…��hZX���slony1 for Postgresqlr ��ÖÅrÀ��}rÃ��(h%j√��h/j∆��ubaubahIh∑ubh™)ÅrÕ��}rŒ��(h%X���DRBD_  (dual master)rœ��h&}r–��(h(]h,]h*]h)]h-]uh/jÅ��hQ]r—��hy)År“��}r”��(h%jœ��h/jÕ��hHh+hIh}h&}r‘��(h(]h,]h*]h)]h-]uhOK@hQ]r’��(cdocutils.nodes
reference
r÷��)År◊��}rÿ��(h%X���DRBD_UresolvedrŸ��Kh/j“��hIU	referencer⁄��h&}r€��(UnameX���DRBDUrefurir‹��X&���http://www.drbd.org/home/what-is-drbd/r›��h)]h*]h(]h,]h-]uhQ]rfi��hZX���DRBDrfl��ÖÅr‡��}r·��(h%U�h/j◊��ubaubhZX���  (dual master)r‚��ÖÅr„��}r‰��(h%X���  (dual master)h/j“��ubeubahIh∑ubh™)ÅrÂ��}rÊ��(h%X���Git_rÁ��h&}rË��(h(]h,]h*]h)]h-]uh/jÅ��hQ]rÈ��hy)ÅrÍ��}rÎ��(h%jÁ��h/jÂ��hHh+hIh}h&}rÏ��(h(]h,]h*]h)]h-]uhOKAhQ]rÌ��j÷��)ÅrÓ��}rÔ��(h%X���Git_jŸ��Kh/jÍ��hIj⁄��h&}r��(UnameX���Gitj‹��X���http://git-scm.com/rÒ��h)]h*]h(]h,]h-]uhQ]rÚ��hZX���GitrÛ��ÖÅrÙ��}rı��(h%U�h/jÓ��ubaubaubahIh∑ubh™)Årˆ��}r˜��(h%X
���Mercurial_r¯��h&}r˘��(h(]h,]h*]h)]h-]uh/jÅ��hQ]r˙��hy)År˚��}r¸��(h%j¯��h/jˆ��hHh+hIh}h&}r˝��(h(]h,]h*]h)]h-]uhOKBhQ]r˛��j÷��)Årˇ��}r���(h%X
���Mercurial_jŸ��Kh/j˚��hIj⁄��h&}r��(UnameX	���Mercurialj‹��X���http://mercurial.selenic.com/r��h)]h*]h(]h,]h-]uhQ]r��hZX	���Mercurialr��ÖÅr��}r��(h%U�h/jˇ��ubaubaubahIh∑ubh™)År��}r��(h%X���Bazaar_r	��h&}r
��(h(]h,]h*]h)]h-]uh/jÅ��hQ]r��hy)År��}r
��(h%j	��h/j��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKChQ]r��j÷��)År��}r��(h%X���Bazaar_jŸ��Kh/j��hIj⁄��h&}r��(UnameX���Bazaarj‹��X���http://bazaar-vcs.org/en/r��h)]h*]h(]h,]h-]uhQ]r��hZX���Bazaarr��ÖÅr��}r��(h%U�h/j��ubaubaubahIh∑ubh™)År��}r��(h%X���Metacat_r��h&}r��(h(]h,]h*]h)]h-]uh/jÅ��hQ]r��hy)År��}r��(h%j��h/j��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKDhQ]r ��j÷��)År!��}r"��(h%X���Metacat_jŸ��Kh/j��hIj⁄��h&}r#��(UnameX���Metacatj‹��X/���http://knb.ecoinformatics.org/software/metacat/r$��h)]h*]h(]h,]h-]uhQ]r%��hZX���Metacatr&��ÖÅr'��}r(��(h%U�h/j!��ubaubaubahIh∑ubh™)År)��}r*��(h%X���Zookeeper_

h&}r+��(h(]h,]h*]h)]h-]uh/jÅ��hQ]r,��hy)År-��}r.��(h%X
���Zookeeper_h/j)��hHh+hIh}h&}r/��(h(]h,]h*]h)]h-]uhOKEhQ]r0��j÷��)År1��}r2��(h%X
���Zookeeper_jŸ��Kh/j-��hIj⁄��h&}r3��(UnameX	���Zookeeperj‹��X"���http://hadoop.apache.org/zookeeperr4��h)]h*]h(]h,]h-]uhQ]r5��hZX	���Zookeeperr6��ÖÅr7��}r8��(h%U�h/j1��ubaubaubahIh∑ubehIj&��ubaubeubhC)År9��}r:��(h%U�h/hFhHh+hIhJh&}r;��(h(]h,]h*]h)]r<��Ucoordinating-node-object-storer=��ah-]r>��hauhOKIhPhhQ]r?��(hS)År@��}rA��(h%X���Coordinating Node Object StorerB��h/j9��hHh+hIhWh&}rC��(h(]h,]h*]h)]h-]uhOKIhPhhQ]rD��hZX���Coordinating Node Object StorerE��ÖÅrF��}rG��(h%jB��h/j@��ubaubhy)ÅrH��}rI��(h%Xj��The CN object store (CN-OS) is responsible for holding a copy of all science
and system metadata, enabling retrieval of objects by an identifier and for
ensuring that the local copy is synchronized with the other CNs. The CN-OS is
analogous to a replicated dictionary with the identifiers being keys and the
science or system metadata documents being the values.rJ��h/j9��hHh+hIh}h&}rK��(h(]h,]h*]h)]h-]uhOKKhPhhQ]rL��hZXj��The CN object store (CN-OS) is responsible for holding a copy of all science
and system metadata, enabling retrieval of objects by an identifier and for
ensuring that the local copy is synchronized with the other CNs. The CN-OS is
analogous to a replicated dictionary with the identifiers being keys and the
science or system metadata documents being the values.rM��ÖÅrN��}rO��(h%jJ��h/jH��ubaubhy)ÅrP��}rQ��(h%X$���The CN-OS should support operations:rR��h/j9��hHh+hIh}h&}rS��(h(]h,]h*]h)]h-]uhOKQhPhhQ]rT��hZX$���The CN-OS should support operations:rU��ÖÅrV��}rW��(h%jR��h/jP��ubaubh¸)ÅrX��}rY��(h%U�h/j9��hHh+hIj&��h&}rZ��(j���X���-h)]h*]h(]h,]h-]uhOKShPhhQ]r[��(h™)År\��}r]��(h%X���Create(pid)
h/jX��hHh+hIh∑h&}r^��(h(]h,]h*]h)]h-]uhONhPhhQ]r_��hy)År`��}ra��(h%X���Create(pid)rb��h/j\��hHh+hIh}h&}rc��(h(]h,]h*]h)]h-]uhOKShQ]rd��hZX���Create(pid)re��ÖÅrf��}rg��(h%jb��h/j`��ubaubaubh™)Årh��}ri��(h%X
���Read(pid)
h/jX��hHh+hIh∑h&}rj��(h(]h,]h*]h)]h-]uhONhPhhQ]rk��hy)Årl��}rm��(h%X	���Read(pid)rn��h/jh��hHh+hIh}h&}ro��(h(]h,]h*]h)]h-]uhOKUhQ]rp��hZX	���Read(pid)rq��ÖÅrr��}rs��(h%jn��h/jl��ubaubaubh™)Årt��}ru��(h%X���Update(pid)
h/jX��hHh+hIh∑h&}rv��(h(]h,]h*]h)]h-]uhONhPhhQ]rw��hy)Årx��}ry��(h%X���Update(pid)rz��h/jt��hHh+hIh}h&}r{��(h(]h,]h*]h)]h-]uhOKWhQ]r|��hZX���Update(pid)r}��ÖÅr~��}r��(h%jz��h/jx��ubaubaubh™)ÅrÄ��}rÅ��(h%X���Delete(pid)
h/jX��hHh+hIh∑h&}rÇ��(h(]h,]h*]h)]h-]uhONhPhhQ]rÉ��hy)ÅrÑ��}rÖ��(h%X���Delete(pid)rÜ��h/jÄ��hHh+hIh}h&}rá��(h(]h,]h*]h)]h-]uhOKYhQ]rà��hZX���Delete(pid)râ��ÖÅrä��}rã��(h%jÜ��h/jÑ��ubaubaubh™)Årå��}rç��(h%X!���List(start, stop, restriction)


h/jX��hHh+hIh∑h&}ré��(h(]h,]h*]h)]h-]uhONhPhhQ]rè��hy)Årê��}rë��(h%X���List(start, stop, restriction)rí��h/jå��hHh+hIh}h&}rì��(h(]h,]h*]h)]h-]uhOK[hQ]rî��hZX���List(start, stop, restriction)rï��ÖÅrñ��}ró��(h%jí��h/jê��ubaubaubeubeubhDhC)Årò��}rô��(h%U�h/hFhHh+hIhJh&}rö��(h(]h,]h*]h)]rõ��U using-a-distributed-lock-managerrú��ah-]rù��hauhOKÇhPhhQ]rû��(hS)Årü��}r†��(h%X ���Using a Distributed Lock Managerr°��h/jò��hHh+hIhWh&}r¢��(h(]h,]h*]h)]h-]uhOKÇhPhhQ]r£��hZX ���Using a Distributed Lock Managerr§��ÖÅr•��}r¶��(h%j°��h/jü��ubaubhy)Årß��}r®��(h%Xÿ���Apache Zookeeper_ can be used as a distributed lock manager to assist with
synchronization of records, especially across the CNs. Zookeeper is
interesting because it can potentially scale to many more than three CNs.h/jò��hHh+hIh}h&}r©��(h(]h,]h*]h)]h-]uhOKÑhPhhQ]r™��(hZX���Apache r´��ÖÅr¨��}r≠��(h%X���Apache h/jß��ubj÷��)ÅrÆ��}rØ��(h%X
���Zookeeper_jŸ��Kh/jß��hIj⁄��h&}r∞��(UnameX	���Zookeeperj‹��j4��h)]h*]h(]h,]h-]uhQ]r±��hZX	���Zookeeperr≤��ÖÅr≥��}r¥��(h%U�h/jÆ��ubaubhZX«��� can be used as a distributed lock manager to assist with
synchronization of records, especially across the CNs. Zookeeper is
interesting because it can potentially scale to many more than three CNs.rµ��ÖÅr∂��}r∑��(h%X«��� can be used as a distributed lock manager to assist with
synchronization of records, especially across the CNs. Zookeeper is
interesting because it can potentially scale to many more than three CNs.h/jß��ubeubhy)År∏��}rπ��(h%X¡���In this case we would create a globally synchronous lock on a specific PID
(essentially the same as the Lock operation of Metacat). The basic procedure
is described in the `Zookeeper recipes`_.h/jò��hHh+hIh}h&}r∫��(h(]h,]h*]h)]h-]uhOKàhPhhQ]rª��(hZX¨���In this case we would create a globally synchronous lock on a specific PID
(essentially the same as the Lock operation of Metacat). The basic procedure
is described in the rº��ÖÅrΩ��}ræ��(h%X¨���In this case we would create a globally synchronous lock on a specific PID
(essentially the same as the Lock operation of Metacat). The basic procedure
is described in the h/j∏��ubj÷��)Årø��}r¿��(h%X���`Zookeeper recipes`_jŸ��Kh/j∏��hIj⁄��h&}r¡��(UnameX���Zookeeper recipesj‹��XL���http://hadoop.apache.org/zookeeper/docs/r3.1.1/recipes.html#sc_recipes_Locksr¬��h)]h*]h(]h,]h-]uhQ]r√��hZX���Zookeeper recipesrƒ��ÖÅr≈��}r∆��(h%U�h/jø��ubaubhZX���.ÖÅr«��}r»��(h%X���.h/j∏��ubeubeubhC)År…��}r ��(h%U�h/hFhHh+hIhJh&}rÀ��(h(]h,]h*]h)]rÃ��U!distributed-execution-environmentrÕ��ah-]rŒ��hauhOKéhPhhQ]rœ��(hS)År–��}r—��(h%X!���Distributed Execution Environmentr“��h/j…��hHh+hIhWh&}r”��(h(]h,]h*]h)]h-]uhOKéhPhhQ]r‘��hZX!���Distributed Execution Environmentr’��ÖÅr÷��}r◊��(h%j“��h/j–��ubaubhy)Årÿ��}rŸ��(h%X∏���For example, hazelcast_. These types of solutions are typically developed with
LAN clusters in mind, and may run into problems with higher latency networks.
Interesting product though.h/j…��hHh+hIh}h&}r⁄��(h(]h,]h*]h)]h-]uhOKêhPhhQ]r€��(hZX
���For example, r‹��ÖÅr›��}rfi��(h%X
���For example, h/jÿ��ubj÷��)Årfl��}r‡��(h%X
���hazelcast_jŸ��Kh/jÿ��hIj⁄��h&}r·��(UnameX	���hazelcastr‚��j‹��X���http://www.hazelcast.com/r„��h)]h*]h(]h,]h-]uhQ]r‰��hZX	���hazelcastrÂ��ÖÅrÊ��}rÁ��(h%U�h/jfl��ubaubhZX°���. These types of solutions are typically developed with
LAN clusters in mind, and may run into problems with higher latency networks.
Interesting product though.rË��ÖÅrÈ��}rÍ��(h%X°���. These types of solutions are typically developed with
LAN clusters in mind, and may run into problems with higher latency networks.
Interesting product though.h/jÿ��ubeubeubhC)ÅrÎ��}rÏ��(h%U�h/hFhHh+hIhJh&}rÌ��(h(]h,]h*]h)]rÓ��U9file-based-object-store-with-distributed-revision-controlrÔ��ah-]r��h
auhOKñhPhhQ]rÒ��(hS)ÅrÚ��}rÛ��(h%X9���File Based Object Store with Distributed Revision ControlrÙ��h/jÎ��hHh+hIhWh&}rı��(h(]h,]h*]h)]h-]uhOKñhPhhQ]rˆ��hZX9���File Based Object Store with Distributed Revision Controlr˜��ÖÅr¯��}r˘��(h%jÙ��h/jÚ��ubaubhy)År˙��}r˚��(h%X‘���These notes describe a strategy of utilizing the Linux file system and a
`distributed version control`_ system (DVC) such as Git_ or Mercurial_ as the
science and system metadata store for the Coordinating Nodes.h/jÎ��hHh+hIh}h&}r¸��(h(]h,]h*]h)]h-]uhOKòhPhhQ]r˝��(hZXI���These notes describe a strategy of utilizing the Linux file system and a
r˛��ÖÅrˇ��}r���(h%XI���These notes describe a strategy of utilizing the Linux file system and a
h/j˙��ubj÷��)År��}r��(h%X���`distributed version control`_jŸ��Kh/j˙��hIj⁄��h&}r��(UnameX���distributed version controlj‹��X9���http://en.wikipedia.org/wiki/Distributed_revision_controlr��h)]h*]h(]h,]h-]uhQ]r��hZX���distributed version controlr��ÖÅr��}r��(h%U�h/j��ubaubhZX��� system (DVC) such as r	��ÖÅr
��}r��(h%X��� system (DVC) such as h/j˙��ubj÷��)År��}r
��(h%X���Git_jŸ��Kh/j˙��hIj⁄��h&}r��(UnameX���Gitj‹��jÒ��h)]h*]h(]h,]h-]uhQ]r��hZX���Gitr��ÖÅr��}r��(h%U�h/j��ubaubhZX��� or r��ÖÅr��}r��(h%X��� or h/j˙��ubj÷��)År��}r��(h%X
���Mercurial_jŸ��Kh/j˙��hIj⁄��h&}r��(UnameX	���Mercurialj‹��j��h)]h*]h(]h,]h-]uhQ]r��hZX	���Mercurialr��ÖÅr��}r��(h%U�h/j��ubaubhZXE��� as the
science and system metadata store for the Coordinating Nodes.r��ÖÅr��}r��(h%XE��� as the
science and system metadata store for the Coordinating Nodes.h/j˙��ubeubhy)År ��}r!��(h%XB��The basic approach is to treat all primary instances of science and system
metadata as files that are stored on the Linux file system. The files are
located in one or more folders that are under revision control using the DVC.
As a new metadata file is added to a CN, it is replicated to the other CNs on
a scheduled basis (e.g. every 10 minutes or when n files have been changed or
added). Change notification hooks (e.g. commit scripts) are used to update
local databases that are used to search science metadata (e.g. the Mercury
index) or the local system metadata database.r"��h/jÎ��hHh+hIh}h&}r#��(h(]h,]h*]h)]h-]uhOKúhPhhQ]r$��hZXB��The basic approach is to treat all primary instances of science and system
metadata as files that are stored on the Linux file system. The files are
located in one or more folders that are under revision control using the DVC.
As a new metadata file is added to a CN, it is replicated to the other CNs on
a scheduled basis (e.g. every 10 minutes or when n files have been changed or
added). Change notification hooks (e.g. commit scripts) are used to update
local databases that are used to search science metadata (e.g. the Mercury
index) or the local system metadata database.r%��ÖÅr&��}r'��(h%j"��h/j ��ubaubhC)År(��}r)��(h%U�h/jÎ��hHh+hIhJh&}r*��(h(]h,]h*]h)]r+��U scenario-1-adding-a-new-documentr,��ah-]r-��hauhOKßhPhhQ]r.��(hS)År/��}r0��(h%X!���Scenario 1: Adding a new documentr1��h/j(��hHh+hIhWh&}r2��(h(]h,]h*]h)]h-]uhOKßhPhhQ]r3��hZX!���Scenario 1: Adding a new documentr4��ÖÅr5��}r6��(h%j1��h/j/��ubaubh°)År7��}r8��(h%U�h/j(��hHh+hIh–h&}r9��(h•U.h)]h*]h(]h¶U�h,]h-]hßh®uhOK©hPhhQ]r:��(h™)År;��}r<��(h%XN���A new document (d) is retrieved from a MN (or is pushed to the CN by the
MN).
h/j7��hHh+hIh∑h&}r=��(h(]h,]h*]h)]h-]uhONhPhhQ]r>��hy)År?��}r@��(h%XM���A new document (d) is retrieved from a MN (or is pushed to the CN by the
MN).rA��h/j;��hHh+hIh}h&}rB��(h(]h,]h*]h)]h-]uhOK©hQ]rC��hZXM���A new document (d) is retrieved from a MN (or is pushed to the CN by the
MN).rD��ÖÅrE��}rF��(h%jA��h/j?��ubaubaubh™)ÅrG��}rH��(h%XG���The document is added to the file system and added to version control.
h/j7��hHh+hIh∑h&}rI��(h(]h,]h*]h)]h-]uhONhPhhQ]rJ��hy)ÅrK��}rL��(h%XF���The document is added to the file system and added to version control.rM��h/jG��hHh+hIh}h&}rN��(h(]h,]h*]h)]h-]uhOK¨hQ]rO��hZXF���The document is added to the file system and added to version control.rP��ÖÅrQ��}rR��(h%jM��h/jK��ubaubaubh™)ÅrS��}rT��(h%Xl���In response to some trigger (time or number of commits), the DVC initiates
a sync with other repositories.

h/j7��hHh+hIh∑h&}rU��(h(]h,]h*]h)]h-]uhONhPhhQ]rV��hy)ÅrW��}rX��(h%Xj���In response to some trigger (time or number of commits), the DVC initiates
a sync with other repositories.rY��h/jS��hHh+hIh}h&}rZ��(h(]h,]h*]h)]h-]uhOKÆhQ]r[��hZXj���In response to some trigger (time or number of commits), the DVC initiates
a sync with other repositories.r\��ÖÅr]��}r^��(h%jY��h/jW��ubaubaubeubeubhC)År_��}r`��(h%U�h/jÎ��hHh+hIhJh&}ra��(h(]h,]h*]h)]rb��U
advantagesrc��ah-]rd��hauhOK≥hPhhQ]re��(hS)Årf��}rg��(h%X
���Advantagesrh��h/j_��hHh+hIhWh&}ri��(h(]h,]h*]h)]h-]uhOK≥hPhhQ]rj��hZX
���Advantagesrk��ÖÅrl��}rm��(h%jh��h/jf��ubaubh¸)Årn��}ro��(h%U�h/j_��hHh+hIj&��h&}rp��(j���X���-h)]h*]h(]h,]h-]uhOKµhPhhQ]rq��(h™)Årr��}rs��(h%X!���Very simple replication mechanismrt��h/jn��hHh+hIh∑h&}ru��(h(]h,]h*]h)]h-]uhONhPhhQ]rv��hy)Årw��}rx��(h%jt��h/jr��hHh+hIh}h&}ry��(h(]h,]h*]h)]h-]uhOKµhQ]rz��hZX!���Very simple replication mechanismr{��ÖÅr|��}r}��(h%jt��h/jw��ubaubaubh™)År~��}r��(h%X<���Scalable, especially through partitioning of the file systemrÄ��h/jn��hHh+hIh∑h&}rÅ��(h(]h,]h*]h)]h-]uhONhPhhQ]rÇ��hy)ÅrÉ��}rÑ��(h%jÄ��h/j~��hHh+hIh}h&}rÖ��(h(]h,]h*]h)]h-]uhOK∂hQ]rÜ��hZX<���Scalable, especially through partitioning of the file systemrá��ÖÅrà��}râ��(h%jÄ��h/jÉ��ubaubaubh™)Årä��}rã��(h%X���No global write lock necessaryrå��h/jn��hHh+hIh∑h&}rç��(h(]h,]h*]h)]h-]uhONhPhhQ]ré��hy)Årè��}rê��(h%jå��h/jä��hHh+hIh}h&}rë��(h(]h,]h*]h)]h-]uhOK∑hQ]rí��hZX���No global write lock necessaryrì��ÖÅrî��}rï��(h%jå��h/jè��ubaubaubh™)Årñ��}ró��(h%X'���Agnostic with respect to the file typesrò��h/jn��hHh+hIh∑h&}rô��(h(]h,]h*]h)]h-]uhONhPhhQ]rö��hy)Årõ��}rú��(h%jò��h/jñ��hHh+hIh}h&}rù��(h(]h,]h*]h)]h-]uhOK∏hQ]rû��hZX'���Agnostic with respect to the file typesrü��ÖÅr†��}r°��(h%jò��h/jõ��ubaubaubh™)År¢��}r£��(h%X���Many existing toolsr§��h/jn��hHh+hIh∑h&}r•��(h(]h,]h*]h)]h-]uhONhPhhQ]r¶��hy)Årß��}r®��(h%j§��h/j¢��hHh+hIh}h&}r©��(h(]h,]h*]h)]h-]uhOKπhQ]r™��hZX���Many existing toolsr´��ÖÅr¨��}r≠��(h%j§��h/jß��ubaubaubh™)ÅrÆ��}rØ��(h%X ���Changes replicated through diffsr∞��h/jn��hHh+hIh∑h&}r±��(h(]h,]h*]h)]h-]uhONhPhhQ]r≤��hy)År≥��}r¥��(h%j∞��h/jÆ��hHh+hIh}h&}rµ��(h(]h,]h*]h)]h-]uhOK∫hQ]r∂��hZX ���Changes replicated through diffsr∑��ÖÅr∏��}rπ��(h%j∞��h/j≥��ubaubaubh™)År∫��}rª��(h%X<���Enable segmentation of all content through a simple taxonomyrº��h/jn��hHh+hIh∑h&}rΩ��(h(]h,]h*]h)]h-]uhONhPhhQ]ræ��hy)Årø��}r¿��(h%jº��h/j∫��hHh+hIh}h&}r¡��(h(]h,]h*]h)]h-]uhOKªhQ]r¬��hZX<���Enable segmentation of all content through a simple taxonomyr√��ÖÅrƒ��}r≈��(h%jº��h/jø��ubaubaubh™)År∆��}r«��(h%X\���General approach is RCS agnostic - could use Git, Bazaar or any other
distributed RCS systemh/jn��hHh+hIh∑h&}r»��(h(]h,]h*]h)]h-]uhONhPhhQ]r…��hy)År ��}rÀ��(h%X\���General approach is RCS agnostic - could use Git, Bazaar or any other
distributed RCS systemrÃ��h/j∆��hHh+hIh}h&}rÕ��(h(]h,]h*]h)]h-]uhOKºhQ]rŒ��hZX\���General approach is RCS agnostic - could use Git, Bazaar or any other
distributed RCS systemrœ��ÖÅr–��}r—��(h%jÃ��h/j ��ubaubaubh™)År“��}r”��(h%X���Change detection is trivial
h/jn��hHh+hIh∑h&}r‘��(h(]h,]h*]h)]h-]uhONhPhhQ]r’��hy)År÷��}r◊��(h%X���Change detection is trivialrÿ��h/j“��hHh+hIh}h&}rŸ��(h(]h,]h*]h)]h-]uhOKæhQ]r⁄��hZX���Change detection is trivialr€��ÖÅr‹��}r›��(h%jÿ��h/j÷��ubaubaubeubeubhC)Årfi��}rfl��(h%U�h/jÎ��hHh+hIhJh&}r‡��(h(]h,]h*]h)]r·��U
disadvantagesr‚��ah-]r„��hauhOK¡hPhhQ]r‰��(hS)ÅrÂ��}rÊ��(h%X
���DisadvantagesrÁ��h/jfi��hHh+hIhWh&}rË��(h(]h,]h*]h)]h-]uhOK¡hPhhQ]rÈ��hZX
���DisadvantagesrÍ��ÖÅrÎ��}rÏ��(h%jÁ��h/jÂ��ubaubh¸)ÅrÌ��}rÓ��(h%U�h/jfi��hHh+hIj&��h&}rÔ��(j���X���-h)]h*]h(]h,]h-]uhOK√hPhhQ]r��(h™)ÅrÒ��}rÚ��(h%XB���File replication only, need to implement mechanisms for search etcrÛ��h/jÌ��hHh+hIh∑h&}rÙ��(h(]h,]h*]h)]h-]uhONhPhhQ]rı��hy)Årˆ��}r˜��(h%jÛ��h/jÒ��hHh+hIh}h&}r¯��(h(]h,]h*]h)]h-]uhOK√hQ]r˘��hZXB���File replication only, need to implement mechanisms for search etcr˙��ÖÅr˚��}r¸��(h%jÛ��h/jˆ��ubaubaubh™)År˝��}r˛��(h%X���No per-object access controlrˇ��h/jÌ��hHh+hIh∑h&}r���(h(]h,]h*]h)]h-]uhONhPhhQ]r��hy)År��}r��(h%jˇ��h/j˝��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKƒhQ]r��hZX���No per-object access controlr��ÖÅr��}r��(h%jˇ��h/j��ubaubaubh™)År	��}r
��(h%X-���Potential for collisions for object instancesr��h/jÌ��hHh+hIh∑h&}r��(h(]h,]h*]h)]h-]uhONhPhhQ]r
��hy)År��}r��(h%j��h/j	��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOK≈hQ]r��hZX-���Potential for collisions for object instancesr��ÖÅr��}r��(h%j��h/j��ubaubaubh™)År��}r��(h%X)���How to (automatically) resolve conflicts?r��h/jÌ��hHh+hIh∑h&}r��(h(]h,]h*]h)]h-]uhONhPhhQ]r��hy)År��}r��(h%j��h/j��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOK∆hQ]r��hZX)���How to (automatically) resolve conflicts?r��ÖÅr��}r ��(h%j��h/j��ubaubaubh™)År!��}r"��(h%XC���Limitations on the absolute number of files per folder/filesystem

h/jÌ��hHh+hIh∑h&}r#��(h(]h,]h*]h)]h-]uhONhPhhQ]r$��hy)År%��}r&��(h%XA���Limitations on the absolute number of files per folder/filesystemr'��h/j!��hHh+hIh}h&}r(��(h(]h,]h*]h)]h-]uhOK«hQ]r)��hZXA���Limitations on the absolute number of files per folder/filesystemr*��ÖÅr+��}r,��(h%j'��h/j%��ubaubaubeubcdocutils.nodes
target
r-��)År.��}r/��(h%X0���.. _DRBD: http://www.drbd.org/home/what-is-drbd/U
referencedr0��Kh/jfi��hHh+hIUtargetr1��h&}r2��(j‹��j›��h)]r3��Udrbdr4��ah*]h(]h,]h-]r5��hauhOK hPhhQ]ubj-��)År6��}r7��(h%XX���.. _mm_replication: http://www.dbspecialists.com/files/presentations/mm_replication.htmlh/jfi��hHh+hIj1��h&}r8��(j‹��XD���http://www.dbspecialists.com/files/presentations/mm_replication.htmlh)]r9��Umm-replicationr:��ah*]h(]h,]h-]r;��hauhOKÃhPhhQ]ubj-��)År<��}r=��(h%XQ���.. _389 Directory Server: https://help.Ubuntu.com/community/FedoraDirectoryServerh/jfi��hHh+hIj1��h&}r>��(j‹��X7���https://help.Ubuntu.com/community/FedoraDirectoryServerh)]r?��Udirectory-serverr@��ah*]h(]h,]h-]rA��hauhOKŒhPhhQ]ubj-��)ÅrB��}rC��(h%XZ���.. _distributed version control: http://en.wikipedia.org/wiki/Distributed_revision_controlj0��Kh/jfi��hHh+hIj1��h&}rD��(j‹��j��h)]rE��Udistributed-version-controlrF��ah*]h(]h,]h-]rG��hauhOK–hPhhQ]ubj-��)ÅrH��}rI��(h%X,���.. _Mercurial: http://mercurial.selenic.com/j0��Kh/jfi��hHh+hIj1��h&}rJ��(j‹��j��h)]rK��U	mercurialrL��ah*]h(]h,]h-]rM��hauhOK“hPhhQ]ubj-��)ÅrN��}rO��(h%X���.. _Git: http://git-scm.com/j0��Kh/jfi��hHh+hIj1��h&}rP��(j‹��jÒ��h)]rQ��UgitrR��ah*]h(]h,]h-]rS��h
auhOK‘hPhhQ]ubj-��)ÅrT��}rU��(h%X1���.. _Zookeeper: http://hadoop.apache.org/zookeeperj0��Kh/jfi��hHh+hIj1��h&}rV��(j‹��j4��h)]rW��U	zookeeperrX��ah*]h(]h,]h-]rY��hauhOK÷hPhhQ]ubj-��)ÅrZ��}r[��(h%Xc���.. _Zookeeper recipes: http://hadoop.apache.org/zookeeper/docs/r3.1.1/recipes.html#sc_recipes_Locksj0��Kh/jfi��hHh+hIj1��h&}r\��(j‹��j¬��h)]r]��Uzookeeper-recipesr^��ah*]h(]h,]h-]r_��hauhOKÿhPhhQ]ubj-��)År`��}ra��(h%X<���.. _Metacat: http://knb.ecoinformatics.org/software/metacat/j0��Kh/jfi��hHh+hIj1��h&}rb��(j‹��j$��h)]rc��Umetacatrd��ah*]h(]h,]h-]re��hauhOK⁄hPhhQ]ubj-��)Årf��}rg��(h%X%���.. _Bazaar: http://bazaar-vcs.org/en/j0��Kh/jfi��hHh+hIj1��h&}rh��(j‹��j��h)]ri��Ubazaarrj��ah*]h(]h,]h-]rk��hauhOK‹hPhhQ]ubj-��)Årl��}rm��(h%X(���.. _hazelcast: http://www.hazelcast.com/j0��Kh/jfi��hHh+hIj1��h&}rn��(j‹��j„��h)]ro��U	hazelcastrp��ah*]h(]h,]h-]rq��hauhOKfihPhhQ]ubeubeubeubhHh+hIhJh&}rr��(h(]h,]h*]h)]rs��U%metacat-as-replicating-object-managerrt��ah-]ru��hauhOK`hPhhQ]rv��(hS)Årw��}rx��(h%X%���Metacat As Replicating Object Managerry��h/hDhHh+hIhWh&}rz��(h(]h,]h*]h)]h-]uhOK`hPhhQ]r{��hZX%���Metacat As Replicating Object Managerr|��ÖÅr}��}r~��(h%jy��h/jw��ubaubhy)År��}rÄ��(h%XÀ���Metacat_ is a flexible metadata database that utilizes XML as a common syntax
for representing various types of metadata. In general, Metacat can be
considered functionally equivalent to an XML database.h/hDhHh+hIh}h&}rÅ��(h(]h,]h*]h)]h-]uhOKbhPhhQ]rÇ��(j÷��)ÅrÉ��}rÑ��(h%X���Metacat_jŸ��Kh/j��hIj⁄��h&}rÖ��(UnameX���Metacatj‹��j$��h)]h*]h(]h,]h-]uhQ]rÜ��hZX���Metacatrá��ÖÅrà��}râ��(h%U�h/jÉ��ubaubhZX√��� is a flexible metadata database that utilizes XML as a common syntax
for representing various types of metadata. In general, Metacat can be
considered functionally equivalent to an XML database.rä��ÖÅrã��}rå��(h%X√��� is a flexible metadata database that utilizes XML as a common syntax
for representing various types of metadata. In general, Metacat can be
considered functionally equivalent to an XML database.h/j��ubeubhy)Årç��}ré��(h%Xp���Metacat supports replication of documents between instances, with replication
being triggered by several events:r�h/hDhHh+hIh}h&}r�(h(]h,]h*]h)]h-]uhOKfhPhhQ]r�hZXp���Metacat supports replication of documents between instances, with replication
being triggered by several events:rí��ÖÅrì��}rî��(h%jè��h/jç��ubaubh¸)Årï��}rñ��(h%U�h/hDhHh+hIj&��h&}ró��(j���X���-h)]h*]h(]h,]h-]uhOKihPhhQ]rò��(h™)Årô��}rö��(h%X!���Timer, at pre-specified intervalsrõ��h/jï��hHh+hIh∑h&}rú��(h(]h,]h*]h)]h-]uhONhPhhQ]rù��hy)Årû��}rü��(h%jõ��h/jô��hHh+hIh}h&}r†��(h(]h,]h*]h)]h-]uhOKihQ]r°��hZX!���Timer, at pre-specified intervalsr¢��ÖÅr£��}r§��(h%jõ��h/jû��ubaubaubh™)År•��}r¶��(h%X,���Inserts, when a document is inserted locallyrß��h/jï��hHh+hIh∑h&}r®��(h(]h,]h*]h)]h-]uhONhPhhQ]r©��hy)År™��}r´��(h%jß��h/j•��hHh+hIh}h&}r¨��(h(]h,]h*]h)]h-]uhOKjhQ]r≠��hZX,���Inserts, when a document is inserted locallyrÆ��ÖÅrØ��}r∞��(h%jß��h/j™��ubaubaubh™)År±��}r≤��(h%X+���Updates, when a document is updated locallyr≥��h/jï��hHh+hIh∑h&}r¥��(h(]h,]h*]h)]h-]uhONhPhhQ]rµ��hy)År∂��}r∑��(h%j≥��h/j±��hHh+hIh}h&}r∏��(h(]h,]h*]h)]h-]uhOKkhQ]rπ��hZX+���Updates, when a document is updated locallyr∫��ÖÅrª��}rº��(h%j≥��h/j∂��ubaubaubh™)ÅrΩ��}ræ��(h%XO���Lock, when a lock is requested on a document (replication after lock received)
h/jï��hHh+hIh∑h&}rø��(h(]h,]h*]h)]h-]uhONhPhhQ]r¿��hy)År¡��}r¬��(h%XN���Lock, when a lock is requested on a document (replication after lock received)r√��h/jΩ��hHh+hIh}h&}rƒ��(h(]h,]h*]h)]h-]uhOKlhQ]r≈��hZXN���Lock, when a lock is requested on a document (replication after lock received)r∆��ÖÅr«��}r»��(h%j√��h/j¡��ubaubaubeubhy)År…��}r ��(h%XÕ���With Metacat filling the role of the Coordinating Node Object Store, each CN
Metacat instance would replicate with the other instances on the CNs. The
configuration for DataONE CNs would be something like:rÀ��h/hDhHh+hIh}h&}rÃ��(h(]h,]h*]h)]h-]uhOKnhPhhQ]rÕ��hZXÕ���With Metacat filling the role of the Coordinating Node Object Store, each CN
Metacat instance would replicate with the other instances on the CNs. The
configuration for DataONE CNs would be something like:rŒ��ÖÅrœ��}r–��(h%jÀ��h/j…��ubaubhAeubhHh+hIUtabler—��h&}r“��(h(]h,]h*]h)]h-]uhONhPhhQ]r”��h=aubhQ]r‘��(cdocutils.nodes
colspec
r’��)År÷��}r◊��(h%U�h&}rÿ��(h)]h*]h(]h,]h-]UcolwidthKuh/h=hQ]hIUcolspecrŸ��ubj’��)År⁄��}r€��(h%U�h&}r‹��(h)]h*]h(]h,]h-]UcolwidthK
uh/h=hQ]hIjŸ��ubj’��)År›��}rfi��(h%U�h&}rfl��(h)]h*]h(]h,]h-]UcolwidthK	uh/h=hQ]hIjŸ��ubj’��)År‡��}r·��(h%U�h&}r‚��(h)]h*]h(]h,]h-]UcolwidthK
uh/h=hQ]hIjŸ��ubj’��)År„��}r‰��(h%U�h&}rÂ��(h)]h*]h(]h,]h-]UcolwidthKuh/h=hQ]hIjŸ��ubcdocutils.nodes
thead
rÊ��)ÅrÁ��}rË��(h%U�h&}rÈ��(h(]h,]h*]h)]h-]uh/h=hQ]rÍ��h4)ÅrÎ��}rÏ��(h%U�h&}rÌ��(h(]h,]h*]h)]h-]uh/jÁ��hQ]rÓ��(h0)ÅrÔ��}r��(h%U�h&}rÒ��(h(]h,]h*]h)]h-]uh/jÎ��hQ]rÚ��hy)ÅrÛ��}rÙ��(h%X���hostrı��h/jÔ��hHh+hIh}h&}rˆ��(h(]h,]h*]h)]h-]uhOKshQ]r˜��hZX���hostr¯��ÖÅr˘��}r˙��(h%jı��h/jÛ��ubaubahIUentryr˚��ubh0)År¸��}r˝��(h%U�h&}r˛��(h(]h,]h*]h)]h-]uh/jÎ��hQ]rˇ��hy)År���}r��(h%X���serverr��h/j¸��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKshQ]r��hZX���serverr��ÖÅr��}r��(h%j��h/j���ubaubahIj˚��ubh0)År��}r	��(h%U�h&}r
��(h(]h,]h*]h)]h-]uh/jÎ��hQ]r��hy)År��}r
��(h%X	���replicater��h/j��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKshQ]r��hZX	���replicater��ÖÅr��}r��(h%j��h/j��ubaubahIj˚��ubh0)År��}r��(h%U�h&}r��(h(]h,]h*]h)]h-]uh/jÎ��hQ]r��hy)År��}r��(h%X
���datareplicater��h/j��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKshQ]r��hZX
���datareplicater��ÖÅr��}r��(h%j��h/j��ubaubahIj˚��ubh0)År ��}r!��(h%U�h&}r"��(h(]h,]h*]h)]h-]uh/jÎ��hQ]r#��hy)År$��}r%��(h%X���hubr&��h/j ��hHh+hIh}h&}r'��(h(]h,]h*]h)]h-]uhOKshQ]r(��hZX���hubr)��ÖÅr*��}r+��(h%j&��h/j$��ubaubahIj˚��ubehIUrowr,��ubahIUtheadr-��ubh9ehIUtgroupr.��ubhQ]r/��(h4)År0��}r1��(h%U�h&}r2��(h(]h,]h*]h)]h-]uh/h9hQ]r3��(h0)År4��}r5��(h%U�h&}r6��(h(]h,]h*]h)]h-]uh/j0��hQ]r7��hy)År8��}r9��(h%X���cn1r:��h/j4��hHh+hIh}h&}r;��(h(]h,]h*]h)]h-]uhOKuhQ]r<��hZX���cn1r=��ÖÅr>��}r?��(h%j:��h/j8��ubaubahIj˚��ubh0)År@��}rA��(h%U�h&}rB��(h(]h,]h*]h)]h-]uh/j0��hQ]rC��hy)ÅrD��}rE��(h%X	���localhostrF��h/j@��hHh+hIh}h&}rG��(h(]h,]h*]h)]h-]uhOKuhQ]rH��hZX	���localhostrI��ÖÅrJ��}rK��(h%jF��h/jD��ubaubahIj˚��ubh0)ÅrL��}rM��(h%U�h&}rN��(h(]h,]h*]h)]h-]uh/j0��hQ]rO��hy)ÅrP��}rQ��(h%X���0h/jL��hHh+hIh}h&}rR��(h(]h,]h*]h)]h-]uhOKuhQ]rS��hZX���0ÖÅrT��}rU��(h%X���0h/jP��ubaubahIj˚��ubh0)ÅrV��}rW��(h%U�h&}rX��(h(]h,]h*]h)]h-]uh/j0��hQ]rY��hy)ÅrZ��}r[��(h%X���0h/jV��hHh+hIh}h&}r\��(h(]h,]h*]h)]h-]uhOKuhQ]r]��hZX���0ÖÅr^��}r_��(h%X���0h/jZ��ubaubahIj˚��ubh0)År`��}ra��(h%U�h&}rb��(h(]h,]h*]h)]h-]uh/j0��hQ]rc��hy)Ård��}re��(h%X���1h/j`��hHh+hIh}h&}rf��(h(]h,]h*]h)]h-]uhOKuhQ]rg��hZX���1ÖÅrh��}ri��(h%X���1h/jd��ubaubahIj˚��ubehIj,��ubh5h4)Årj��}rk��(h%U�h&}rl��(h(]h,]h*]h)]h-]uh/h9hQ]rm��(h0)Årn��}ro��(h%U�h&}rp��(h(]h,]h*]h)]h-]uh/jj��hQ]rq��hy)Årr��}rs��(h%X���.h/jn��hHh+hIh}h&}rt��(h(]h,]h*]h)]h-]uhOKwhQ]ru��hZX���.ÖÅrv��}rw��(h%X���.h/jr��ubaubahIj˚��ubh0)Årx��}ry��(h%U�h&}rz��(h(]h,]h*]h)]h-]uh/jj��hQ]r{��hy)År|��}r}��(h%X���cn3r~��h/jx��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKwhQ]rÄ��hZX���cn3rÅ��ÖÅrÇ��}rÉ��(h%j~��h/j|��ubaubahIj˚��ubh0)ÅrÑ��}rÖ��(h%U�h&}rÜ��(h(]h,]h*]h)]h-]uh/jj��hQ]rá��hy)Årà��}râ��(h%X���1h/jÑ��hHh+hIh}h&}rä��(h(]h,]h*]h)]h-]uhOKwhQ]rã��hZX���1ÖÅrå��}rç��(h%X���1h/jà��ubaubahIj˚��ubh0)Åré��}rè��(h%U�h&}rê��(h(]h,]h*]h)]h-]uh/jj��hQ]rë��hy)Årí��}rì��(h%X���0h/jé��hHh+hIh}h&}rî��(h(]h,]h*]h)]h-]uhOKwhQ]rï��hZX���0ÖÅrñ��}ró��(h%X���0h/jí��ubaubahIj˚��ubh0)Årò��}rô��(h%U�h&}rö��(h(]h,]h*]h)]h-]uh/jj��hQ]rõ��hy)Årú��}rù��(h%X���1h/jò��hHh+hIh}h&}rû��(h(]h,]h*]h)]h-]uhOKwhQ]rü��hZX���1ÖÅr†��}r°��(h%X���1h/jú��ubaubahIj˚��ubehIj,��ubh4)År¢��}r£��(h%U�h&}r§��(h(]h,]h*]h)]h-]uh/h9hQ]r•��(h0)År¶��}rß��(h%U�h&}r®��(h(]h,]h*]h)]h-]uh/j¢��hQ]r©��hy)År™��}r´��(h%X���cn2r¨��h/j¶��hHh+hIh}h&}r≠��(h(]h,]h*]h)]h-]uhOKxhQ]rÆ��hZX���cn2rØ��ÖÅr∞��}r±��(h%j¨��h/j™��ubaubahIj˚��ubh0)År≤��}r≥��(h%U�h&}r¥��(h(]h,]h*]h)]h-]uh/j¢��hQ]rµ��hy)År∂��}r∑��(h%X	���localhostr∏��h/j≤��hHh+hIh}h&}rπ��(h(]h,]h*]h)]h-]uhOKxhQ]r∫��hZX	���localhostrª��ÖÅrº��}rΩ��(h%j∏��h/j∂��ubaubahIj˚��ubh0)Åræ��}rø��(h%U�h&}r¿��(h(]h,]h*]h)]h-]uh/j¢��hQ]r¡��hy)År¬��}r√��(h%X���0h/jæ��hHh+hIh}h&}rƒ��(h(]h,]h*]h)]h-]uhOKxhQ]r≈��hZX���0ÖÅr∆��}r«��(h%X���0h/j¬��ubaubahIj˚��ubh0)År»��}r…��(h%U�h&}r ��(h(]h,]h*]h)]h-]uh/j¢��hQ]rÀ��hy)ÅrÃ��}rÕ��(h%X���0h/j»��hHh+hIh}h&}rŒ��(h(]h,]h*]h)]h-]uhOKxhQ]rœ��hZX���0ÖÅr–��}r—��(h%X���0h/jÃ��ubaubahIj˚��ubh0)År“��}r”��(h%U�h&}r‘��(h(]h,]h*]h)]h-]uh/j¢��hQ]r’��hy)År÷��}r◊��(h%X���1h/j“��hHh+hIh}h&}rÿ��(h(]h,]h*]h)]h-]uhOKxhQ]rŸ��hZX���1ÖÅr⁄��}r€��(h%X���1h/j÷��ubaubahIj˚��ubehIj,��ubh4)År‹��}r›��(h%U�h&}rfi��(h(]h,]h*]h)]h-]uh/h9hQ]rfl��(h0)År‡��}r·��(h%U�h&}r‚��(h(]h,]h*]h)]h-]uh/j‹��hQ]r„��hy)År‰��}rÂ��(h%X���.h/j‡��hHh+hIh}h&}rÊ��(h(]h,]h*]h)]h-]uhOKyhQ]rÁ��hZX���.ÖÅrË��}rÈ��(h%X���.h/j‰��ubaubahIj˚��ubh0)ÅrÍ��}rÎ��(h%U�h&}rÏ��(h(]h,]h*]h)]h-]uh/j‹��hQ]rÌ��hy)ÅrÓ��}rÔ��(h%X���cn1r��h/jÍ��hHh+hIh}h&}rÒ��(h(]h,]h*]h)]h-]uhOKyhQ]rÚ��hZX���cn1rÛ��ÖÅrÙ��}rı��(h%j��h/jÓ��ubaubahIj˚��ubh0)Årˆ��}r˜��(h%U�h&}r¯��(h(]h,]h*]h)]h-]uh/j‹��hQ]r˘��hy)År˙��}r˚��(h%X���1h/jˆ��hHh+hIh}h&}r¸��(h(]h,]h*]h)]h-]uhOKyhQ]r˝��hZX���1ÖÅr˛��}rˇ��(h%X���1h/j˙��ubaubahIj˚��ubh0)År���}r��(h%U�h&}r��(h(]h,]h*]h)]h-]uh/j‹��hQ]r��hy)År��}r��(h%X���0h/j���hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKyhQ]r��hZX���0ÖÅr��}r	��(h%X���0h/j��ubaubahIj˚��ubh0)År
��}r��(h%U�h&}r��(h(]h,]h*]h)]h-]uh/j‹��hQ]r
��hy)År��}r��(h%X���1h/j
��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKyhQ]r��hZX���1ÖÅr��}r��(h%X���1h/j��ubaubahIj˚��ubehIj,��ubh4)År��}r��(h%U�h&}r��(h(]h,]h*]h)]h-]uh/h9hQ]r��(h0)År��}r��(h%U�h&}r��(h(]h,]h*]h)]h-]uh/j��hQ]r��hy)År��}r��(h%X���.h/j��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKzhQ]r��hZX���.ÖÅr ��}r!��(h%X���.h/j��ubaubahIj˚��ubh0)År"��}r#��(h%U�h&}r$��(h(]h,]h*]h)]h-]uh/j��hQ]r%��hy)År&��}r'��(h%X���cn3r(��h/j"��hHh+hIh}h&}r)��(h(]h,]h*]h)]h-]uhOKzhQ]r*��hZX���cn3r+��ÖÅr,��}r-��(h%j(��h/j&��ubaubahIj˚��ubh0)År.��}r/��(h%U�h&}r0��(h(]h,]h*]h)]h-]uh/j��hQ]r1��hy)År2��}r3��(h%X���1h/j.��hHh+hIh}h&}r4��(h(]h,]h*]h)]h-]uhOKzhQ]r5��hZX���1ÖÅr6��}r7��(h%X���1h/j2��ubaubahIj˚��ubh0)År8��}r9��(h%U�h&}r:��(h(]h,]h*]h)]h-]uh/j��hQ]r;��hy)År<��}r=��(h%X���0h/j8��hHh+hIh}h&}r>��(h(]h,]h*]h)]h-]uhOKzhQ]r?��hZX���0ÖÅr@��}rA��(h%X���0h/j<��ubaubahIj˚��ubh0)ÅrB��}rC��(h%U�h&}rD��(h(]h,]h*]h)]h-]uh/j��hQ]rE��hy)ÅrF��}rG��(h%X���1h/jB��hHh+hIh}h&}rH��(h(]h,]h*]h)]h-]uhOKzhQ]rI��hZX���1ÖÅrJ��}rK��(h%X���1h/jF��ubaubahIj˚��ubehIj,��ubh4)ÅrL��}rM��(h%U�h&}rN��(h(]h,]h*]h)]h-]uh/h9hQ]rO��(h0)ÅrP��}rQ��(h%U�h&}rR��(h(]h,]h*]h)]h-]uh/jL��hQ]rS��hy)ÅrT��}rU��(h%X���cn3rV��h/jP��hHh+hIh}h&}rW��(h(]h,]h*]h)]h-]uhOK{hQ]rX��hZX���cn3rY��ÖÅrZ��}r[��(h%jV��h/jT��ubaubahIj˚��ubh0)År\��}r]��(h%U�h&}r^��(h(]h,]h*]h)]h-]uh/jL��hQ]r_��hy)År`��}ra��(h%X	���localhostrb��h/j\��hHh+hIh}h&}rc��(h(]h,]h*]h)]h-]uhOK{hQ]rd��hZX	���localhostre��ÖÅrf��}rg��(h%jb��h/j`��ubaubahIj˚��ubh0)Årh��}ri��(h%U�h&}rj��(h(]h,]h*]h)]h-]uh/jL��hQ]rk��hy)Årl��}rm��(h%X���0h/jh��hHh+hIh}h&}rn��(h(]h,]h*]h)]h-]uhOK{hQ]ro��hZX���0ÖÅrp��}rq��(h%X���0h/jl��ubaubahIj˚��ubh0)Årr��}rs��(h%U�h&}rt��(h(]h,]h*]h)]h-]uh/jL��hQ]ru��hy)Årv��}rw��(h%X���0h/jr��hHh+hIh}h&}rx��(h(]h,]h*]h)]h-]uhOK{hQ]ry��hZX���0ÖÅrz��}r{��(h%X���0h/jv��ubaubahIj˚��ubh0)År|��}r}��(h%U�h&}r~��(h(]h,]h*]h)]h-]uh/jL��hQ]r��hy)ÅrÄ��}rÅ��(h%X���1h/j|��hHh+hIh}h&}rÇ��(h(]h,]h*]h)]h-]uhOK{hQ]rÉ��hZX���1ÖÅrÑ��}rÖ��(h%X���1h/jÄ��ubaubahIj˚��ubehIj,��ubh4)ÅrÜ��}rá��(h%U�h&}rà��(h(]h,]h*]h)]h-]uh/h9hQ]râ��(h0)Årä��}rã��(h%U�h&}rå��(h(]h,]h*]h)]h-]uh/jÜ��hQ]rç��hy)Åré��}rè��(h%X���.h/jä��hHh+hIh}h&}rê��(h(]h,]h*]h)]h-]uhOK|hQ]rë��hZX���.ÖÅrí��}rì��(h%X���.h/jé��ubaubahIj˚��ubh0)Årî��}rï��(h%U�h&}rñ��(h(]h,]h*]h)]h-]uh/jÜ��hQ]ró��hy)Årò��}rô��(h%X���cn1rö��h/jî��hHh+hIh}h&}rõ��(h(]h,]h*]h)]h-]uhOK|hQ]rú��hZX���cn1rù��ÖÅrû��}rü��(h%jö��h/jò��ubaubahIj˚��ubh0)År†��}r°��(h%U�h&}r¢��(h(]h,]h*]h)]h-]uh/jÜ��hQ]r£��hy)År§��}r•��(h%X���1h/j†��hHh+hIh}h&}r¶��(h(]h,]h*]h)]h-]uhOK|hQ]rß��hZX���1ÖÅr®��}r©��(h%X���1h/j§��ubaubahIj˚��ubh0)År™��}r´��(h%U�h&}r¨��(h(]h,]h*]h)]h-]uh/jÜ��hQ]r≠��hy)ÅrÆ��}rØ��(h%X���0h/j™��hHh+hIh}h&}r∞��(h(]h,]h*]h)]h-]uhOK|hQ]r±��hZX���0ÖÅr≤��}r≥��(h%X���0h/jÆ��ubaubahIj˚��ubh0)År¥��}rµ��(h%U�h&}r∂��(h(]h,]h*]h)]h-]uh/jÜ��hQ]r∑��hy)År∏��}rπ��(h%X���1h/j¥��hHh+hIh}h&}r∫��(h(]h,]h*]h)]h-]uhOK|hQ]rª��hZX���1ÖÅrº��}rΩ��(h%X���1h/j∏��ubaubahIj˚��ubehIj,��ubh4)Åræ��}rø��(h%U�h&}r¿��(h(]h,]h*]h)]h-]uh/h9hQ]r¡��(h0)År¬��}r√��(h%U�h&}rƒ��(h(]h,]h*]h)]h-]uh/jæ��hQ]r≈��hy)År∆��}r«��(h%X���.h/j¬��hHh+hIh}h&}r»��(h(]h,]h*]h)]h-]uhOK}hQ]r…��hZX���.ÖÅr ��}rÀ��(h%X���.h/j∆��ubaubahIj˚��ubh0)ÅrÃ��}rÕ��(h%U�h&}rŒ��(h(]h,]h*]h)]h-]uh/jæ��hQ]rœ��hy)År–��}r—��(h%X���cn2r“��h/jÃ��hHh+hIh}h&}r”��(h(]h,]h*]h)]h-]uhOK}hQ]r‘��hZX���cn2r’��ÖÅr÷��}r◊��(h%j“��h/j–��ubaubahIj˚��ubh0)Årÿ��}rŸ��(h%U�h&}r⁄��(h(]h,]h*]h)]h-]uh/jæ��hQ]r€��hy)År‹��}r›��(h%X���1h/jÿ��hHh+hIh}h&}rfi��(h(]h,]h*]h)]h-]uhOK}hQ]rfl��hZX���1ÖÅr‡��}r·��(h%X���1h/j‹��ubaubahIj˚��ubh0)År‚��}r„��(h%U�h&}r‰��(h(]h,]h*]h)]h-]uh/jæ��hQ]rÂ��hy)ÅrÊ��}rÁ��(h%X���0h/j‚��hHh+hIh}h&}rË��(h(]h,]h*]h)]h-]uhOK}hQ]rÈ��hZX���0ÖÅrÍ��}rÎ��(h%X���0h/jÊ��ubaubahIj˚��ubh0)ÅrÏ��}rÌ��(h%U�h&}rÓ��(h(]h,]h*]h)]h-]uh/jæ��hQ]rÔ��hy)År��}rÒ��(h%X���1h/jÏ��hHh+hIh}h&}rÚ��(h(]h,]h*]h)]h-]uhOK}hQ]rÛ��hZX���1ÖÅrÙ��}rı��(h%X���1h/j��ubaubahIj˚��ubehIj,��ubehIUtbodyrˆ��ubhQ]r˜��(h1h0)År¯��}r˘��(h%U�h&}r˙��(h(]h,]h*]h)]h-]uh/h5hQ]r˚��hy)År¸��}r˝��(h%X���cn2r˛��h/j¯��hHh+hIh}h&}rˇ��(h(]h,]h*]h)]h-]uhOKvhQ]r���hZX���cn2r��ÖÅr��}r��(h%j˛��h/j¸��ubaubahIj˚��ubh0)År��}r��(h%U�h&}r��(h(]h,]h*]h)]h-]uh/h5hQ]r��hy)År��}r	��(h%X���1h/j��hHh+hIh}h&}r
��(h(]h,]h*]h)]h-]uhOKvhQ]r��hZX���1ÖÅr��}r
��(h%X���1h/j��ubaubahIj˚��ubh0)År��}r��(h%U�h&}r��(h(]h,]h*]h)]h-]uh/h5hQ]r��hy)År��}r��(h%X���0h/j��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKvhQ]r��hZX���0ÖÅr��}r��(h%X���0h/j��ubaubahIj˚��ubh0)År��}r��(h%U�h&}r��(h(]h,]h*]h)]h-]uh/h5hQ]r��hy)År��}r��(h%X���1h/j��hHh+hIh}h&}r��(h(]h,]h*]h)]h-]uhOKvhQ]r��hZX���1ÖÅr ��}r!��(h%X���1h/j��ubaubahIj˚��ubehIj,��ubhQ]r"��hy)År#��}r$��(h%X���.h/h1hHh+hIh}h&}r%��(h(]h,]h*]h)]h-]uhOKvhQ]r&��hZX���.ÖÅr'��}r(��(h%X���.h/j#��ubaubahIj˚��ubhQ]r)��hy)År*��}r+��(h%Xe���Unexpected possible title overline or transition.
Treating it as ordinary text because it's so short.h&}r,��(h(]h,]h*]h)]h-]uh/h#hQ]r-��hZXe���Unexpected possible title overline or transition.
Treating it as ordinary text because it's so short.r.��ÖÅr/��}r0��(h%U�h/j*��ubahIh}ubahIUsystem_messager1��ubh")År2��}r3��(h%U�h&}r4��(h(]UlevelKh)]h*]Usourceh+h,]h-]UlineKxUtypeh.uh/jn��hQ]r5��hy)År6��}r7��(h%Xe���Unexpected possible title overline or transition.
Treating it as ordinary text because it's so short.h&}r8��(h(]h,]h*]h)]h-]uh/j2��hQ]r9��hZXe���Unexpected possible title overline or transition.
Treating it as ordinary text because it's so short.r:��ÖÅr;��}r<��(h%U�h/j6��ubahIh}ubahIj1��ubh")År=��}r>��(h%U�h&}r?��(h(]UlevelKh)]h*]Usourceh+h,]h-]UlineKzUtypeh.uh/j‡��hQ]r@��hy)ÅrA��}rB��(h%Xe���Unexpected possible title overline or transition.
Treating it as ordinary text because it's so short.h&}rC��(h(]h,]h*]h)]h-]uh/j=��hQ]rD��hZXe���Unexpected possible title overline or transition.
Treating it as ordinary text because it's so short.rE��ÖÅrF��}rG��(h%U�h/jA��ubahIh}ubahIj1��ubh")ÅrH��}rI��(h%U�h&}rJ��(h(]UlevelKh)]h*]Usourceh+h,]h-]UlineK{Utypeh.uh/j��hQ]rK��hy)ÅrL��}rM��(h%Xe���Unexpected possible title overline or transition.
Treating it as ordinary text because it's so short.h&}rN��(h(]h,]h*]h)]h-]uh/jH��hQ]rO��hZXe���Unexpected possible title overline or transition.
Treating it as ordinary text because it's so short.rP��ÖÅrQ��}rR��(h%U�h/jL��ubahIh}ubahIj1��ubh")ÅrS��}rT��(h%U�h&}rU��(h(]UlevelKh)]h*]Usourceh+h,]h-]UlineK}Utypeh.uh/jä��hQ]rV��hy)ÅrW��}rX��(h%Xe���Unexpected possible title overline or transition.
Treating it as ordinary text because it's so short.h&}rY��(h(]h,]h*]h)]h-]uh/jS��hQ]rZ��hZXe���Unexpected possible title overline or transition.
Treating it as ordinary text because it's so short.r[��ÖÅr\��}r]��(h%U�h/jW��ubahIh}ubahIj1��ubh")År^��}r_��(h%U�h&}r`��(h(]UlevelKh)]h*]Usourceh+h,]h-]UlineK~Utypeh.uh/j¬��hQ]ra��hy)Årb��}rc��(h%Xe���Unexpected possible title overline or transition.
Treating it as ordinary text because it's so short.h&}rd��(h(]h,]h*]h)]h-]uh/j^��hQ]re��hZXe���Unexpected possible title overline or transition.
Treating it as ordinary text because it's so short.rf��ÖÅrg��}rh��(h%U�h/jb��ubahIh}ubahIj1��ubeUcurrent_sourceri��NU
decorationrj��NUautofootnote_startrk��KUnameidsrl��}rm��(hj^��hj4��hjX��h	hêh
j��hhMhj,��h
jR��hjp��hj[��hjú��hjF��hjr��hjÕ��hh’hj‚��hjd��hj=��hjc��hjj��hjL��hjt��hj@��hj:��uhQ]rn��hFah%U�Utransformerro��NU
footnote_refsrp��}rq��Urefnamesrr��}rs��(X���zookeeper recipes]rt��jø��aX���git]ru��(jÓ��j��eX���drbd]rv��j◊��aX	���mercurial]rw��(jˇ��j��eX���metacat]rx��(j!��jÉ��eX	���zookeeper]ry��(j1��jÆ��eX���distributed version control]rz��j��aX���bazaar]r{��j��aj‚��]r|��jfl��auUsymbol_footnotesr}��]r~��Uautofootnote_refsr��]rÄ��Usymbol_footnote_refsrÅ��]rÇ��U	citationsrÉ��]rÑ��hPhUcurrent_linerÖ��NUtransform_messagesrÜ��]rá��(h")Årà��}râ��(h%U�h&}rä��(h(]UlevelKh)]h*]Usourceh+h,]h-]UlineKÃUtypeh.uhQ]rã��hy)Årå��}rç��(h%U�h&}ré��(h(]h,]h*]h)]h-]uh/jà��hQ]rè��hZX4���Hyperlink target "mm_replication" is not referenced.rê��ÖÅrë��}rí��(h%U�h/jå��ubahIh}ubahIj1��ubh")Årì��}rî��(h%U�h&}rï��(h(]UlevelKh)]h*]Usourceh+h,]h-]UlineKŒUtypeh.uhQ]rñ��hy)Åró��}rò��(h%U�h&}rô��(h(]h,]h*]h)]h-]uh/jì��hQ]rö��hZX:���Hyperlink target "389 directory server" is not referenced.rõ��ÖÅrú��}rù��(h%U�h/jó��ubahIh}ubahIj1��ubeUreporterrû��NUid_startrü��KU
autofootnotesr†��]r°��U
citation_refsr¢��}r£��Uindirect_targetsr§��]r•��Usettingsr¶��(cdocutils.frontend
Values
rß��or®��}r©��(Ufootnote_backlinksr™��KUrecord_dependenciesr´��NUrfc_base_urlr¨��Uhttps://tools.ietf.org/html/r≠��U	tracebackrÆ��àUpep_referencesrØ��NUstrip_commentsr∞��NU
toc_backlinksr±��j˚��U
language_coder≤��Uenr≥��U	datestampr¥��NUreport_levelrµ��KU_destinationr∂��NU
halt_levelr∑��KU
strip_classesr∏��NhWNUerror_encoding_error_handlerrπ��Ubackslashreplacer∫��Udebugrª��NUembed_stylesheetrº��âUoutput_encoding_error_handlerrΩ��Ustrictræ��U
sectnum_xformrø��KUdump_transformsr¿��NU
docinfo_xformr¡��KUwarning_streamr¬��NUpep_file_url_templater√��Upep-%04drƒ��Uexit_status_levelr≈��KUconfigr∆��NUstrict_visitorr«��NUcloak_email_addressesr»��àUtrim_footnote_reference_spacer…��âUenvr ��NUdump_pseudo_xmlrÀ��NUexpose_internalsrÃ��NUsectsubtitle_xformrÕ��âUsource_linkrŒ��NUrfc_referencesrœ��NUoutput_encodingr–��Uutf-8r—��U
source_urlr“��NUinput_encodingr”��U	utf-8-sigr‘��U_disable_configr’��NU	id_prefixr÷��U�U	tab_widthr◊��KUerror_encodingrÿ��UUTF-8rŸ��U_sourcer⁄��h+Ugettext_compactr€��àU	generatorr‹��NUdump_internalsr›��NUsmart_quotesrfi��âUpep_base_urlrfl��U https://www.python.org/dev/peps/r‡��Usyntax_highlightr·��Ulongr‚��Uinput_encoding_error_handlerr„��jæ��Uauto_id_prefixr‰��UidrÂ��Udoctitle_xformrÊ��âUstrip_elements_with_classesrÁ��NU
_config_filesrË��]Ufile_insertion_enabledrÈ��àUraw_enabledrÍ��KU
dump_settingsrÎ��NubUsymbol_footnote_startrÏ��K�UidsrÌ��}rÓ��(j=��j9��j4��j.��j^��jZ��jX��jT��hêhåhMhFjj��jf��jp��jl��j@��j<��h’h—jÔ��jÎ��jd��j`��jr��jn��j‚��jfi��j[��jW��jR��jN��jc��j_��jÕ��j…��jF��jB��jt��hDj:��j6��jL��jH��jú��jò��j,��j(��uUsubstitution_namesrÔ��}r��hIhPh&}rÒ��(h(]h)]h*]Usourceh+h,]h-]uU	footnotesrÚ��]rÛ��UrefidsrÙ��}rı��ub.