Рубрики
Без рубрики

Использование Apache Kafka для горизонтального масштабирования временного хранилища документов?

Привет всем, примерно с года я читаю кучу материалов о распределенных системах, особенно о базах данных… С тегами “Обсуждение”, “база данных”, “котлин”, “java”.

Привет всем,

примерно с года я читаю кучу материалов о распределенных системах, особенно о системах баз данных, например, Мартин Клеппманс “Приложения с интенсивным использованием данных” и только что купил книгу “Внутренности базы данных”. Он большой сторонник хранения данных в распределенном журнале , как, например, Kafka или Bookkeeper, и создания более или менее (материализованных) представлений из сохраненных данных в различных системах сверху.

Мне действительно нравится эта идея. Однако вместо хранения данных в бэкэнде Kafka (для такого варианта использования я думаю, что BookKeeper лучше использовать в качестве журнала фиксации транзакций, и он предложил это) для моего проекта с открытым исходным кодом SirixDB Я предполагаю заменить серверную часть Kafka и хранить непосредственно в моей системе хранения со структурой журналов, поскольку ей не нужен журнал транзакций (просто встроенный буфер, который можно сбросить на диск, если в противном случае потребуется использовать слишком много памяти). Таким образом, одна из интересных вещей заключается в том, что транзакции на уровне ресурсов (для документов – двоичных файлов JSON или XML) в базе данных реализуются с использованием атомарного обмена UberPage, который является основной точкой входа в индексную структуру на основе trie (индексов). Таким образом, было бы здорово не хранить данные, так сказать, во втором хранилище данных.

Есть отличная статья от Гетца Грефе, Каэтано Зауэра и Хердера о подобном подходе.

Я читал, что недавно чтения могут быть сделаны из подписчиков, которые синхронизированы с лидером раздела в Kafka, так что вы думаете об этой идее? Я думаю, что серверную часть можно было бы заменить.

Самое классное, что в Kafka темой, вероятно, в моем случае будет база данных, а раздел – ресурс, который следует реплицировать на некоторые узлы кластера.

С наилучшими пожеланиями и отличного Рождества Йоханнес

Оригинал: “https://dev.to/johanneslichtenberger/using-apache-kafka-for-horizontal-scaling-of-a-temporal-document-store-28lf”