Ruby and PostgreSQL, a love story
summary
PostgreSQL 9.1 Foreign Data Wrapper support is implemented here by embedding mruby so Ruby code runs inside Postgres as an installable extension on GitHub (LGPLv3). The project boots lightweight mruby VMs per process, exposes a foreign table API and custom index hooks, and returns rows via the FDW iterate callback. Predicate pushdown is not yet implemented and raw performance is currently slower than native tables; work is ongoing to add pushdowns and optimize speed.
AI-written summary · about
chapters (30)
- 0:00Introduction
- 2:16PostgreSQL
- 2:46When to use PostgreSQL
- 4:17Generating fake data
- 4:34Creating fake data using PLS sequel
- 4:52Anonymizing sensitive data
- 5:05Prioritizing sensitive data
- 5:28Views
- 6:08Procedural language
- 6:34Rubygems
- 7:12PostgreSQL language handlers
- 7:33How to create a PostgreSQL language
- 8:09PLM Ruby
- 10:06Custom index type
- 10:46Elastic search
- 12:00Foreign data rapper
- 12:25How does it work
- 13:32Apples
- 14:21Minimal architecture
- 15:12General purpose for PostgreSQL
- 15:33Embedding Ruby
- 15:56Life cycle
- 16:25Basic structure
- 17:33Frontier
- 19:10MultiVM
- 19:35VMProcess
- 19:58EmRuby
- 20:51Embedding EmRuby
- 21:54Conclusion
- 22:18Question
related talks
46mUse PostgreSQL, not Rails, to make Rails Faster!
46mWriting a Foreign Data Wrapper
50mBeyond Foreign Data Wrappers: building a data warehouse from heterogeneous external data sources
31mMaking Data Dance
30mHTTP Programming with mruby
11mPostgres plays Pokémon!
34mJoining Heterogeneous Databases is a reality, not a Myth
52mSharding PostgreSQL using Foreign Data Wrappers
