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

Clever String Processing Algorithms in ClickHouse

Student: Kutenin Danila

Supervisor: Oleg V. Sukhoroslov

Faculty: Faculty of Computer Science

Educational Programme: Applied Mathematics and Information Science (Bachelor)

Final Grade: 10

Year of Graduation: 2019

String processing algorithms are everywhere - each second thousands of text queries do string search across petabytes of possibly compressed data. Though there are many classic ways to do asymptotically optimal search but research still continue now for real data. We present self-designed new algorithm multi-Volnitsky to search across haystack with multiple needles at once that was implemented in the database system ClickHouse. We also implemented multiple regex search with hyperscan library. We added new ways to do an approximate search to find typos and similarities between strings. We paid attention to SIMD approaches of UTF-8 encoded string processing. We will also talk about LZ4 codec probabilistic optimization and how it is used in ClickHouse.

Full text (added May 15, 2019)

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