Introducción a IndexedDB API

  • Posted on: 9 January 2023
  • By: ReYDeS

IndexedDB es una API de bajo nivel para el almacenamiento en lado del cliente de cantidades significativas de datos estructurados, incluyendo archivos/blobs. Esta API utiliza índices para permitir búsquedas de alto rendimiento en estos datos. Mientras el almacenamiento web (Web Storage) es útil para almacenar pequeñas cantidades de datos, no lo es tanto para almacenar grandes cantidades de datos estructurados. IndexedDB ofrece una solución.

Conceptos clave y uso

IndexedDB es un sistema para base de datos transaccional, como un RDBMS basado en SQL. Sin embargo a diferencia de los RDBMS basados en SQL, los cuales utilizan tablas de columnas fijas, IndexedDB es una base de datos orientada a objetos basada en JavaScript. IndexedDB permite almacenar y recuperar objetos indexados con una clave; se puede almacenar cualquier objeto compatible con el algoritmo de clonado estructurado. Es necesario especificar el esquema de la base de datos, abrir una conexión con esta, y a continuación, recuperar y actualizar los datos dentro de una serie de transacciones.

Sincrónico y Asincrónico

Las operaciones realizadas con IndexedDB se realizan de forma asíncrona, para no bloquear las aplicaciones.

Límites de almacenamiento y criterios de desalojo

Existen varias tecnologías web las cuales almacenan datos de un tipo u otro en el lado del cliente (es decir en su disco local). Se habla sobre todo de IndexedDB. El proceso mediante el cual el navegador calcula cuanto espacio debe asignar al almacenamiento de datos web, además aquello lo cual debe eliminar cuando se alcanza ese límite no es sencillo, y difiere de un navegador a otro. Límites de almacenamiento del navegador y criterios de desalojo intentan explicar cómo funciona esto, al menos en el caso de Firefox.

https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API
https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Browser_s...

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor en Hacking Ético, Forense Digital & GNU/Linux
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
Facebook: https://www.facebook.com/alonsoreydes
Youtube: https://www.youtube.com/c/AlonsoCaballero
Resumen de mi CV: https://www.reydes.com/d/?q=node/1