注意: Cassandraの内部APIはバージョン1.0以降でも変更される可能性が高いです。

JVMベースのコード内で簡単にCassandraノードを起動できます。次のコードはCassandraDaemonの処理の内容です:

        // キースペースの初期化
        for (String table : Table.getAllTableNames())
        {
            if (logger.isDebugEnabled())
                logger.debug("opening keyspace " + table);
            Table tbl = Table.open(table);
            tbl.onStart();
        }

        // 必要に応じてコミットログからのリカバリ
        RecoveryManager.doRecovery();

        // サーバの起動
        StorageService.instance().initServer();

こうすることで、Thriftを経由せずに内部のStorageProxy APIを利用することができるようになります。

より高レベルなCassandraサービスの埋込みは次に詳しく記載されており、バージョン0.6にコミットされています。 http://prettyprint.me/2010/02/14/running-cassandra-as-an-embedded-service/

stats

Embedding_JP (last edited 2013-11-14 18:03:00 by GehrigKunz)