Details

Title Разработка локального легковесного хранилища на базе LSM-деревьев для автономных Java-проектов: выпускная квалификационная работа бакалавра: направление 09.03.03 «Прикладная информатика» ; образовательная программа 09.03.03_03 «Интеллектуальные инфокоммуникационные технологии»
Creators Виниченко Даниил Николаевич
Scientific adviser Андрианова Екатерина Евгеньевна
Organization Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Imprint Санкт-Петербург, 2025
Collection Выпускные квалификационные работы ; Общая коллекция
Subjects nosql ; базы данных ; lsm-деревья ; автономные встроенные хранилища ; apache casandra ; rocksdb ; badgerdb ; java ; автономные устройства ; sstable ; data bases ; lsm-trees ; local integrated storages ; autonomous devices
Document type Bachelor graduation qualification work
File type PDF
Language Russian
Level of education Bachelor
Speciality code (FGOS) 09.03.03
Speciality group (FGOS) 090000 - Информатика и вычислительная техника
DOI 10.18720/SPBPU/3/2025/vr/vr25-1505
Rights Доступ по паролю из сети Интернет (чтение, печать, копирование)
Additionally New arrival
Record key ru\spstu\vkr\35713
Record create date 7/30/2025

Allowed Actions

Action 'Read' will be available if you login or access site from another network

Action 'Download' will be available if you login or access site from another network

Group Anonymous
Network Internet

В этой работе исследуются современные подходы к организации эффективных локальных NoSQL-хранилищ на основе LSM-деревьев, с фокусом на Apache Cassandra и RocksDB. Объектом исследования выступают алгоритмы MemTable→SSTable и методы компактации. Цель работы – провести обзор существующих архитектур, выявить их преимущества и ограничения, а затем создать Java-библиотеку без внешних зависимостей, оптимизированную для встраиваемых систем и IoT-устройств. Методология включает теоретический анализ LSM-деревьев, сравнительный обзор стратегий записи и компактации, проектирование и реализацию прототипа на Java 8 с CRC-контрольной суммой и Bloom-фильтрами, а также комплексное тестирование: юнит-тесты и нагрузочные стенды на Java, Go+BadgerDB и C++17+RocksDB, в том числе в Docker-контейнере с лимитами 0,5 CPU и 512 MB RAM. По результатам нагрузочных тестов разработка продемонстрировала среднюю задержку записи до 12 µs и чтения до 4 µs при footprint менее 20 MB, а все проверки CRC и консистентности прошли на 100%. Полученный прототип готов к практическому применению в автономных системах с ограниченными ресурсами, таких как IoT-датчики и встроенные контроллеры.

This work investigates modern approaches to building efficient local NoSQL storages based on LSM-trees, focusing on Apache Cassandra and RocksDB. The subject of research is the MemTable→SSTable algorithm and compaction methods. The objective is to review existing architectures, identify their strengths and limitations, and then implement a minimal Java 8 library without external dependencies optimized for embedded systems and IoT devices. The methodology includes theoretical analysis of LSM-trees, comparative study of write and compaction strategies, design and implementation of a Java prototype with CRC validation and Bloom filters, and comprehensive testing: unit tests and load benchmarks on Java, Go+BadgerDB, and C++17+RocksDB, including in a Docker container constrained to 0.5 CPU and 512 MB RAM. Load testing results show write latencies up to 12 µs and read latencies up to 4 µs with a memory footprint under 20 MB, and 100% success in CRC and consistency checks. The prototype is ready for practical use in resource-constrained autonomous systems such as IoT sensors and embedded controllers, with potential for further optimization via sparse indexing and GC tuning.

Network User group Action
ILC SPbPU Local Network All
Read Print Download
Internet Authorized users SPbPU
Read Print Download
Internet Anonymous
  • Разработка локального легковесного хранилища на базе LSM-деревьев для автономных Java-проектов
    • ВВЕДЕНИЕ
    • 1. Анализ предметной области
    • 2. Проектирование прототипа хранилища
    • 3. Практическая реализация решения
    • 4. Тестирование и апробация реализованного решения
    • ЗАКЛЮЧЕНИЕ
    • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
    • Приложение 1 Код приложения

Access count: 0 
Last 30 days: 0

Detailed usage statistics