Проектирование системы для транзакций блокчейн ETL
Я пытаюсь придумать масштабируемый дизайн системы для одного из проектов, над которым я работаю, в котором я использую один из публичных наборов данных блокчейна Google bigquery-public-data.bitcoin_blockchain.transactions
Я хочу получить адрес входа/выхода с наибольшим количеством транзакций по притоку и оттоку и предоставить эту информацию через веб-приложение, поэтому каждый раз, когда посылается GET-запрос, например, GET /address, мое веб-приложение должно получить N лучших адресов входа и выхода для данного адреса и вернуть ответ в следующем формате запрос Get принимает адрес в качестве обязательного параметра и начальную дату, конечную дату, тип потока (приток, отток, оба) в качестве необязательных параметров
• {
• "data": [
• {
• "address": "",
• "inflow_val": "",
• "outflow_Val": "",
• "total_val": ""
• }
• ],
• "success": true
• }
Я думал об экспорте данных транзакций из bigquery и сбросе их в облачное хранилище google и задаче airflow, которая будет копировать экстракт bigquery из облачного хранилища в Postgresql, затем я установлю django с postgresql в качестве бэкенда, позабочусь о маршрутах GET-запросов в urls.py и логике расчета притока и оттока в файле views.py. Затем каждый раз, когда будет отправлен GET запрос, я буду делать агрегацию внутри views.py и возвращать ответ в вышеуказанном формате
но я не уверен, будет ли это масштабируемо или есть лучший способ сделать это
Ценю любые дополнительные предложения или материалы