2014-10-01 3 views
3

На многоядерном сервере (или кластере) требуется развернуть dbdddddb на каждом ядре, которое не зависит друг от друга, т.е. не ищет распределенный дБ. Это возможно?несколько экземпляров rocksdb

Для каждой внутренней памяти в памяти требуется связь с хранилищем во время выполнения, т. Е. не при запуске или закрытии или все операции db выполняются в памяти?

ответ

3

1) Да, это возможно. RocksDB - это просто библиотека C++, которую вы можете скомпилировать с помощью вашего кода, который управляет несколькими экземплярами rockdb многоядерным сервером (или кластером). Несколько экземпляров rockdb также могут совместно использовать один и тот же набор ресурсов (например, использовать один пул потоков), используя их с помощью одного и того же Env (см. Options::env).

// Use the specified object to interact with the environment, 
// e.g. to read/write files, schedule background work, etc. 
// Default: Env::Default() 
Env* env; 

2), если каталог вашего rocksdb экземпляра в памяти (например, монтаж с помощью tmpfs), то все операции DB гарантированно будут выполнены в памяти. Чтобы сделать такие rockdb постоянными, вы также можете иметь возможность записи в режиме записи вперед в некоторые постоянные хранилища, такие как flash или диск.

+0

безупречный. Спасибо. –

Смежные вопросы