• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Library for Creating Snapshots of Big Objects, Uploading Them to RAM and Effectively Accessing Data in Them

Student: Golovko Kirill

Supervisor: Igor Agamirzian

Faculty: Faculty of Computer Science

Educational Programme: Software Engineering (Bachelor)

Year of Graduation: 2020

There is a need for quick static or rarely data access in most of software products, especially in online recommender systems. That is because they are should be provided with information of huge amount of objects simultaneously. On the one hand, traditional DBMS are not suitable enough due to time losses caused by slow hard drive discs storage and network data transmission. On the other hand, storage based on simple program objects decreases system performance because of overhead for their maintenance and takes considerable time to upload them in to memory while system starts up. The main idea of proposed software project is in dumping binary snapshots of program objects to the hard drive on the machines that are not used for users requests processing. After that they are uploaded to the random access memory of servers, that are actually processing requests, to provide access to the data via programming object interface. The library is based on memory mapping technology, open hashing approach for hash maps data structure realisation and MurmurHash as a hash function. Development of the Java library for Java objects snapshots serialization to the binary files, uploading them to the random access memory and providing data access via program object interface are the purpose of this work. The issues are: 1. The review of used literature 2. The review of existing solutions 3. Chose and analysis of algorithms, approaches, suitable hash functions, load factor and Java objects injection technologies for library realisation. 4. Implementation of the Java library for creating snapshots of big objects, uploading them to RAM and effectively accessing data in them. 5. Functionality and performance tests development and evaluation. 6. This document development (Final qualifying work text) 7. Technical documentation development Keywords: static data access, memory mapping, serialization, snapshots, in memory data storage The paper contains 45 pages, 3 chapters, 12 illustrations, 21 bibliography items, 4 appendices.

Student Theses at HSE must be completed in accordance with the University Rules and regulations specified by each educational programme.

Summaries of all theses must be published and made freely available on the HSE website.

The full text of a thesis can be published in open access on the HSE website only if the authoring student (copyright holder) agrees, or, if the thesis was written by a team of students, if all the co-authors (copyright holders) agree. After a thesis is published on the HSE website, it obtains the status of an online publication.

Student theses are objects of copyright and their use is subject to limitations in accordance with the Russian Federation’s law on intellectual property.

In the event that a thesis is quoted or otherwise used, reference to the author’s name and the source of quotation is required.

Search all student theses