Nano Hash - криптовалюты, майнинг, программирование

Virtuoso: Что произойдет, если я узнаю, что контрольная точка удалила ** МБ переназначенных страниц, оставив * МБ?

Я загружаю файлы freebase в virtuoso. У меня 88 папок. Каждая папка содержит 4 файла. Я разделил файлы таким образом, потому что у меня всего 8 ГБ оперативной памяти.

#!/bin/bash
for i in {1..88}
do
  isql 1111 dba dba exec="ld_dir('/data/data/${i}', '*.nt', 'http://freebase.com');"
  isql 1111 dba dba exec="rdf_loader_run();" 
  isql 1111 dba dba exec="checkpoint;"
  isql 1111 dba dba exec="commit WORK;"
  isql 1111 dba dba exec="checkpoint;"
  isql 1111 dba dba exec="delete from DB.DBA.load_list;"
done

Виртуоз.ini

# each buffer caches a 8K page of data and occupies approx. 8700 bytes of memory
# it's suggested to set this value to 65 % of ram for a db only server
# so if you have 32 GB of ram: 32*1000^3*0.65/8700 = 2390804
# default is 2000 which will use 16 MB ram
[Database]
MaxCheckpointRemap = 150000 (I have 8GB of RAM)
[TempDatabase]
MaxCheckpointRemap      = 2000
NumberOfBuffers          = 170000
MaxDirtyBuffers          = 130000

Сообщение

Checkpoint удалил 628 МБ переназначенных страниц, оставив 31 МБ. Продолжительность 31,21 с. Чтобы сэкономить это время, увеличьте MaxCheckpointRemap и/или установите квоту Unremap на 0 в ini-файле.


Вопрос

Почему я получаю это сообщение? и влияет ли это на процесс загрузки и построения базы данных?


Обновить

    #!/bin/bash
   
    #clear list
    isql 1111 dba dba exec="delete from DB.DBA.load_list;"
    #load data
    isql 1111 dba dba exec="ld_dir('/data/data, '*.gz', 'http://freebase.com');"
    isql 1111 dba dba exec="set isolation='uncommitted';"
    isql 1111 dba dba exec="rdf_loader_run();" 
    #checkpoint
    isql 1111 dba dba exec="checkpoint;"
    isql 1111 dba dba exec="commit WORK;"
    isql 1111 dba dba exec="checkpoint;"

виртуоз.ini

MaxCheckpointRemap       = 150000 (8GB RAM)
# Uncomment next two lines if there is 4 GB system memory free
NumberOfBuffers          = 340000
MaxDirtyBuffers          = 250000
# I have 6 cores
ThreadsPerQuery         = 4
AsyncQueueMaxThreads        = 10
#NO THREADS LEFT IN THE QUEUE
ThreadCleanupInterval       = 0
ThreadThreshold         = 0
#check point every 30 minutes.
CheckpointInterval      = 30
26.05.2015

  • Я подумал, что должен упомянуть пару странных вещей: ваш virtuoso.ini содержит фрагмент комментария, который является древним. Если у вас есть текущая версия virtuoso, вы должны использовать более свежий ini-файл по умолчанию и изменить его. Если нет: обновите виртуозно! 27.05.2015
  • похоже вы перепутали важные настройки для NumberOfBuffers вашего раздела [Database] с MaxCheckpointRemap! 27.05.2015
  • В bash-скрипте вы запускаете rdf_loader_run() 88 раз. На самом деле вы должны иметь возможность запускать только все строки ld_dir в цикле, поскольку они только регистрируют файлы для загрузки, а затем запускают rdf_loader_run один раз! Это должно быть намного быстрее. Более того: вы можете просто запустить ld_dir_all и вообще избавиться от цикла. Вам не нужно разбивать файлы на куски, которые помещаются в память, поскольку они обрабатываются потоком. Итак, пока ваши virtuoso.ini настройки верны, Virtuoso должен справиться со всем этим самостоятельно! 27.05.2015

Ответы:


1

Лучше всего это объясняется в виртуозной документации, но вкратце:

Параметр MaxCheckpointRemap в файле virtuoso.ini определяет, сколько страниц может храниться на странице, отличной от их логической страницы.

Это означает, что увеличение параметра сэкономит вам работу (и время) на контрольной точке, но уменьшит функцию локальности данных (данные, которые вставляются вместе, сохраняются близко друг к другу).

27.05.2015
  • Не могли бы вы проверить обновление. Дайте мне знать, пожалуйста, если это правильно 27.05.2015
  • выглядит намного лучше, хотя я не знаю, откуда вы взяли идею о том, что ручное отключение и повторное включение индексации дает вам какую-либо выгоду. обычно функция rdf_loader_run() делает все необходимое для запуска импорта. Контрольная точка не очищает оперативную память (свободная оперативная память — это потраченная впустую оперативная память). Контрольная точка принудительно записывает состояние базы данных на диск в виде единого согласованного образа, очищает журнал транзакций и т. д. (docs.openlinksw.com/virtuoso/checkpoint.html ) Во время массового импорта вы, вероятно, не захотите делать это каждую минуту. 27.05.2015
  • из чего вы поняли, что отключение и повторное включение индексирования вручную дает вам какие-либо преимущества github.com/dbpedia/dbpedia-tutorial/blob/master/scripts/ . чувак ты молодец спасибо спасибо 27.05.2015
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..