Что делает конвейер данных масштабируемым?

#database-design #relational-database #scalability #data-pipeline

Вопрос:

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

Каков способ сделать конвейеры данных более масштабируемыми, не требующими NoSQL или крупных инвестиций, таких как кластеры hadoop?

Большинство наших трубопроводов в настоящее время выполняются с использованием Python. Они довольно просты по своей природе: приложение подключается к базе данных SQL, извлекает необработанные данные в фрейм данных, преобразует их, а затем передает в производственное приложение.

Мой вопрос: где в этом проекте определяется масштабируемость? Или, скорее, если мы увеличим объем поступающих и исходящих данных, какая часть этого дизайна начнет вызывать проблемы? Я читал о том, что основная причина, по которой NoSQL более эффективен при масштабировании, чем SQL, заключается в том, что для обеспечения соблюдения ограничений SQL требуется много ресурсов.

Итак, в моем примере это уже было бы масштабируемо? поскольку SQL участвует только в процессе приема необработанных данных, в то время как вычисления выполняются за пределами SQL с помощью python/pandas (насколько мне известно, никакие ограничения не проверяются и не применяются), затем, наконец, результаты передаются в другое приложение.

Комментарии:

1. «Если мы увеличим объем поступающих и исходящих данных, какая часть этого проекта начнет вызывать проблемы?» Узнайте, когда ваш объем увеличивается. Тогда ни тебе, ни мне не пришлось бы гадать,