Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

190
Views
Cómo encontrar todo u obtener todo en dynamo db en NodeJS

Quiero obtener todos los datos de una tabla en Dynamo DB en nodejs, este es mi código

 const READ = async (payload) => { const params = { TableName: payload.TableName, }; let scanResults = []; let items; do { items = await dbClient.scan(params).promise(); items.Items.forEach((item) => scanResults.push(item)); params.ExclusiveStartKey = items.LastEvaluatedKey; } while (typeof items.LastEvaluatedKey != "undefined"); return scanResults; };

Implementé esto y funciona bien, pero nuestra herramienta de revisión de código marca en rojo que esto no está optimizado o causa una fuga de memoria, simplemente no puedo entender por qué, he leído en otro lugar que escanear la API de dynamo DB no es lo más forma eficiente de obtener todos los datos en el nodo o hay algo más que me falta para optimizar este código

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

HAZ ESTO SOLO SI EL TAMAÑO DE DATOS ES MUY MENOR (menos de 100 elementos o tamaño de datos inferior a 1 MB, eso es lo que prefiero y en ese caso no necesitas un ciclo do-while while)

Piense en el siguiente escenario: ¿Qué sucede en caso de que en el futuro se agreguen más y más elementos a la tabla de DynamoDB? - Esto devolverá todos sus datos y los colocará en la variable scanResults , ¿verdad? Esto afectará la memoria. Además, la operación de escaneo de DynamoDB es costosa, tanto en términos de memoria como de costo.

Está perfectamente bien usar la operación ESCANEAR si los datos son muy pequeños. De lo contrario, vaya con la paginación (siempre prefiero esto). Si hay miles de elementos, ¿quién los examinará todos de una sola vez? Así que usa la paginación en su lugar.

Tomemos otro escenario, si su requisito es recuperar todos los datos para realizar algunos análisis o agregaciones. Luego, almacene mejor los datos agregados por adelantado en la tabla (la misma tabla de DynamoDB o una diferente) como un elemento o use alguna base de datos de análisis.

Si su requerimiento es otro, elaborelo en la pregunta.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!