Bienvenido a PON-DB Engine, el motor de base de datos oficial de la arquitectura eDVM diseñado para ofrecer un rendimiento predecible de latencia constante con cifrado simétrico nativo y cero consumo innecesario de memoria RAM.

Guía de Inicio Rápido: Ecosistema PON-DB

Disponible para plataformas: Linux x86_64

Requerimientos mínimos:

  • CPU: 1 núcleo (arquitectura x86_64).

  • RAM: 128 MB (El motor puede funcionar con menos de 50 MB de memoria del sistema libre sin importar el tamaño de archivos que usted necesite gestionar).

  • Almacenamiento:   SSD / NVMeCapacidad para el .pon archivo tome en cuenta que un archivo .pon puede crecer tanto como 100Gb o más.

  • Sistema operativo: Linux (kernel 4.x o superior), Alpine Linux (recomendado para contenedores ultraligeros) ,AlmaLinux, Rocky Linux, Ubuntu Server, Debian.

1. Preparación del Entorno e Instalación

El ecosistema PON-DB se distribuye en forma de binarios nativos precompilados altamente optimizados que no requieren de un motor de ejecución ni de dependencias externas pesadas.

  1. Dar permisos de ejecución a los binarios descargados:
    Abra su terminal en la carpeta donde descargó los archivos y ejecute el siguiente comando para autorizar su ejecución en el sistema:
    chmod +x pon-db-engine pon-reader pon-gateway
  2. Verificar la arquitectura (Opcional):
    Asegúrese de que se encuentra en un entorno compatible ejecutando:
    uname -m
    (Debe retornar x86_64)
  3. Listo, es todo ya puede comenzar a usar PON-DB Engine.

2. Ingesta de Datos (Creación del archivo .pon , position object notation)

El proceso de ingesta toma un archivo estructurado en JSON o JSONL plano y lo convierte en un binario cifrado indexado y portable de manera síncrona, emitiendo una llave criptográfica única por cada base de datos.

Para generar su archivo .pon, utilice pon-db-engine especificando el archivo de origen y el único campo que desea indexar para búsquedas instantáneas:

./pon-db-engine datos.json --index=device_id

Resultados de la operación:

  • datos.pon: Su base de datos empaquetada, cifrada con AES-256-GCM y optimizada físicamente.
  • masterkey_????????_date.bin: La llave maestra requerida para descifrar la información en memoria. Consérvela en un lugar seguro.
  • Reporte de Eficiencia (datos.log): Un archivo de registro que documenta el tamaño inicial, final y el rate de aumento o reducción de acuerdo a la entropía del dataset.
  • En la actual versión el software no guarda en el .log que campo a indexado, se estudia la opción de incluirlo en el .log en la próxima version por lo que debe documentar esto con su wrapper favorito.

3. Consultas Básicas y Avanzadas (pon-db-engine)

Una vez que dispone de su archivo .pon y su llave maestra .bin, puede explorar la información directamente desde la consola utilizando expresiones estructuradas.

A. Consulta Simple

Búsqueda directa sobre el campo indexado. Devuelve de manera instantánea todos los registros asociados al valor clave buscado:

./pon-db-engine datos.json.pon query "device_id=esp32-1000" --key=masterkey_XYZ123.bin

B. Consulta Múltiple Directa (IN)

Permite buscar múltiples valores específicos sobre el campo indexado en una sola lectura optimizada:

./pon-db-engine datos.json.pon query "device_id IN [esp32-1000,esp32-4912]" --key=masterkey_XYZ123.bin

C. Consulta Mixta con Filtrado Secuencial (AND)

Filtra los resultados del campo indexado validando además condiciones secundarias sobre campos no indexados en un único paso de flujo continuo en RAM:

./pon-db-engine datos.json.pon query "device_id=esp32-1000 AND event=battery_status" --key=masterkey_XYZ123.bin

D. Consulta de Exclusión Criptográfica (NOT)

Extrae los datos que corresponden al índice principal, excluyendo explícitamente aquellos que cumplan la regla secundaria:

./pon-db-engine datos.json.pon query "device_id=esp32-1000 AND NOT event=error_report" --key=masterkey_XYZ123.bin

4. Uso de Lector Ligero Offline (pon-reader)

pon-reader es una utilidad de consulta independiente que cumple estrictamente la filosofía "el usuario sea el dueño legítimo de sus datos perpetuamente" (No-Vendor Lock). Sirve exclusivamente para leer archivos .pon de forma local usando la llave de descifrado, mostrando los registros en un formato estructurado o crudo según se requiera, usted puede crear archivos .pon y usarlos como formato seguro de intercambio de información, enviarlos a sus clientes con la clave respectiva y una copia de PON-Reader mediante un canal seguro o desplegar bases de datos en infraestructura de terceros para consultas seguras de alta velocidad.

Para ejecutar una consulta rápida sobre el campo indexado en modo estructurado legible:

./pon-reader datos.json.pon query "device_id=esp32-1000" --key=masterkey_XYZ123.bin --nomsg

(Si indexa el json en modo pretty lo entregará igual en la salida, si desea compactarlo a modo jsonl en la salida use --nomsg)

5. Uso de la Puerta de Enlace Criptográfica (pon-gateway)

pon-gateway actúa como una interfaz de red segura perimetral para exponer los datos en entornos de red bajo una arquitectura de "Cero Confianza" (Zero-Trust).

  • Operación de solo lectura (read-only): Por diseño rígido de aislamiento de hardware, el gateway tiene estrictamente prohibido realizar cualquier tipo de escritura o alteración en los archivos físicos.

Para iniciar el servicio del gateway en su servidor o terminal, configure previamente los accesos en su gateway_config.json y ejecute:

./pon-gateway

PON-GATEWAY

Guía de Referencia de Usuario y Configuración de Instancias

PON-Gateway es un motor HTTP microservicio de lectura de ultra alta velocidad para bases de datos indexadas en archivos planos comprimidos y cifrados (.pon) . Resuelve peticiones en complejidad constante mapeando direcciones físicas directamente en el binario sin mantener índices volcados enteros en memoria .

1. Arquitectura de Ejecución

Por diseño estricto de aislamiento y seguridad, el binario se ejecuta exclusivamente desde la interfaz de línea de comandos (CLI) sin argumentos ni parámetros dinámicos . Todos los parámetros operativos se leen de forma hermética desde el archivo de configuración en caliente .

Para iniciar el servicio en su servidor o terminal, ejecute:

./pon-gateway

Al arrancar, el motor busca obligatoriamente el archivo estructurado bajo el nombre estándar gateway_config.json en su directorio raíz de ejecución para mapear las instancias binarias criptográficas .

2. Estructura de Configuración (gateway_config.json)

El Gateway consume un mapeo declarativo que empareja alias de servicio, rutas físicas del volumen indexado, llaves maestras e infraestructura básica de tokens estáticos con cuotas de consumo :

{
  "instances": {
    "test_1": {
      "path": "./nombredeldataset1.json.pon",
      "key_path": "./masterkey_HASH_YYYY-MM-DD.bin"
    },
    "test_2": {
      "path": "./nombredeldataset2.json.pon",
      "key_path": "./masterkey_HASH_YYYY-MM-DD.bin"
    }
  },
  "auth": {
    "keys": {
      "token123": {
        "status": 1,
        "start_date": "2026-04-20T00:00:00Z",
        "end_date": "2027-04-20T00:00:00Z",
        "quota_total": 100000000,
        "current_usage": 0
      }
    }
  }
}

3. Especificación de Campos Técnicos

Bloque instances

Define las bases de datos montadas e identificadas unívocamente por el gateway . Cada nodo mapea:

  • path: Ubicación exacta del archivo binario .pon en el volumen .
  • key_path: Ruta al archivo binario que contiene la llave AES-256-GCM maestra respectiva .

Bloque auth

Capa de contención y autorización estática offline sin llamadas ni dependencias externas :

  • status: Control de acceso directo ( 1 : Activo / Autorizado, 0 : Revocado) .
  • start_date / end_date: Ventana temporal estricta en formato ISO-8601 conectada al contador offline del motor para evitar la manipulación del reloj del sistema .
  • quota_total / current_usage: Techo del volumen de lecturas acumuladas o peticiones permitidas antes del bloqueo automático del token .

4. Endpoints y Consumo del API

El gateway es de solo lectura (read-only) y expone exclusivamente rutas de resolución atómica en base a las instancias activas configuradas . Por defecto, utiliza el puerto 50005 para evitar colisiones con otros servicios del sistema .

A. Consulta de Registros

Devuelve el payload descifrado resolviendo el offset físico de manera instantánea .

GET /api/v1/<instance_name>/query?key=<valor_buscado>
Authorization: Bearer token123

Ejemplo de Consulta Real usando cURL:

curl -H "Authorization: Bearer token123" "http://localhost:50005/api/v1/test_1/query?key=999999"

6. Recomendaciones Generales y Buenas Prácticas

Para asegurar que opere el ecosistema PON-DB con la máxima eficiencia, estabilidad y garantizando la seguridad criptográfica Zero-Trust, siga estas recomendaciones del autor:

A. Gestión de Llaves Maestras (.bin)

  • Almacenamiento Aislado: La llave maestra masterkey_????_date.bin es el único medio para descifrar los datos de su respectivo archivo .pon. Si se pierde, los datos serán permanentemente inaccesibles, el proveedor del software no podrá ayudarlo a recuperar una clave si la pierde. No la almacene nunca en el mismo directorio público o servidor donde expone el archivo binario.
  • Políticas de Transmisión: No envíe llaves de descifrado y/o archivos .pon a través de los mismos canales de comunicación.

B. Estrategia de Indexación Eficiente

  • Selección del Campo Único: Dado que la versión para lectores permite indexar un solo campo por archivo, elija siempre la variable con mayor entropía o el identificador que use con más frecuencia en sus criterios de búsqueda iniciales (por ejemplo, device_id o id), esto que podría considerarse una limitación en la práctica si usted sigue el contenido del libro lo convertirá rápidamente en una ventaja.
  • Consultas con operadores: Recuerde que las consultas que utilicen operadores combinados (AND, NOT, IN) obtendrán un rendimiento óptimo de velocidad microsegundo (O(1)) siempre y cuando la primera condición apunte directamente al campo que fue indexado durante la ingesta, en próximas actualizaciones se incluirá OR, XOR y NAND, además de indexación multiple.

C. Operación en Entornos de Producción

  • Seguridad Perimetral con PON-Gateway: Para aplicaciones expuestas a la red, delegue siempre las consultas en pon-gateway. Este componente trabaja estrictamente en modo de solo lectura y bloquea cualquier intento de inyección en la línea de comandos, blindando el almacenamiento local contra modificaciones no autorizadas.
  • Sobre los archivos .pon y la indexación:
    • Los archivos .pon se genera realizando una copia del archivo json o jsonl indexado, usted puede procesar por ejemplo .csv hacia .jsonl para indexarlo luego a .pon.
    • La versión otorgada con el libro solo puede procesar archivos json o jsonl de hasta 1 millón de registros sin importa el tamaño inicial del archivo.
    • El motor solo puede indexar un campo de primer nivel que puede elegir, se sugiere que sea de alta entropía.
  • Licencia Permanente y Autonomía: Recuerde que la lectura y consulta a través de pon-reader y el motor es ilimitada y perpetua para la versión que recibe al comprar el libro. Una vez generado su archivo .pon, podrá consultarlo para siempre que lo desee, sus datos son suyos.

Es importante destacar que el software proveído para la reproducción de las pruebas mencionadas en el libro podría contener errores y/o limitaciones que el usuario puede reportar a info@pon-db.com, de manera tal que se consideren corregir en las actualizaciones.

Roberto C. Alemán

Ingeniero en Informática

Autor: Encrypted Data Virtual Machines & PON-DB Engine

Linkedin Profile

¿Qué es PON> DB Engine?

PON significa Notación de Objeto Posicional. Es un conjunto de reglas, un protocolo de normalización de datos, una especificación de formato de archivo y el algoritmo RA-CHAMPI que permite realizar operaciones a la velocidad que se obtendría procesando los datos almacenados en disco como una extensión directa de la memoria física.

PON-DB Engine se define como un motor de base de datos de estado sólido encapsulado en un formato binario único, portátil y estrictamente cifrado. Está diseñado para tratar el archivo de datos no como una estructura de almacenamiento convencional, sino como una extensión directa de la memoria física. Su arquitectura se basa en la creación de archivos .pon de alta densidad, donde cada punto de información posee una dirección exacta y predeterminada, eliminando así la necesidad de capas de traducción intermedias o sistemas de gestión relacional complejos.

Siguiendo esta misma línea de pensamiento, también podríamos verlo como una base de datos autónoma, un motor que almacena los datos y un analizador que los lee y los encuentra según las reglas del algoritmo.

El software PON-DB es una implementación práctica de los principios de computación centrada en datos , donde la prioridad se desplaza de la aplicación a la eficiencia, la permanencia y la autonomía de los datos. Este paradigma busca tratar los datos como la fuente permanente de valor, permitiendo que existan independientemente de las aplicaciones. En el caso de PON-DB, esto se traduce en archivos que no son simples contenedores pasivos, sino estructuras "inteligentes" que integran su propio motor de búsqueda y cifrado, lo que permite consultas O(1) sin depender de una infraestructura de base de datos externa o compleja.

Con este enfoque, PON-DB rompe con el modelo tradicional centrado en la CPU, donde los datos deben transferirse constantemente a la aplicación para su procesamiento. En cambio, al encapsular la lógica de acceso y la seguridad directamente en el formato de archivo (como el archivo .pon), logra lo que la computación centrada en datos define como agilidad y flexibilidad operativa: los datos se vuelven "líquidos" y portátiles. Esto permite que el software (el Lector, que ocupa solo 180 KB) actúe simplemente como una clave mínima para desbloquear el potencial de los datos, garantizando un rendimiento extremo y una seguridad descentralizada que se mantiene constante independientemente del entorno donde reside la información.

White Paper


> Comprobar los requisitos de hardware y del sistema <

Ejemplo de uso de PON-DB Engine:

NYC Taxi 2023 dataset.



Ingest Process  with PON-Engine:
$ ./pon-db-engine 2023_Yellow_Taxi_Trip_Data.json --index=tpep_pickup_datetime 
Index per: ["tpep_pickup_datetime"]...
PON file saved as: 2023_Yellow_Taxi_Trip_Data.json.pon 
Key saved as: masterkey_jCGndDBJ_2026-03-15.bin 
PON-DB GREEN COMPLIANCE INGEST REPORT (V8.6)
TIMESTAMP: 2026-03-26 21:29:37
STATUS: VERIFIED (GREEN)
ROWS PROCESSED: 38,310,226
TIME ELAPSED: 1433.909838 seconds
THROUGHPUT: 26717.32 rows/sec
INTEGRITY:
ORIGINAL SIZE: 18489371731 bytes
FINAL SIZE:     20268269745 bytes
md5sum 2023_Yellow_Taxi_Trip_Data_20260312.json
ed80168b4309347067a5835510554582
md5sum 2023_Yellow_Taxi_Trip_Data_20260312.json.pon
4118b0a2987c79315393be4156cb0caf
-------------
Query Process with PON-Reader:
# Initiating query...
$ time ./pon-db-reader 2023_Yellow_Taxi_Trip_Data_20260312.json.pon query "tpep_pickup_datetime=tpep_pickup_datetime=01/01/2023 12:40:36 AM" --key=masterkey_irBqC5yW_2026-03-26.bin --nomsg

 
{"VendorID": "2", "tpep_pickup_datetime": "01/01/2023 12:40:36 AM", "tpep_dropoff_datetime": "01/01/2023 12:45:03 AM", "passenger_count": "1", "trip_distance": "0.85", "RatecodeID": "1", "store_and_fwd_flag": "N", "PULocationID": "237", "DOLocationID": "263", "payment_type": "1", "fare_amount": "5.8", "extra": "1", "mta_tax": "0.5", "tip_amount": "2.16", "tolls_amount": "0", "improvement_surcharge": "1", "total_amount": "12.96", "congestion_surcharge": "2.5", "airport_fee": "0"}

real    0m0.020s
user    0m0.016s
sys     0m0.004s

â–ˆ
Descarga el dataset original y compara.! : NYC Yellow Taxi 2023 – Data.gov

Cómo conectar PON-Reader con Python, Go y Node: Guía completa

Ver Benchmarks

Ver Security Testing

verified VirusTotal Verdict (AI Audit)

After an exhaustive analysis of behavior in the Sandbox, the world's leading platform certifies:

"The sample is a legitimate proprietary commercial tool... exhibits heavy use of DRM and anti-tamper mechanisms for data integrity and decryption."
- Behavioral Analysis Report 2026

Status: 0/60 Undetected (Malware Clean).

keyboard_lockProtection Engineering
  • Hardware-Locking: Unique linkage through Product_UUID y CPU_Info for permanent licenses.
  • Native Cryptography: Using extensions AES-NI y SHA-256 integrated into the silicon for maximum speed.
  • Data Sovereignty: 100% Standalone. No outgoing network connections. (Network: NOT FOUND).