သေးငယ်သောဖိုင်များ သေးငယ်သော သိုလှောင်မှုအတွက် ဆာဗာ wZD 1.0.0 ၏ ပထမဆုံး ထုတ်ဝေမှု

ရနိုင်ပါတယ် ပထမအကြိမ် wZD 1.0.0 — сервера для эффективного хранения большого числа файлов в компактном виде, который снаружи выглядит как обычный WebDAV-сервер. Для хранения используется модифицированная версия BoltDB. Код проекта написан на языке Go и ဖြန့်ဝေသည် BSD လိုင်စင်အောက်တွင်။

ဆာဗာက ဒါဟာခွင့်ပြု значительно сократить количество маленьких файлов на обычных или кластерных файловых системах с полной поддержкой блокировок. Поддерживаемый разработчиками wZD кластер хранит около 250 миллионов мелких файлов, разнесённых по 15 миллионам директорий в кластерной ФС MooseFS.

wZD даёт возможность переместить (архивировать) содержимое директорий в архивы в формате BoltDB и затем раздавать эти файлы из этих архивов (или помещать файлы в архивы методом PUT), значительно сократив число файлов в ФС и снизив накладные расходы на хранение метаданных. Для повышения эффективности обработки больших файлов, такие файлы могут сохраняться отдельно от Bolt-архивов. Подобный подход позволяет организовать хранение огромного числа мелких файлов, не упираясь в лимит на число inode в файловой системе.

သေးငယ်သောဖိုင်များ သေးငယ်သော သိုလှောင်မှုအတွက် ဆာဗာ wZD 1.0.0 ၏ ပထမဆုံး ထုတ်ဝေမှု

Сервер также можно использовать как NoSQL базу для данных в формате ключ/значение (с шардингом на базе структуры директорий) или для раздачи из БД предварительно сгенерированных html или json-документов. Что касается производительности, то отдача и запись данных с использованием Bolt-архивов приводит к увеличению задержки приблизительно на 20-25% при чтении и на 40-50% при записи. Чем меньше размер файла, тем меньше различия в задержках.

သေးငယ်သောဖိုင်များ သေးငယ်သော သိုလှောင်မှုအတွက် ဆာဗာ wZD 1.0.0 ၏ ပထမဆုံး ထုတ်ဝေမှု

အဓိက စွမ်းရည်:

  • Multithreading;
  • Multiserver၊ အမှားခံနိုင်ရည်နှင့် load ချိန်ခွင်လျှာပေးဆောင်;
  • အသုံးပြုသူ သို့မဟုတ် ဆော့ဖ်ဝဲရေးသားသူအတွက် အများဆုံး ပွင့်လင်းမြင်သာမှု၊
  • ပံ့ပိုးထားသော HTTP နည်းလမ်းများ- GET၊ HEAD၊ PUT နှင့် DELETE;
  • ကလိုင်းယင့်ခေါင်းစီးများမှတစ်ဆင့် စာဖတ်ခြင်းနှင့် စာရေးခြင်းအပြုအမူကို ထိန်းချုပ်ခြင်း၊
  • ပြောင်းလွယ်ပြင်လွယ်ရှိသော virtual hosts များအတွက်ပံ့ပိုးမှု;
  • Поддержка CRC-целостности данных при записи/чтении;
  • Memory သုံးစွဲမှု အနည်းဆုံးနှင့် အကောင်းဆုံး ကွန်ရက်စွမ်းဆောင်ရည် ချိန်ညှိခြင်းအတွက် semi-dynamic buffers;
  • Отложенная упаковка данных;
  • В дополнение предлагается многопоточный архиватор wZA для перемещения файлов в Bolt-архивы без остановки сервиса.

Некоторые ограничения текущего выпуска: нет поддержки Multipart, метода POST, протокола HTTPS, биндингов для языков программирования, рекурсивного удаления директорий, отсутствует поддержка монтирования структуры в файловую систему через WebDAV или FUSE, файлы хранятся под одним системным пользователем. Формат хранения привязан к архитектуре и не переносим между системами Little Endian и Big Endian. Несмотря на то, что сервер wZD реализует поддержку протокола HTTP, запускать его требуется только под прикрытием реверс прокси, таких как nginx и haproxy.

source: opennet.ru

မှတ်ချက် Add