44 puntos por GN⁺ 2024-02-07 | 2 comentarios | Compartir por WhatsApp
  • Una página que recopila enlaces sobre cómo usar PostgreSQL en distintas áreas
    • trabajos en segundo plano, colas de mensajes, GIS, registros de auditoría, control de acceso, gestión de permisos, búsqueda, series temporales, datos de grafos, datos externos, HTTP, API, eventos/replicación/CDC, pruebas unitarias, migraciones, paneles/UI, visualización de datos, HTML y aplicaciones, LSP (servidor de lenguaje)

PostgreSQL is Enough

Trabajos en segundo plano

  • Con pg_cron, es posible gestionar trabajos programados en PostgreSQL.

Cola de mensajes

  • Ofrece información sobre cómo elegir PostgreSQL como tecnología de cola de mensajes.
  • pgmq es un sistema de cola de mensajes basado en PostgreSQL.

GIS/mapas

  • PostGIS añade capacidades de base de datos geoespacial a PostgreSQL.

Registro de auditoría

  • pgMemento y pgaudit rastrean cambios y gestionan registros de auditoría en PostgreSQL.

Control de acceso

  • acl se usa para gestionar listas de control de acceso en PostgreSQL.

Autenticación

  • El módulo pgcrypto y pgjwt de PostgreSQL gestionan la autenticación dentro de la base de datos.

Búsqueda

  • Proporciona enlaces útiles relacionados con la búsqueda de texto completo de PostgreSQL.
  • paradedb, pg_embedding y pgvector mejoran las capacidades de búsqueda en PostgreSQL.

Datos de series temporales

  • timescaledb amplía PostgreSQL para gestionar datos de series temporales.

Datos de grafos

  • Apache AGE amplía PostgreSQL para ofrecer funciones de base de datos de grafos.

Datos externos

  • wrappers integra fuentes de datos externas en PostgreSQL.

HTTP

  • pgsql-http y pg_net procesan solicitudes HTTP en PostgreSQL.

API

  • PostgREST, graphql-engine, postgraphile y pg_graphql construyen servidores API basados en PostgreSQL.

Eventos, replicación, CDC

  • El comando NOTIFY de PostgreSQL, junto con walex, peerdb, debezium y pglogical, rastrean cambios de datos y ofrecen funciones de replicación.

Pruebas unitarias

  • pgtap es una herramienta para pruebas unitarias de bases de datos PostgreSQL.

Migraciones

  • postgresql-migrations y bytebase gestionan migraciones de bases de datos PostgreSQL.

Paneles / UI

  • Baserow, NocoDB y AppSmith ofrecen interfaces de usuario y paneles.

Visualización de datos

  • Evidence y Metabase son herramientas de visualización de datos.

HTML y aplicaciones

  • SQLpage, Omnigres, pg_render y plmustache integran datos de PostgreSQL en aplicaciones web.

Servidor de lenguaje

  • postgres_lsp ofrece soporte del Language Server Protocol para PostgreSQL.

¿Qué falta?

  • Comparte en los comentarios lo que falte

Opinión de GN⁺

  • PostgreSQL demuestra, mediante diversas extensiones y herramientas, que es una plataforma versátil que va más allá de ser un simple sistema de gestión de bases de datos.
  • Este artículo ofrece a los desarrolladores un recurso útil al mostrar cómo PostgreSQL puede cubrir distintas necesidades de aplicaciones.
  • En particular, resalta el potencial de simplificar la arquitectura del sistema y optimizar el rendimiento mediante capacidades que pueden procesarse directamente dentro de la base de datos.

2 comentarios

 
eususu 2024-02-07

De estos, yo personalmente uso postgREST y estoy satisfecho.

 
GN⁺ 2024-02-07
Opiniones de Hacker News
  • Experiencia compartida al intentar simplificar el stack de aplicaciones

    Un usuario comenta que a menudo intenta simplificar el stack de aplicaciones, pero a medida que aumenta la complejidad de la aplicación termina dándose cuenta de la necesidad de usar distintos stacks tecnológicos. Si se intenta consolidar todo en una sola tecnología como Postgres, puede volverse incómodo. Aun así, ampliar la tecnología existente puede ser mejor que agregar una capa nueva. Por ejemplo, usar Postgres como cola de mensajes es mucho más fácil que mantener una cola de mensajes separada. Postgres destaca mucho en extensibilidad entre las bases de datos, y construir tecnología sobre esa base es muy divertido.

  • Opinión de un creador de ParadeDB sobre la extensibilidad de Postgres

    Como uno de los creadores de ParadeDB, comenta que ofrecen búsqueda rápida y capacidades de análisis mediante extensiones de Postgres. Para cargas de trabajo pequeñas, como en startups, tiene sentido permanecer dentro de Postgres el mayor tiempo posible. Sin embargo, cuando la escala crece, no todo puede resolverse solo con Postgres. Para manejar distintas cargas de trabajo dentro de Postgres, hay que separar el sistema según los requisitos específicos y asegurar escalabilidad y resiliencia independientes. En ese punto, se necesita un stack de soluciones especializadas para cada necesidad. Existe un movimiento por construir versiones en Postgres de componentes del stack, pero cada solución termina yendo más allá de Postgres, y no cree que vaya a haber una solución basada en Postgres para todos los componentes del stack.

  • Opinión sobre decidir usar sqlite al iniciar un proyecto nuevo

    Un usuario decidió que cada vez que empiece un proyecto nuevo lo hará con sqlite, y no migrará hasta que sea absolutamente necesario. Si Postgres sirve para el 90% de los casos, sqlite sirve para el 80%; además, es fácil de empezar a usar y también ofrece buen rendimiento. Cuando el escalado vertical deje de ser suficiente, probablemente ya estarás satisfecho con lo que construiste.

  • Dudas de un experto en C++ sobre las bases de datos

    Un experto en C++ poco familiarizado con las bases de datos cuestiona su necesidad. Viene de una industria donde se usan mucho formatos binarios personalizados, y siente que las bases de datos parecen resolver muchos problemas en la superficie, pero en la práctica no es así. Restricciones sobre tipos de datos, problemas con actualizaciones y compatibilidad entre distintos motores SQL hacen que usar una base de datos parezca una mala idea. Entiende las ventajas de interoperabilidad con grandes volúmenes de datos, pero fuera de eso plantea seriamente por qué serían necesarias las bases de datos.

  • Opinión sobre funcionalidades adicionales de PostgreSQL

    Señala que la mayoría de las funciones adicionales ya vienen integradas en MariaDB, y cita parte de la motivación del cliente HTTP de PostgreSQL. Sobre la idea de que sería bueno poder escribir triggers que llamen servicios web, el usuario expresa que preferiría dejar ese tipo de trabajo a otra persona.

  • Problemas al combinar el uso de funciones avanzadas con la experiencia de gestionar código

    Usa Postgres de forma extensa, pero cada vez que utiliza funciones avanzadas se topa con el problema de combinarlas con todas las buenas prácticas del desarrollo: control de versiones, revisión de código, tipos, pruebas y análisis estático. Hace una pregunta sobre migraciones.

  • Ventajas de prototipar funciones nuevas con el stack existente

    Comparte la experiencia de que primero conviene prototipar una función nueva antes que introducir algo nuevo desde el inicio. Con una curaduría cuidadosa, el prototipo inicial puede convertirse en código de producción usando el mismo stack. Pero cuando el sistema llega a sus límites, puede sentirse la necesidad de Redis u otra herramienta especializada. Lo importante es escribir un wrapper de API, cambiar solo la implementación interna cuando haga falta y probar bien las migraciones. Menciona que a la gente le sorprende cuánto tiempo se pueden posponer las decisiones tecnológicas.

  • Experiencia compartida de un usuario que usa Postgres, Redis y S3

    Usa una combinación de Postgres, Redis y S3, y dice que hasta ahora esa combinación nunca le ha fallado. A veces quiere probar Pub/Sub con Postgres, pero de todos modos necesita Redis para caché y sidekiq, y como Redis también es excelente, no se molesta en intentarlo.

  • Límites de Postgres para análisis de datos a gran escala

    Le gusta mucho Postgres, pero comparte la experiencia de haber sentido que no era suficiente cuando el volumen de datos se volvió muy grande. Postgres es perfecto para manejar cargas de trabajo tipo OLTP, pero si se necesita mejor soporte para OLAP recomienda usar StarRocks. La experiencia de mover datos de Postgres a StarRocks para análisis ha sido excelente, y StarRocks también permite consultas directas sobre data lakes.

  • Solicitud de compresión jsonb en Postgres

    Usa tanto Mongo como PG, pero considera que PG es mucho más simple, así que le gustaría abandonar Mongo para simplificar. Lo único que necesita es una columna jsonb comprimida, donde solo haga falta insertar, seleccionar y borrar, sin actualizaciones ni consultas complejas. Quiere mantener una tasa de compresión del 80-90% para claves JSON repetitivas, como en Mongo, sin necesidad de mantenimiento.