1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/paradigm4-pmemstore

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README-pmemkv.md 7.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 12:50 3ebaa4f

pmemkv

  • pmemkv — это локальное/встроенное хранилище данных «ключ-значение», оптимизированное для постоянной памяти. Вместо того чтобы быть привязанным к одному языку или базовой реализации, pmemkv предоставляет различные варианты языковых привязок и механизмов хранения.*

Для получения дополнительной информации, включая C API и C++ API, см.: https://pmem.io/pmemkv. Документация доступна для каждой ветки/выпуска. Для самых последних всегда смотрите (ветка master):*

Последние выпуски можно найти на вкладке «releases».

Актуальный текущий статус поддержки/обслуживания веток/выпусков доступен на pmem.io.

Также предоставляется небольшая вспомогательная библиотека pmemkv_json_config. Подробнее см. в её руководстве.

Содержание

  1. Установка*
  2. Языковые привязки*
  3. Механизмы хранения*
  4. Тесты производительности*
  5. Свяжитесь с нами*

Установка

Руководство по установке содержит подробные инструкции по сборке и установке pmemkv из исходников, созданию пакетов rpm и deb и объясняет использование экспериментальных механизмов и наборов пулов.

Языковые привязки

pmemkv написан на C/C++, но может использоваться и на других языках — Java, Node.js, Python и Ruby.

pmemkv-bindings*

Примеры на C и C++

Примеры для 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 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/paradigm4-pmemstore.git
git@api.gitlife.ru:oschina-mirror/paradigm4-pmemstore.git
oschina-mirror
paradigm4-pmemstore
paradigm4-pmemstore
master