pmemkv
Для получения дополнительной информации, включая C API и C++ API, см.: https://pmem.io/pmemkv. Документация доступна для каждой ветки/выпуска. Для самых последних всегда смотрите (ветка master):*
Последние выпуски можно найти на вкладке «releases».
Актуальный текущий статус поддержки/обслуживания веток/выпусков доступен на pmem.io.
Также предоставляется небольшая вспомогательная библиотека pmemkv_json_config. Подробнее см. в её руководстве.
Содержание
Руководство по установке содержит подробные инструкции по сборке и установке pmemkv из исходников, созданию пакетов rpm и deb и объясняет использование экспериментальных механизмов и наборов пулов.
pmemkv написан на C/C++, но может использоваться и на других языках — Java, Node.js, Python и Ruby.
*
Примеры для C и C++ можно найти в этом репозитории в каталоге примеров.
Вышеупомянутые привязки поддерживаются в отдельных репозиториях GitHub, но всё ещё синхронизируются с основным дистрибутивом pmemkv.
pmemkv предлагает несколько механизмов хранения, которые используют общий API, поэтому каждый механизм можно использовать со всеми языковыми привязками и утилитами. Механизмы загружаются во время выполнения по имени.
Название механизма | Описание | Экспериментальный | Параллельный | Сортировка |
---|---|---|---|---|
blackhole | Принимает всё, ничего не возвращает | Нет | Да | Нет |
cmap | Параллельная хэш-карта | Нет | Да | Нет |
vsmap | Изменчивая отсортированная хэш-карта | Нет | Нет | Да |
vcmap | Изменчивая параллельная хэш-карта | Нет | Да | Нет |
csmap | Параллельная отсортированная карта | Да | Да | Да |
дерево 3 (tree3) | Постоянное B+ дерево | Да | Нет | Нет |
стри (stree) | Сортированное постоянное B+ дерево | Да | Нет | Да |
робинхуд (robinhood) | Постоянная хэш-карта с хешированием Робин Гуда | Да | Да | Нет |
пскиплист (pskiplist) | Отсортированный список с пропусками (внесён 4Paradigm) | Да | Да | Да |
драм вцмэп (dram_vcmap) | Изменчивая параллельная хэш-карта, полностью размещённая в DRAM | Да | Да | Нет |
Производственные качественные движки описаны в руководстве libpmemkv(7), а экспериментальные — в файле ENGINES-experimental.md.
Внести новый движок легко, так что дерзайте!
Экспериментальный бенчмарк на основе leveldb db_bench для измерения производительности pmemkv доступен здесь: https://github.com/pmem/pmemkv-bench (ранее pmemkv-tools).
Для получения дополнительной информации о pmemkv свяжитесь с Игорем Хоронжевичем (igor.chorazewicz@intel.com), Петром Бальцером (piotr.balcer@intel.com) или напишите в наш канал #pmem Slack по этой ссылке для приглашения [https://join.slack.com/t/pmem-io/shared_invite/enQtNzU4MzQ2Mzk3MDQwLWQ1YThmODVmMGFkZWI0YTdhODg4ODVhODdhYjg3NmE4N2ViZGI5NTRmZTBiNDYyOGJjYTIyNmZjYzQxODcwNDg] или в Google group [https://groups.google.com/group/pmem].
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )