Álvaro Hernández

0.x serial entrepreneur. OnGres (@ongresinc) Founder. PostgreSQL is one every other word I say. Opensource advocate. Learnaholic. Passionate geek. AWS Data Hero

FOLLOW ME Twitter LinkedIn

`whoami`

I am a passionate database and software developer. “Serial” entrepreneur, after several unsuccessful ventures, I founded and work as the CEO of OnGres, a PostGres startup set to disrupt the database market. I have been dedicated to PostgreSQL and R&D in databases since two decades ago.

In my heart, I am an open source advocate and developer. I am a well-known member of the PostgreSQL Community, to which I have contributed founding the non-profit Fundación PostgreSQL and the Spanish PostgreSQL User Group. You will find on this website a list of my open source (code) contributions, as well as my work for open source communities, like PostgreSQL.

You can find me frequently speaking at PostgreSQL, database, cloud and/or Java conferences. Every year, I travel approximately three times around the globe. You can browse in this website the close to 100 talks that I have given in the last years. Hope that they are useful to you and the attendees who came to my talks.

In 2019 I was acknowledged as a AWS Data Hero due to my constant efforts on sharing my knowledge, promoting PostgreSQL related issues publicity, and contributing to the Open Source community at a national and international scope.

talks

+85 Talks since 2010

RDS Postgres Configuration for Humans

AWS DB micro conference #1: Meet AWS DATA HEROES

Share this talkLink copied to your clipboard!
RDS Postgres Configuration for Humans
AWS re:Invent Las Vegas, NV, USA Dec 3, 2019
RDS Postgres Configuration for Humans
AWS DB Micro Conference Boston, MA, USA Nov 14, 2019

Cloud Native PostgreSQL en Kubernetes

PostgreSQL y Cloud Native… PostgreSQL y Kubernetes… muchos términos trendy, pero ¿se llevan bien? A pesar de los mitos sobre la no idoneidad de los contenedores para cargas con estado, como las bases de datos, la respuesta es sí. Si quieres entender el porqué y el cómo, y sobre todo cómo poder disponer de una experiencia similar a RDS, pero en tu propio cluster Kubernetes, esta es tu charla. Por primera vez, PostgreSQL España y AWS Madrid se suman en la organización de este evento conjunto. Álvaro Hernández, experto en PostgreSQL y en AWS, y Fundador de PostgreSQL España, será el encargado de presentar una charla técnica, profunda y práctica (con EKS) sobre PostgreSQL y Kubernetes.

Share this talkLink copied to your clipboard!

Cloud Native PostgreSQL on Kubernetes

An enterprise-grade PostgreSQL requires many complementary technologies to the database core: high availability and automated failover, monitoring and alerting, centralized logging, connection pooling, etc. That is, a stack of components around PostgreSQL.

Kubernetes has enabled a new model to deploy software abstracting away the infrastructure. However, containers are not lightweight VMs, and the packing of software paradigms that work on VMs are not valid on containers/Kubernetes. How should be PostgreSQL and its stack be deployed on Kubernetes?

 Enter StackGres. An open source software that is the result of re-engineering PostgreSQL to become cloud native. Join this talk to learn and see.

Share this talkLink copied to your clipboard!

MongoDB vs. Postgres Benchmark

Benchmarking is hard. Benchmarking databases, harder. Benchmarking databases that follow different approaches (relational vs document) is even harder. But the market demands these kinds of benchmarks. Despite the different data models that MongoDB and PostgreSQL expose, many organizations face the challenge of picking either technology. And performance is arguably the main deciding factor. Join this talk to discover the numbers! After $30K spent on public cloud and months of testing, there are many different scenarios to analyze. Benchmarks on three distinct categories have been performed: OLTP, OLAP and comparing MongoDB 4.0 transaction performance with PostgreSQL's.

Share this talkLink copied to your clipboard!
MongoDB vs. Postgres Benchmark
Enterprise Postgres Day2019 EditionAmsterdam, NetherlandsJul 11, 2019
MongoDB vs. Postgres Benchmark
PostgresVision2019 EditionBoston, MA, USAJun 26, 2019

Oracle to PostgreSQL Migration Tutorial

Stop paying for Larry’s boat! PostgreSQL is a fully-featured, enterprise-grade and open source database, named two years in a row database of the year! And it’s also the best candidate to migrate off of Oracle, supporting very advanced SQL, easy administration and pl/pgsql, a replacement for Oracle’s PL/SQL. Stop spending hundreds of thousands or millions of $ on database licenses and reinvest them in your team, infrastructure and software. Join this half-day tutorial to learn the best practices, tricks and tools to perform a successful Oracle to PostgreSQL migration. Learn from the team that performed 150M users Blackberry migration to PostgreSQL on GCP with near-zero downtime, and the key author behind orafce, a set of Oracle compatible functions on top of PostgreSQL.

Share this talkLink copied to your clipboard!

Running Natively PostgreSQL on Kubernetes

Kubernetes has enabled a new model to deploy applications abstracting away the infrastructure, enabling multi-cloud and on-premise seamless deployments. However, containers are not lightweight virtual machines, and the packing of software paradigms that work on VMs are not valid on containers/Kubernetes. This talk will cover, among other topics: how to generate PostgreSQL minimal containers; how to package and interact with sidecar containers; integration and extension of Kubernetes. Join this journey describing how to prepare PostgreSQL to run natively on Kubernetes, and how to build a full PostgreSQL stack (PostgreSQL plus all the components it requires for a full-featured system with monitoring, high availability, etc) in Kubernetes.

Share this talkLink copied to your clipboard!
Running Natively PostgreSQL on Kubernetes
PGIBZ2019 EditionIbiza, SpainJun 20, 2019

PostgreSQL's 10 Coolest Features

PostgreSQL is the database of the year 2017 and 2018, and the database with the highest popularity growth in the last years. It is very highly ranked, reputed, trusted. But what backs this reputation? Is it worth the praises? If you consider the database a “commodity” where 99% of what you do is INSERT, SELECT, GROUP BY, JOIN, keep reading. PostgreSQL is an incredible database with so many cool features that will make your job easier. Less buggy. More robust. Cheaper. And last but not least, more fun. This is a tour of 10 really cool PostgreSQL features, like rolling back your live DDL changes, incredibly powerful JSON, functionality extension mechanism (like plugins) or how to connect to almost any external datasource.

Share this talkLink copied to your clipboard!

Configuración de PostgreSQL para Seres Humanos

Configuración de PostgreSQL para Seres Humanos es una introducción rápida, pero profunda, a cómo tunear PostgreSQL. ¿Cuántos parámetros editas normalmente de postgresql.conf? Hay más de 250... ¿Sabes cómo exprimir al máximo el rendimiento de tu base de datos? Si tunear PostgreSQL te parece un mundo, y eres un SER HUMANO, no debes perderte este meetup ;)

Share this talkLink copied to your clipboard!

Todos los secretos para migrar de ELCARO a PostgreSQL

¿Han pasado ya los “hombres de negro” por la empresa para dejar una “receta”? ¿Quieres saber cómo transformar cientos de miles o millones de euros en licencias de la base de datos más cara en 0€? Migrar de ELCARO a PostgreSQL no es fácil. Pero los potenciales beneficios son ingentes. No te pierdas esta charla si quieres saber: Cuándo se puede y cuándo no se puede (debe) migrar. Qué hacer con esos PL/SQL. Cómo se migra DDL, cómo optimizarlo y fallos habituales. ¿Migración offline, o en tiempo real? Tuning, rendimiento. ¿Y la nube, cómo migrar a AWS, GCP…?

Share this talkLink copied to your clipboard!

BBM’s 150M+ Users Oracle to Postgres Migration without Downtime

BBM (the Black Berry Messenger) is one of the largest chat and voice/video applications in the world, with more than 150M users. And it was running on on-premise Oracle. We helped them migrate to PostgreSQL running on GCP with real-time replication and near-zero downtime.

Share this talkLink copied to your clipboard!

Modern PostgreSQL High Availability

It’s 3am. Your phone rings. PostgreSQL is down, you need to promote a replica to master. Why the h**l isn’t this automatic? If you thought of this before, you want automatic High Availability (HA). Don’t miss this talk! We will enter the world of Modern PostgreSQL HA. Good news, there are several new, “modern” solutions for PostgreSQL HA. However, there are several solutions and it's not easy to pick one. Most require non-trivial setups, and there are many small caveats about HA like how to provide entry points to the application, HA correctness, HA vs. read scaling, external dependencies, interaction with cloud environments, and so forth. Master PostgreSQL HA and how to deploy it on current times.

Share this talkLink copied to your clipboard!

Tutorial on Modern PostgreSQL High Availability

It’s 3am. Your phone rings. PostgreSQL is down, you need to promote a replica to master. Why the h**l isn’t this automatic? If you thought of this before, you want automatic High Availability (HA). Don’t miss this tutorial! We will enter the world of Modern PostgreSQL HA. Good news, there are several new, “modern” solutions for PostgreSQL HA. However, there are several solutions and it's not easy to pick one. Most require non-trivial setups, and there are many small caveats about HA like how to provide entry points to the application, HA correctness, HA vs. read scaling, external dependencies, interaction with cloud environments, and so forth.

Share this talkLink copied to your clipboard!

HYDRA Geo-redundant Failover for PostgreSQL

PostgreSQL High Availability (HA) is a very desirable goal for most, if not a strict requirement. And there are technologies and literature to help provide HA on a PostgreSQL cluster. However at Groupon we manage hundreds of database servers, distributed across several datacenters in the world. And our internal policy mandates that we need a Disaster Recovery mechanism to switch a complete datacenter over to another. With this main requirement we have built Hydra, a soon-to-be-open-sourced solution that implements geo-redundant failover. It relies on Consul for distributed consistency and as the basis for the multi-datacenter approach, and is implemented as a lightweight agent in Java8.

Share this talkLink copied to your clipboard!

PostgreSQL Configuration for Humans

PostgreSQL is the world’s most advanced open source database. Indeed! With around 270 configuration parameters in postgresql.conf, plus all the knobs in pg_hba.conf, it is definitely ADVANCED! How many parameters do you tune? 1? 8? 32? Anyone ever tuned more than 64? No tuning means below par performance. But how to start? Which parameters to tune? What are the appropriate values? Is there a tool --not just an editor like vim or emacs-- to help users manage the 700-line postgresql.conf file? Join this talk to understand the performance advantages of appropriately tuning your postgresql.conf file, showcase a new free tool to make PostgreSQL configuration possible for HUMANS, and learn the best practices for tuning several relevant postgresql.conf parameters. No tuning means below par performance. But how to start? Which parameters to tune? What are the appropriate values? Is there a tool --not just an editor like vim or emacs-- to help users manage the 700-line postgresql.conf file? Join this talk to understand the performance advantages of appropriately tuning your postgresql.conf file, showcase a new free tool to make PostgreSQL configuration possible for HUMANS, and learn the best practices for tuning several relevant postgresql.conf parameters.

Share this talkLink copied to your clipboard!

ToroDB Internals: Open Source Java Database Middleware under the Hood

ToroDB Stampede is an open source middleware that speaks the MongoDB protocol and replicates data live from MongoDB to an RDBMS. Data is transformed on-the-fly from a document model into a pure relational model, not a single flattened table. Schema is created automatically, there’s no need to design any tables beforehand. ToroDB is built 100% with Java8, and this talk is about its internals, how some significant problems are solved and what techniques and frameworks are used and why.

Share this talkLink copied to your clipboard!

Migrating off of MongoDB to PostgreSQL

MongoDB is a successful database in the NoSQL space, mostly used for OLTP-type workloads. However, due to the lack of ACID (transactions in particular) and significant performance issues with OLAP/DW workloads, more and more MongoDB users are considering migrating off of MongoDB to a RDBMS, where PostgreSQL is the usual choice. This represents a significant opportunity for the PostgreSQL ecosystem, to "bring NoSQL to SQL". This talk presents the challenges that MongoDB users are facing and the state of the art of the available tools and open source solutions available to perform ETL and live migrations to PostgreSQL. In particular, ToroDB Stampede (https://www.torodb.com/stampede) will be discussed, an open source solution that replicates live from MongoDB, transform JSON documents into relational tables, and stores the data in PostgreSQL.

Share this talkLink copied to your clipboard!
Migrating off of MongoDB to PostgreSQL
PGConf.Brasil2017 EditionSão Paulo, BrazilJul 14, 2017

Hands-On Labs: High Performance Java with PostgreSQL

Share this talkLink copied to your clipboard!

ToroDB Stampede: Open Source BI Connector for MongoDB

There are many valid reasons to want your MongoDB data to interact with the relational/SQL ecosystem: the humongous amount of tools available; the ability to use the SQL query language; or the need for really fast aggregate queries. However, this process is not easy: it requires designing the schema, which is ever changing; and a batch ETL process, which might require external tools. Enter ToroDB Stampede: a secondary node for your replica set, that automatically replicates the data and transforms it in real-time to a set of relational tables on a RDBMS, which you can query with native SQL. But 100x faster. Want so see the benchmarks? ToroDB Stampede is the open-source solution to MongoDB's BI Connector and is compatible with both MongoDB and Percona Server for MongoDB.

Share this talkLink copied to your clipboard!

Using PostgreSQL with Java

Java is one of the most used languages when programming with PostgreSQL databases. Join this tutorial to learn or review the techniques to connect to postgres, best programming practices with JDBC, and to explore jOOQ, a mapper software that allows you to use the full power of SQL and postgres advanced query features while avoiding all the boilerplate code. This tutorial is very practical: most of the time will be dedicated to iterate through code samples. It covers: Introduction to Java and PostgreSQL , Ways of connecting to PostgreSQL from Java (not only JDBC!), Introduction to JDBC. JDBC types. PostgreSQL JDBC; Code demo: JDBC with PostgreSQL. From Java 1.4 to Java 8, best practices and code samples; Code demo: jOOQ, a great mapper for PostgreSQL; Java inside PostgreSQL, The future of Java and PostgreSQL.

Share this talkLink copied to your clipboard!
Using PostgreSQL with Java
Chicago Postgres Open2014 EditionChicago, IL, USASep 19, 2014
Using PostgreSQL with Java
PGCon2014 EditionOttawa, ON, CanadaMay 20, 2014

Las 10 queries SQL mas poderosas del mundo

Hace unos años se le dio por muerto. Hoy, sin embargo, está más vivo que nunca: SQL, el lenguaje de datos que nunca se fue. Hoy, si no lo dominas, estás acabado.

Share this talkLink copied to your clipboard!
Las 10 queries SQL mas poderosas del mundo
Codemotion Madrid2016 EditionMadrid, SpainNov 2016

ToroDB: All your MongoDB Data Are Belong to SQL

What if you could seamlessly replicate all your MongoDB data to a native SQL database? With NoSQL you can scale out, you don’t need to pre-define your schema, and it maps naturally to the OO world. But how do you perform data discovery? How do you interact with the vast SQL ecosystem, specially the BI tools? How do your SQL-savvy users do without SQL? The answer to most of these questions is usually not a very convincing one. But there are good news: you can bring all your MongoDB data to the SQL world. With ToroDB, an open-source database that participates in a MongoDB cluster. ToroDB acts as a hidden secondary node and replicates in real-time your MongoDB data to a native, SQL database such as PostgreSQL. The process does not involve defining any schema or creating any definition files: ToroDB creates everything needed to represent your MongoDB data as relational tables. Now you can leverage all the SQL ecosystem with your MongoDB data, be it for data migration, connecting to BI connectors, using native SQL tools or simply querying with the powerful SQL language.And using native SQL sharded databases like Greenplum and columnar storage, your aggregate queries, compared to MongoDB’s sharding and aggregation, run up to 100x faster!

Share this talkLink copied to your clipboard!

PostgreSQL & Java: A Technical Report

Java is “the” Enterprise language, and probably the most used language to interact with a Postgres database. However, is Java with Postgres up to the task? This talk is a technical report on the state of the art of PostgreSQL and Java that will answer two basic questions: * Is Java able to exploit 100% of the performance that PostgreSQL delivers? If not, where is the overhead? What can be done about it? Are there any technical or architectural patterns in PostgreSQL that may limit Java's performance? * Can we access from Java all the available functionality exposed by PostgreSQL? If not, what is missing and how it can be fixed? This talk will explore current limitations/issues in using PostgreSQL from Java, but will also try to provide solutions and/or paths to fix and improve the current situation. Special focus will be provided on achieving high performance and current best practices.

Share this talkLink copied to your clipboard!

Java & PostgreSQL. Performance, Features and The Future

Java is the most used programming language in the world. Yet how is it supported in PostgreSQL? What are the gotchas and the best practices? Now that Java is evolving significantly, how will PostgreSQL follow? Despite Java's age, language is stronger than ever. It's the de facto programming language in the enterprise world. And since Java 8, it is having a come back in the startup and open source world. PostgreSQL is accessed more from Java than any other interface but, how's Java supported in PostgreSQL? This talk will analyze how it has been in the past, but more importantly how can you use it and what can you do today. JDBC drivers, best practices, pl/java and other less frequently used tools will be presented and discussed.And then we will look into the future, to see what is currently under development. Like Phoebe, a new Java Reactive Driver for PostgreSQL that targets clusters, pipelined queries and non-JDBC interface for fully asynchronous operation. And also what needs to be done in areas like server-side Java, to bring Java to a fully advanced first-level language within PostgreSQL.

Share this talkLink copied to your clipboard!
Java & PostgreSQL. Performance, Features and The Future
PGConf.US2016 EditionNew York, NY, USAApr 18, 2016

Next Generation Java MongoDB Compatible NoSQL & SQL Database

ToroDB is an exciting, new 100% open-source Java database system based on PostgreSQL that is 100% compatible with the MongoDB protocol (API and tools) and provides orders of magnitude higher analytics performance (up to 100x). It has a novel architecture that allows it to work with PostgreSQL, DB2, Oracle, Greenplum another back-ends. You can replicate data from a (noSQL) MongoDB cluster and perform analytics using SQL. Join this talk to understand how ToroDB works, what advantages it may bring to your Big Data architecture, and how to hack ToroDB's Java open source code.

Share this talkLink copied to your clipboard!

Novedades en PostgreSQL 9.5

¡Un laboratorio con todas las novedades de PostgreSQL 9.5! Venga, seamos realistas: has oído hablar de UPSERT (http://www.postgresql.org/docs/9.5/static/sql-insert.html), te suenan los índices BRIN (http://www.postgresql.org/docs/9.5/static/brin-intro.html), pero... ¿lo has practicado? ¿Has medido la mejora de rendimiento? Puede. Pero ¿y CUBE y ROLLUP (http://www.postgresql.org/docs/current/static/queries-table-expressions.html)? Y a nivel de administración, ¿has jugado con pg_rewind? Y aún hay mucho más, MUCHO más...

Share this talkLink copied to your clipboard!
Novedades en PostgreSQL 9.5
Informatica Habana2016 EditionHavana, CubaMar 16, 2016

Hands-On Lab: New PostgreSQL 9.5 Features

So you have heard already --or maybe not-- about all the new goodies that come with PostgreSQL 9.5. But have you put them to test? In production? Are you really taking advantage of all these new great features? Join this hand-on lab to learn, by experience, what new features PostgreSQL 9.5 comes with, what to use them for, and how to use them. The format of the tutorial is a brief lecture-style introduction to the new features, followed by an extensive lab. The lab consists on a series of exercises, explained in a Lab guide, to be solved during the session, while the instructor will be available for questions and showcasing the solutions to the proposed exercises.

Share this talkLink copied to your clipboard!

ToroDB: Supercharge your RDBMS with MongoDB Superpowers

Are you a DBA/devops tired of being asked to also support MongoDB? Wouldn't it be cool if your current RDBMS could support MongoDB... without having a MongoDB server? Would you like to enable your RDBMS to accept true unstructured data with MongoDB's famous API, while still offering ACID-like capabilities? ToroDB is an open source project that turns your RDBMS into a MongoDB-compatible server, supporting the MongoDB query API and MongoDB's replication, but storing your data into a reliable and trusted PostgreSQL database. Or analytics databases such as Greenplum or CitusDB, to also support OLTP and OLAP/DW workloads! ToroDB natively implements the MongoDB protocol, so you can use it with MongoDB tools and drivers, and features a document-to-relational mapping algorithm that transforms the JSON documents into relational tables. ToroDB also offers transactions, a native SQL API and automatic data normalization and partitioning based on JSON document's implicit schema. If you want to have a RDBMS and MongoDB on the same system, you can't miss this talk!

Share this talkLink copied to your clipboard!

ToroDB: NoSQL & Relational Java Database with SQL Analytics

How do you cope with the rise of unstructured data? Do you have different systems for your NoSQL and your SQL databases? How do you perform analytics of NoSQL data? ToroDB is an open-source NoSQL & relational database written in Java. ToroDB transforms NoSQL documents to relational structures and stores them in relational databases like PostgreSQL. ToroDB speaks the MongoDB protocol, being compatible with MongoDB programs and tools. With ToroDB, you can use either SQL or the MongoDB API for queries. ToroDB automatically structures and partitions your NoSQL data. ToroDB also speaks the MongoDB protocol and can replicate live from it. And you can do analytics in pure SQL against Massively Parallel Databases like Greenplum or CitusDB. Join this talk to understand how ToroDB works, what advantages it may bring to your Big Data architecture, and how to hack ToroDB’s Java open source code.

Share this talkLink copied to your clipboard!
ToroDB: NoSQL & Relational Java Database with SQL Analytics
Voxxed Days Romania2016 EditionBucharest, RomaniaMar 11, 2016

FLOSS Weekly Episode 377: ToroDB

ToroDB is compatible with MongoDB protocol and APIs, but with support for native SQL, atomic operations and reliable and durable backends like PostgreSQL.

Share this talkLink copied to your clipboard!
FLOSS Weekly Episode 377: ToroDB
FLOSS WeeklyMadrid, SpainMar 1, 2016

Logical Decoding: The Door to a New World of Data Exchange and Integration Applications for PostgreSQL

Logical decoding is one of the most prominent features of PostgreSQL 9.4 but, probably, not the most praised or known. It is the basis for in-core logical replication and many other replication solutions that will be coming to future PostgreSQL versions. But logical decoding is much more than that, it opens the doors to a whole new slew of applications that are not related, or do not require, replication. Following PostgreSQL's extensibility tradition, logical decoding is pluggable (you can plug in code to determine what the output format is) and, most importantly, it is externally controllable. With this toolset, database DMLs can be streamed to third-party applicationss, enabling middleware solutions for data replication, filtering, modification, routing or interchange with different systems. A new world of data interchange and integration. This talk explained how logical decoding works, what features does it have, and how to use it from external applications, diving deep into the techniques and the code. Real world examples would be provided and a discussion about new PostgreSQL-based middleware solutions would be started.

Share this talkLink copied to your clipboard!
Logical Decoding: The Door to a New World of Data Exchange and Integration Applications for PostgreSQL
Dallas Postgres Open2015 EditionDallas, TX, USASep 17, 2015

ToroDB Internals: How to Create a NoSQL Database on Top of SQL

ToroDB. New NoSQL database. Open source. Not reinventing the wheel, runs on top of PostgreSQL. MongoDB-compatible. With transactions. Does not suffer dirty-reads. With replication & sharding. This talk will show to the audience that SQL databases are not dead --definitely not. They shine. Even competing face to face with NoSQL. Now it's possible to build a NoSQL database on top of a SQL database. And probably, a better one. Discover how PostgreSQL can become a NoSQL database: how to map NoSQL documents to relational (no jsonb needed!); how to emulate MongoDB replication with PostgreSQL's awesome logical decoding; how to map MongoDB queries to SQL; how to benchmark and compare ToroDB & MongoDB. And how to turn a MongoDB-compatible database into a big data and analytics animal, in pure SQL.

Share this talkLink copied to your clipboard!
ToroDB Internals: How to Create a NoSQL Database on Top of SQL
PGConf.Silicon Valley2015 EditionSan Jose, CA, USANov 18, 2015

ToroDB: Scaling PostgreSQL Like MongoDB

NoSQL databases have emerged as a response to some perceived problems in the RDBMSs: agile/dynamic schemas; and transparent, horizontal scaling of the database. The former has been promptly targeted with the introduction of unstructured data types, but scaling a relational databases is still a very hard problem. As a consequence, all NoSQL databases have been built from scratch: their storage engines, replication techniques, journaling, ACID support (if any). They haven't leveraged the previously existing state-of-the-art of RDBMSs, effectively re-inventing the wheel. Isn't this sub-optimal? Wouldn't it be possible to construct a NoSQL database by layering it on top of a relational database? Enter ToroDB. ToroDB is an open source project that behaves as a NoSQL database but runs on top of PostgreSQL, one of the most respected and reliable relational databases. ToroDB offers a document (JSON-like) interface, and implements the MongoDB wire protocol, hence being compatible with existing MongoDB drivers and applications. Rather than using PostgreSQL's jsonb data type, ToroDB explored an innovative approach by transforming JSON documents to a fully relational representation, in an automated way. This brings to the table many advantages like lower disk footprint and automatic data-partitioning, leading to significantly faster queries. As ToroDB speaks the MongoDB protocol, it also implements MongoDB replication and sharding techniques, enabling it to scale and offer HA like Mongo. Being based on PostgreSQL, ToroDB is effectively scaling PostgreSQL much in the same way MongoDB scales. This presentation describes the architecture, internals and pitfalls of implementing MongoDB replication on ToroDB, and how key PostgreSQL technologies have been leveraged to accomplish this task (such as the use of Logical Decoding to serve idempotent database changes). It also addresses the MongoDB protocol itself, CAP, Jepsen and comments about real performance. It also touches MongoWP, a component of ToroDB built as a separate open source library, that implements the MongoDB protocol and enables development of Mongo-server-like, third-party applications.

Share this talkLink copied to your clipboard!

ToroDB: PostgreSQL Dressed as MongoDB

ToroDB (https://github.com/torodb/torodb) is based on PostgreSQL (JSON documents are stored relationally, not as a blob/jsonb) and speaks the MongoDB wire protocol — so it looks like you're interacting with MongoDB, but it's actually PostgreSQL.

Share this talkLink copied to your clipboard!
ToroDB: PostgreSQL Dressed as MongoDB
Meetup ViennaDB2015 EditionVienna, AustriaOct 27, 2015

ToroDB: NoSQL on SQL

In the last 5-10 years, the industry have witnessed how dozens of new NoSQL databases emerge, bringing topics such as schema-less and scaling to buzzwords, hot topics. These NoSQL databases have taken a different approach to solving current scaling and Big Data problems, sometimes offering niche products, sometimes innovating on a given aspect, sometimes taking compromises to their CAP-compliance. However, and surprisingly to some, NoSQL databases share at least one common pattern: they were all built from scratch. Their storage engines, replication techniques, journaling, ACID support (if any), they were all coded from zero. However, these are among the most complex problems in the software industry, yet they were implemented without leveraging the previously existing state of the art. From an engineering perspective, this is not what we all have been told: DRY. Wouldn't it be possible to construct a NoSQL database by layering it on top of a relational database? Wouldn't it be possible to "tune" a relational database to behave as a NoSQL database, so as to easily focus on being schema-less, scalable and anything else needed, but without re-inventing the wheel on "basic" stuff such as journaling or durability? Enter Toro DB. Toro DB is an open source project that behaves as a NoSQL database but runs on top of PostgreSQL, one of the most respected and reliable relational databases. ToroDB offers a document interface, and implements the MongoDB wire protocol, hence being compatible with existing MongoDB drivers and applications. But ToroDB stores data on PostgreSQL - something which is transparent to database clients. But rather than storing JSON documents as a blob or using PostgreSQL 9.4's fantastic jsonb data type. ToroDB explored an innovative approach by transforming document data to a relational representation in a fully automated way - that does not require user intervention or configuration. the benefits of storing document data as relational are quite significant.

Share this talkLink copied to your clipboard!
ToroDB: NoSQL on SQL
JCrete2015 EditionCrete, GreeceJul 20, 2015
ToroDB: NoSQL on SQL
Vilnius BigDataStrategy Lithuania2015 EditionVilnus, LithuaniaOct 5, 2015

ToroDB = MongoDB + PostgreSQL

ToroDB es una base de datos NoSQL que utiliza PostgreSQL como motor de almacenamiento. Es compatible con MongoDB, gracias a que implementa el protocolo de forma nativa. Es open source (https://github.com/torodb/torodb) y es la primera base de datos realizada en España. Además, está programada en Java, y en esta charla se presentan algunos elementos de arquitectura, y técnicos, sobre el desarrollo de la misma.

Share this talkLink copied to your clipboard!

NoSQL on ACID

PostgreSQL has kept up the momentum around JSON with version 9.4 featuring JSONB as demand for working with unstructured data continues to grow. PostgreSQL 9.4 introduces the new JSONB "binary JSON" type. This new storage format for unstructured document data is higher-performance than the original JSON type, and comes with indexing, functions and operators for manipulating and integrating JSON data easily with record oriented data in Postgres. This class will include instruction for several scenarios for working with JSON in PostgreSQL and demonstrate performance metrics. This class will also provide instruction on how to use different operations.

Share this talkLink copied to your clipboard!
NoSQL on ACID
PGCon2015 EditionOttawa, ON, CanadaJun 20, 2015

ToroDB Hackathon

Esta presentación contiene ideas de proyectos para desarrollar para mejorar el proyecto ToroDB (https://github.com/torodb/torodb). Se utilizará el lenguaje Java (dado que es el lenguaje en el que está escrito ToroDB) pero algunas de las pruebas propuestas, al ser desde la perspectiva del cliente, podrían escribirse en otros lenguajes.

Share this talkLink copied to your clipboard!
ToroDB Hackathon
Barcelona JUGBarcelona, SpainApr 25, 2015

ToroDB

¿Te imaginas una base de datos como MongoDB pero con la fiabilidad y robustez dePostgreSQL? ¿Harto de que en tu empresa o clientes teman usar NoSQL y digan "sólo relacional"? ¿Te imaginas si se pudiera construir una base de datos NoSQL sobre la base de una excelente base de datos relacional? ¿Te imaginas un MongoDB durable, con lecturas consistentes, con transacciones.....?

Share this talkLink copied to your clipboard!
ToroDB
Barcelona JUGBarcelona, SpainApr 24, 2015

ToroDB: Open-Source, MongoDB-Compatible Database, Built on Top of PostgreSQL

ToroDB is a document oriented, Mongo-compatible, open-source database built on top of PostgreSQL. Why all NoSQL databases are doing everything from scratch? Concurrency, durability, journaling... all those are quite tough goals to achieve. Aren't RDBMs good enough? We think they are, specially PostgreSQL. So we built ToroDB, a new “NoSQL” database, that speaks JSON, and uses PostgreSQL as the “storage layer”. ToroDB doesn't use PostgreSQL's fantastic jsonb type; it instead offers a novel approach storing data relationally. JSON documents are split into parts, each of which is stored in a relation (table). This has several advantages, which will be outlined during the course of the talk. ToroDB implements the MongoDB protocol, and is thus compatible with MongoDB applications. This means it supports the advanced MongoDB query language, and MongoDB language updates. And it's all open source and running on top of PostgreSQL :)

Share this talkLink copied to your clipboard!
ToroDB: Open-Source, MongoDB-Compatible Database, Built on Top of PostgreSQL
Meetup.png2015 Editionhttps://www.meetup.com/es/JS-NYC/events/220259282/Mar 25, 2015
ToroDB: Open-Source, MongoDB-Compatible Database, Built on Top of PostgreSQL
PGConf.US2015 EditionNew York, NY, USAMar 27, 2015
ToroDB: Open-Source, MongoDB-Compatible Database, Built on Top of PostgreSQL
PgDay Paris2015 EditionParis, FranceApr 21, 2015

PostgreSQL Keynote Followed by ToroDB Presentation

Share this talkLink copied to your clipboard!

ToroDB: A New, Open Source, Document-Oriented, JSON Database, Built on PostgreSQL

ToroDB is a document oriented, Mongo-compatible, open-source database built on top of PostgreSQL. Why all NoSQL databases are doing everything from scratch? Concurrency, durability, journaling... all those are quite tough goals to achieve. Aren't RDBMs good enough? We think they are, specially PostgreSQL. So we built ToroDB, a new “NoSQL” database, that speaks JSON, and uses PostgreSQL as the “storage layer”. ToroDB doesn't use PostgreSQL's fantastic jsonb type; it instead offers a novel approach storing data relationally. JSON documents are split into parts, each of which is stored in a relation (table). This has several advantages, which will be outlined during the course of the talk. ToroDB implements the MongoDB protocol, and is thus compatible with MongoDB applications. This means it supports the advanced MongoDB query language, and MongoDB language updates. And it's all open source and running on top of PostgreSQL :)

Share this talkLink copied to your clipboard!

PostgreSQL en Cloud, desde el frente de batalla

Share this talkLink copied to your clipboard!

ToroDB: A New NoSQL Database That Replaces MongoDB

In the recent years, NoSQL databases have been gaining a lot of traction. Most of them haven been designed and written from scratch. Building on the principles of schema-less and high scalability, they offer a distinct approach to that of relational databases. But rather than re-using what the industry has learned in the last 3 decades of database development, most of these databases are re-inventing the wheel and designing the data storage layers -one of the toughest part when building a database- from scratch. Our work aims to present a database system that instead uses relational databases as well-known, durable, scalable and fast -despite what many would say- storage layers as a foundation to build a schema-less, document-oriented, scalable database. This project is named ToroDB, and its will be recently published as open-source software by BDS'14. It will effectively be the very first general-purpose database ever built in Spain.

Share this talkLink copied to your clipboard!

ToroDB: A Bridge Between The NoSQL and Relational Worlds

In the recent years, NoSQL databases have been gaining a lot of traction. Most of them haven been designed and written from scratch. Building on the principles of schema-less and high scalability, they offer a distinct approach to that of relational databases. But rather than re-using what the industry has learned in the last 3 decades of database development, most of these databases are re-inventing the wheel and designing the data storage layers -one of the toughest part when building a database- from scratch. Our work aims to present a database system that instead uses relational databases as well-known, durable, scalable and fast -despite what many would say- storage layers as a foundation to build a schema-less, document-oriented, scalable database. This project is named ToroDB, and its will be recently published as open-source software by BDS'14. It will effectively be the very first general-purpose database ever built in Spain.

Share this talkLink copied to your clipboard!

JCrete Interview with Alvaro Hernandez

Interview with Alvaro Hernandez, JCrete attendee, about SQL vs. No-SQL, ORM, and database performance. (With plenty of heckling from Kirk Pepperdine)

Share this talkLink copied to your clipboard!
JCrete Interview with Alvaro Hernandez
JCrete2014 EditionCrete, GreeceAug 25, 2014

SQL vs. NoSQL Session at JCrete

SQL vs. NoSQL Session at JCrete lead by Alvaro Hernandez.

Share this talkLink copied to your clipboard!
SQL vs. NoSQL Session at JCrete
JCrete2014 EditionCrete, GreeceAug 26, 2014

Hacking BDR

BDR, o "Bi-Directional Replication" (http://2ndquadrant.com/en/resources/bdr/) es el mecanismo de replicación lógica que se va a incorporar en PostgreSQL para permitir replicación maestro-maestro, lógica, de hasta 48 nodos. Ha sido desarrollado por 2nd Quadrant y ya está lanzado hace unos días como software libre (no calidad producción).

Share this talkLink copied to your clipboard!
Hacking BDR
Meetup PostgreSQL EspañaMadrid, SpainJul 30, 2014

PostgreSQL Big Data

PostgreSQL y Big Data, Big Data y PostgreSQL. PostgreSQL y almacenamiento por columnas (columnar store). Las bases de datos relacionales orientan su procesado, por lo general, a registros, con todas las columnas que contienen. Sin embargo, para procesado de grandes volúmenes de información hay otras técnicas de almacenamiento, como las orientadas a columnas, que permiten una eficiencia muy superior para determinadas operaciones y habilitan compresión transparente para reducir los requisitos de almacenamiento.

Share this talkLink copied to your clipboard!

The Billion Tables Project

Usually “large” databases are considered as such for the high number of records they hold, reaching billions or even more than that. But what about creating a billion... tables? Sometime ago, this apparently crazy question was found in a database soup (http://it.toolbox.com/blogs/database-soup/one-billion-tables-or-bust-46270). It may not be your day-to-day task, but the task of creating them exposes some topics about PostgreSQL internals, performance and large databases that may be really worth for your day-to-day. Join us for this talk, where we'll be discussing topics such as catalogue structure and storage requirements, table speed creation, differences between PostgreSQL versions and durability vs. table creation speed tradeoffs, among others. And, of course, how long a “dt” takes on a 1B tables database :) This talk will explore all the steps taken to achieve such a result, raising questions on topics such as: The catalogue structure and its storage requirements, Table creation speed, Durability tradeoffs to achieve the desired goal, Strategy to be able to create the 1B tables. Scripts / programs used, How the database behaves under such a high table count, Differences in table creation speed and other shortcuts between different PostgreSQL versions, How the storage media and database memory affects the table creation speed and the feasibility of the task, If it makes sense to have such a database. It is intended to be a funny, open talk, for a beginner to medium level audience, interested in large databases, performance and PostgreSQL internals.

Share this talkLink copied to your clipboard!
The Billion Tables Project
NoSQL Matters2014 EditionCologne, GermanyApr 2014
The Billion Tables Project
PGCon2013 EditionOttawa, ON, CanadaMay 24, 2013

Mecanismos de Replicación y Alta Disponibilidad en PostgreSQL

Se describen todos los mecanismos de alta disponibilidad (high availability) y replicación de que dispone PostgreSQL, tanto en el core (WAL shipping, streaming replication) como herramientas externas (pgpool, Slony, bucardo, londiste).

Share this talkLink copied to your clipboard!

Por qué PostgreSQL me pone

Todas las razones por las que PostgreSQL me pone... Todas las características que tienen PostgreSQL que lo hacen una base de datos excepcional. Se hablará de rendimiento, durabilidad, tipos de datos, funciones, extensiones, NoSQL, replicación, alta disponibilidad, licencia, calidad del código.... todo lo que rodea a esta base de datos software libre.

Share this talkLink copied to your clipboard!
Por qué PostgreSQL me pone
Madrid DevOps2014 EditionMadrid, SpainMar 20, 2014

Lo mejor de FOSDEM 2014 para PostgreSQL

Los mejores trucos, las mejores funcionalidades, ¡todo lo que te perdiste si no pudiste venir!

Share this talkLink copied to your clipboard!

CTEs y queries recursivas en PostgreSQL

Share this talkLink copied to your clipboard!

Proyecto del Billón de Tablas

¿Qué es una base de datos "grande"? ¿Cuántas tablas puede contener una base de datos PostgreSQL? ¿Hay un límite? ¿Es posible crear 10^9, un billón, de tablas en una base de datos? Charla impartida en PgDay Ecuador 2013, donde se habló de bases de datos grandes, alto rendimiento, 150.000 inserciones por segundo en un único nodo y, por supuesto... si en NOSYS llegamos a crear 1.000.000.000 tablas en una base de datos y cuántos $$$$ nos costó ejecutar el experimento en Amazon AWS.

Share this talkLink copied to your clipboard!

To ORM or Not To ORM (That's the Question)

ORMs (Object-to-Relational Mapping) are a must for programmers, while they are usually a nightmare for DBAs. At the same time, they are large and complex, and underpowered -compared to the database itself-. It's time to rethink ORMs, and let programmers receive input from the database community in a new strategy of collaboration where a new interface (say "API") between both is designed. Recently, ORMs (Object-to-Relational Mapping) are becoming controversial. Most programmers can't simply live without them, and argue that handwritten SQL is cumbersome and error-prone. On the other hand, DBAs cry about the terrible performance and inefficiencies they may induce in the database. Even some programmers state that ORMs are not able to fully exploit the power of the database. Worse, most ORMs are becoming increasingly large and complex, yet they fail to deliver (at least at the ORM abstraction level) what may be considered as basic to intermediate db capabilities, such as triggers, roles or table constraints. This failure of ORMs is also eroding databases' prestige, what in turn feeds a growing community that is advocating for eliminating SQL altogether. So, who's right? What is the future of ORMs? How should them evolve, if not disappear? We don't need to rethink the SQL-relational model --it simply works. What we need to rethink is the DBA-programmers interface (as if it were an API) so that ORMs may fully work. Time is running fast. We have to react. This talk may be best viewed as a call for collaboration between DBAs and programmers. It's a starting point to re-think ORMs and help save the SQL-relational world! (And the PostgreSQL community should have a lot to say about this, so let's do it!)

Share this talkLink copied to your clipboard!

whitepapers

  • Performance Benchmark PostgreSQL / MongoDB

    At EDB Postgres Jun 26, 2019

    This report was produced by OnGres and compares the performance of PostgreSQL and MongoDB. It features in depth analysis along with the supporting data and source code for three different benchmarks: Transaction (a custom benchmark that models an airline reservation system), Sysbench (for OLTP workloads, considers both in-memory and 2TB datasets), and JSON-based OLAP (measures performance on four custom-written queries).

contributions to Open Source

  • Development

    Developer of the Java SCRAM library (a secure authentication mechanism), used in the PostgreSQL Java Driver

    This project aims to provide a complete clean-room implementation of SCRAM. It is written in Java and provided in a modular, re-usable way, independent of other software or programs.

  • Development

    Designer, architect and developer of ToroDB

    Got a US patent for ToroDB’s main algorithm. ToroDB is compatible with MongoDB protocol and APIs, but with support for native SQL, atomic operations and reliable and durable backends like PostgreSQL.

  • Development

    Ported PostgreSQL’s JSON support to GreenPlum

  • Community Building

    Founder of Fundación PostgreSQL

    Description: Fundación PostgreSQL is a non-profit PostgreSQL foundation. Donated personally 30,000 EUR to the Foundation, in what is the largest known personal donation to a PostgreSQL community. The Foundation is currently organizing PostgreSQL Ibiza conference and will lead and fund the translation of the official PostgreSQL documentation to Spanish.

  • Community Building

    Founder of the Spanish PUG (PostgreSQL User Group)

    Top 10 largest PUGs in the world, with more than 900 members. Next event here.

blog

  • "Schema Later" Considered Harmful (Co-Author)

    At The EDB Blog Oct 11, 2019

    The various No SQL vendors tout the benefits of “schema later” in their promotional materials and in other places. In this blog post, we argue that schema later is a bad idea, and should be avoided, especially for important data that you care about.

  • Benchmarking: Do it with transparency or don’t do it at all

    At OnGres Blog Jul 25, 2019

    This post is a reply to MongoDB’s “Benchmarking: Do it right or don’t do it at all” post. Which they wrote as a response to the whitepaper “Performance Benchmark: PostgreSQL / MongoDB”, published and sponsored by EnterpriseDB and performed by OnGres. While a long read at close to 50 pages, we encourage you to at least read the executive summary (2 pages) and any other relevant section, to have the right context. For a quick overview, check our presentation summarizing the benchmark and the results.

  • PostgreSQL Ibiza: 2 weeks to go

    At Fundación PostgreSQL Blog Jun 6, 2019

    Just 2 weeks to go for PostgreSQL Ibiza. The new, innovative PostgreSQL Conferences that happens 50m away from a beach. The conference for thinkers, for networking, for partnering. The conference to be at. But a conference is nothing without great content. And after receiving more than 71 talk submissions, and the hard work that the Committee has done to select the talks, PostgreSQL Ibiza will have top-notch talks from top-notch international speakers.

  • What it is PostgreSQL Ibiza and why you should attend

    At Fundación PostgreSQL Blog May 31, 2019

    Please check PostgreSQL Ibiza’s conference website. If you haven’t done so, please also take two minutes to watch our conference video. Now if you think that PostgreSQL Ibiza is another PostgreSQL Conference, just on the beach (which is not that bad anyway!), then keep reading. Because it is much more than that. PostgreSQL Ibiza is a new, disruptive PostgreSQL conference.

  • Having lunch with PostgreSQL, MongoDB and Json

    At OnGres Blog Apr 19, 2019

    On a post titled “Postgres JSON, Developer Productivity, and The MongoDB Advantage”, Buzz Moschetti discussed about PostgreSQL’s handling of JSON and how (inconvenient) it is for developers, specially when compared to MongoDB. While the post is almost 18 months old, the principles described there have not changed, and I (mostly) respectfully disagree. Here is my opinion on the topic. Let’s see what there is on today’s menu.

  • Announcing ToroDB Stampede 1.0 beta

    At 8KData Blog Nov 30, 2016

    A few days ago we published a blog post, “The conundrum of BI/aggregate queries on MongoDB”, where we analyzed and measured some performance issues that happen on MongoDB with aggregate/OLAP/DW type of queries. We also showed that if we would transform the JSON data into a relational form and query it with SQL on a PostgreSQL database, performance can be up to orders of magnitude better. Impressive!

  • The conundrum of BI/aggregate queries on MongoDB

    At 8KData Blog Nov 28, 2016

    MongoDB is a very popular NoSQL database. MongoDB indeed popularized the concept of the “document”, a hierarchical set of key-value pairs, with a non-fixed structure (schema). Having flexible schemas and the 1:1 mapping between the business logic and the database objects are, arguably, key to MongoDB’s popularity. The reasons why MongoDB is used as the source of truth for many OLTP applications.

twitter activity

contact

Got Questions?