# metadata

<div class="jsdoc-content"><header>
    
        
            
        
    
</header>


    
        
            <div class="description"><p>Module containing classes and fields related to metadata.</p></div>
        

        
            















<div class="admonition note"><p class="admonition-title">Source</p><p><a href="https://github.com/scylladb/nodejs-rs-driver/blob/v0.6.1/lib/metadata/index.js#L3" target="_blank" rel="noopener">metadata/index.js, line 3</a></p></div>




















        
    
    

    

    

    
        </div>

## Classes

<div class="jsdoc-content">

        <dl>
            <dt><a href="Aggregate.html">Aggregate</a></dt>
            <dd></dd>
        
            <dt><a href="ClientState.html">ClientState</a></dt>
            <dd></dd>
        
            <dt><a href="ColumnMetadata.html">ColumnMetadata</a></dt>
            <dd></dd>
        
            <dt><a href="Index-class.html">Index</a></dt>
            <dd></dd>
        
            <dt><a href="KeyspaceMetadata.html">KeyspaceMetadata</a></dt>
            <dd></dd>
        
            <dt><a href="MaterializedView.html">MaterializedView</a></dt>
            <dd></dd>
        
            <dt><a href="Metadata.html">Metadata</a></dt>
            <dd></dd>
        
            <dt><a href="SchemaFunction.html">SchemaFunction</a></dt>
            <dd></dd>
        
            <dt><a href="Strategy.html">Strategy</a></dt>
            <dd></dd>
        
            <dt><a href="TableMetadata.html">TableMetadata</a></dt>
            <dd></dd>
        
            <dt><a href="Udt.html">Udt</a></dt>
            <dd></dd>
        
            <dt><a href="UdtField.html">UdtField</a></dt>
            <dd></dd>
        </dl>
    

    

    

    

    
        </div>

## Members

<div class="jsdoc-content">

        
            
<h3 class="name" id="~ColumnKind"><span class="type-signature">(inner, constant) </span>ColumnKind<span class="type-signature"> :number</span></h3>




<div class="description">
    <p>Some columns have a specific meaning in the context of a table,
and this meaning is represented by the ColumnKind enum.</p>
</div>



    <h4>Type:</h4>
    <ul>
        <li>
            
<span class="param-type">number</span>


        </li>
    </ul>





    <h4 class="subsection-title">Properties:</h4>

    

<table class="props docutils align-default">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>Regular</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last"><p>Just a regular column.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>Static</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last"><p>Column that has the same value for all rows in a partition.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>ClusteringKey</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last"><p>Column that is part of the clustering key.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>PartitionKey</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last"><p>Column that is part of the partition key.</p></td>
        </tr>

    
    </tbody>
</table>




<div class="admonition note"><p class="admonition-title">Source</p><p><a href="https://github.com/scylladb/nodejs-rs-driver/blob/v0.6.1/lib/metadata/table-metadata.js#L15" target="_blank" rel="noopener">metadata/table-metadata.js, line 15</a></p></div>






        
            
<h3 class="name" id="~StrategyKind"><span class="type-signature">(inner, constant) </span>StrategyKind<span class="type-signature"> :number</span></h3>




<div class="description">
    <p>Identifies the replication strategy variant.</p>
</div>



    <h4>Type:</h4>
    <ul>
        <li>
            
<span class="param-type">number</span>


        </li>
    </ul>





    <h4 class="subsection-title">Properties:</h4>

    

<table class="props docutils align-default">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>SimpleStrategy</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last"><p>Deprecated in ScyllaDB.</p>
<p><strong>Use only for a single datacenter and one rack.</strong></p>
<p>Places the first replica on a node determined by the partitioner.
Additional replicas are placed on the next nodes clockwise in the ring
without considering topology (rack or datacenter location).</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>NetworkTopologyStrategy</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last"><p>Use this strategy when you have (or plan to have) your cluster deployed across
multiple datacenters. This strategy specifies how many replicas you want in each
datacenter.</p>
<p><code>NetworkTopologyStrategy</code> places replicas in the same datacenter by walking the ring
clockwise until reaching the first node in another rack. It attempts to place replicas
on distinct racks because nodes in the same rack (or similar physical grouping) often
fail at the same time due to power, cooling, or network issues.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>LocalStrategy</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last"><p>Used for internal purposes, e.g. for system tables.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>Other</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            

            

            <td class="description last"><p>Unknown other strategy, which is not supported by the driver.</p></td>
        </tr>

    
    </tbody>
</table>




<div class="admonition note"><p class="admonition-title">Source</p><p><a href="https://github.com/scylladb/nodejs-rs-driver/blob/v0.6.1/lib/metadata/keyspace-metadata.js#L18" target="_blank" rel="noopener">metadata/keyspace-metadata.js, line 18</a></p></div></div>
