com.bigdata.journal
Interface IIndexStore

All Known Subinterfaces:
IBigdataFederation<T>, IBTreeManager, IIndexManager, IJournal
All Known Implementing Classes:
AbstractDistributedFederation, AbstractFederation, AbstractJournal, AbstractScaleOutFederation, EmbeddedFederation, JiniFederation, Journal, LocalDataServiceFederation, StoreManager.ManagedJournal, TemporaryStore

public interface IIndexStore

Interface accessing named indices.

Version:
$Id: IIndexStore.java 2265 2009-10-26 12:51:06Z thompsonbry $
Author:
Bryan Thompson

Method Summary
 void destroy()
          Destroy the IIndexStore.
 ExecutorService getExecutorService()
          A ExecutorService that may be used to parallelize operations.
 BigdataFileSystem getGlobalFileSystem()
          Return the global file system used to store block-structured files and their metadata and as a source and sink for map/reduce processing.
 SparseRowStore getGlobalRowStore()
          Return the global SparseRowStore used to store named property sets.
 IIndex getIndex(String name, long timestamp)
          Return a view of the named index as of the specified timestamp.
 long getLastCommitTime()
          The database wide timestamp of the most recent commit on the store or 0L iff there have been no commits.
 IResourceLocator getResourceLocator()
          Return the default locator for resources that are logical index containers (relations and relation containers).
 IResourceLockService getResourceLockService()
          The service that may be used to acquire synchronous distributed locks without deadlock detection.
 TemporaryStore getTempStore()
          A factory for TemporaryStores.
 

Method Detail

getIndex

IIndex getIndex(String name,
                long timestamp)
Return a view of the named index as of the specified timestamp.

Parameters:
name - The index name.
timestamp - The timestamp.
Returns:
The index or null iff there is no index registered with that name for that timestamp.

getGlobalRowStore

SparseRowStore getGlobalRowStore()
Return the global SparseRowStore used to store named property sets.

See Also:
GlobalRowStoreSchema

getGlobalFileSystem

BigdataFileSystem getGlobalFileSystem()
Return the global file system used to store block-structured files and their metadata and as a source and sink for map/reduce processing.

See Also:
BigdataFileSystem

getTempStore

TemporaryStore getTempStore()
A factory for TemporaryStores. TemporaryStores are thread-safe and may be used by multiple processes at once. Old TemporaryStores are eventually retired by the factory and their storage is reclaimed once they are finalized (after they are no longer in use by any process). The decision to retire a TemporaryStore is either made implicitly, when it is no longer weakly reachable, or explicitly, when it has grown large enough that no new processes should begin using that TemporaryStore. In the latter case, the TemporaryStore will remain available to the process(es) using it and a new TemporaryStore will be allocated and made available to the caller.

It is important that processes do not hold a hard reference to a TemporaryStore beyond the end of the process as that will prevent the TemporaryStore from being finalized. Holding reference to an AbstractBTree created on a TemporaryStore is equivalent to holding a hard reference to the TemporaryStore itself since the AbstractBTree holds onto the backing IRawStore using a hard reference.

Returns:
A TemporaryStore.

getResourceLocator

IResourceLocator getResourceLocator()
Return the default locator for resources that are logical index containers (relations and relation containers).


getExecutorService

ExecutorService getExecutorService()
A ExecutorService that may be used to parallelize operations. This service is automatically used when materializing located resources. While the service does not impose concurrency controls, tasks run on this service may submit operations to a ConcurrencyManager.


getResourceLockService

IResourceLockService getResourceLockService()
The service that may be used to acquire synchronous distributed locks without deadlock detection.


getLastCommitTime

long getLastCommitTime()
The database wide timestamp of the most recent commit on the store or 0L iff there have been no commits. In a local database, this timestamp is generated by a local timestamp service. In a distributed database, this timestamp is generated by a shared timestamp service. The timestamps returned by this method are strictly increasing for a given store and for a given database.

This method is useful if you plan to issue a series of read-consistent requests against the most current commit point of the database.

Returns:
The timestamp of the most recent commit on the store or 0L iff there have been no commits.
See Also:
IRootBlockView.getLastCommitTime()

destroy

void destroy()
Destroy the IIndexStore.



Copyright © 2006-2009 SYSTAP, LLC. All Rights Reserved.