with Jim Fulton, March 20, 2017
In this webinar, we'll talk about why you might use PostgreSQL as your document database. We'll also talk about transactions, why they're important, and some common pitfalls.
As an example, we'll look at implementing a two-tiered Kanban system using 3 approaches:
- relational,
- document oriented, and
- object oriented.
All of the examples will use the Python programming language. We'll be using PyCharm to look at them.
You'll be able to follow along by looking at the databases using database connection information that I'll share at the time of the Webinar. (The PyCharm database tool makes this especially easy.)
The first two examples are in directories in this repository:
- rtasks
A (partial) relational implementation using Flask and SQL Alchemy.
- jtasks
A (partial) document-oriented and relational implementation also using Flask and SQL Alchemy.
The third example looks a two-tiered kanban, which uses a hybrid object-oriented and document-oriented implementation. It uses bobo for it's web framework and Newt DB to provide the hybrid object-oriented document-oriented database on top of Postgres.
- PyCharm
- PostgreSQL
-
- PostgreSQL JSON types
https://www.postgresql.org/docs/current/static/datatype-json.html
- PostgreSQL JSON functions and operators
https://www.postgresql.org/docs/current/static/functions-json.html
- Full-text search
https://www.postgresql.org/docs/current/static/textsearch.html
- Python
- SQL Alchemy object-relational mapper
- Newt DB, hybrid object-oriented and document-oriented database
- pq, a PostgreSQL-based transactional queuing system
- pjpersist, an object-oriented interface to PostgreSQL.
- Flask web framework
- Bobo web framework
- Two-tiered Kanban