La mia azienda ha una suite di maturità (le radici risalgono a più di 15 anni), applicazioni computazionalmente intensive (simulazioni) che usiamo per svolgere attività di consulenza. Lavoro sul lato della simulazione / consulenza della casa, non sul lato dello sviluppo del software. Recentemente ho appreso di una particolare caratteristica dell'architettura che mi riguarda: il nostro grande (200-500 MB, a volte più) i dati di input sono prima completamente caricati in memoria dal database. Quindi, il motore di simulazione accede ai dati di input dalla memoria mentre continua.
Mi è sembrato un "ottimizzazione pre-matura" e / o un'idea vecchio stile, poiché ritengo che ci siano server di database là fuori che possono essere abbastanza veloci. L'architettura causa un altro problema, ovvero il nostro database di simulazione può essere così grande (poco più di un GB) prima che un sim non possa essere eseguito affatto. Il capo architetto è uno scienziato, non uno sviluppatore di software, e un po 'testardo, quindi sto cercando commenti su questa domanda dalla comunità.
La nostra architettura ci ferisce? Ci sono documenti / lavoro / test sull'argomento, trade-off tra la lettura del database e una copia del database in memoria? Qualsiasi commento o intuizione sarebbe apprezzato. Mi piacerebbe essere istruito prima di risolvere il problema con la mia azienda.