Возможно ли ускорить получение данных из базы в 10 и более раз?

Есть минутные данные валютной истории длиной в 5 миллионов документов.
Каждый документ имеет идентичную структуру со следующим примером на скриншоте:

введите сюда описание изображения


Попытка выгрузить эти данные (для начала одним махом в память) заняла 0.75 минуты.
Сам код выглядит следующим образом:

const { DateTime } = require("luxon");
const startScript = DateTime.now();

const otherTimeframes = async (databaseName, timeframe, ticker, timeframeTypeSymbol, baseFormattingTimeframeSymbol) => {
    try{
        const {MongoClient} = require('mongodb');
        const client = new MongoClient('mongodb://127.0.0.1:27017/');
        await client.connect();
        const baseTimeframeData = await client.db(`${databaseName}`).collection(`${ticker}-${baseFormattingTimeframeSymbol}`);

        let prepareBaseTimeframeIterData = await baseTimeframeData.aggregate([
          { $match: { $and : [{_id: {$gt:-1}},{_id: {$lt:5725858}}] }}
       ]).toArray();

        console.log(`Get data from Database time: ${DateTime.now().diff(startScript, ['minute'])}`);
    }

    catch(e){
        console.log(e);
    }
}

async function startTimeframesConverting() {
    const currencyDatabaseName = 'EURSGD';
    const currencyMinutesTimeframe = 5;
    const currencySymbol = currencyDatabaseName;
    const currencyTimeframeMinutesTypeSymbol = 'm';
    const baseCurrencyFormattingTimeframeSymbol = `${currencyTimeframeMinutesTypeSymbol}1`;

    return await otherTimeframes(
        currencyDatabaseName,
        currencyMinutesTimeframe,
        currencySymbol,
        currencyTimeframeMinutesTypeSymbol,
        baseCurrencyFormattingTimeframeSymbol
    )
}

startTimeframesConverting();

Вопрос:
Возможно ли(в теории) ускорить получение данных из базы в 10 и более раз - на данных технологиях?
Если да - то каким именно образом?

Ответы (0 шт):