Verified Commit 31f5b6e3 authored by MrMan's avatar MrMan

Condense further

parent 8ddfe84f
......@@ -10,7 +10,6 @@ date: June, 2019
- What is Postgres?
- Why/Why not Postgres?
- SQL vs NOSQL
- Relational Data
- Key/Value Data
- Document Storage
......@@ -25,7 +24,7 @@ date: June, 2019
There are a few large contributors in the space like **2nd Quadrant** and **Citus Data** (acquired by MS in January).
A few features set postgres apart:
Some of the features that set postgres apart:
- Multi Version Concurrency Control (MVCC)
- Plugin system (indices, functionality)
......@@ -42,7 +41,7 @@ Reddit got to 1 billion users on a master-slave Postgres (scaling up rather than
**Reliability** - Postgres is rock solid
**Performance** - Postgres is generally "fast enough", and can even be *really fast*
**Performance** - "fast enough" to *pretty darn fast*
**Cloud vendor support** - AWS RDS, Azure Database, GCP Cloud SQL
......@@ -66,20 +65,6 @@ Why *not* Postgres?
[^3]: PostgresXL does exist
# NOSQL vs SQL #
What people *normally* mean when they say "NOSQL" is a rejection of the structure, and transactional guarantees normally included with a Relational DataBase Management Systems (RDBMS)
**Relational Structure** as in Relational Algebra (sets, projection, unions, intersections, joins)
**Transactional Guarantees** as in ACID (Atomicity, Consistency, Isolation, Durability)
Examples of NOSQL databases:
- RethinkDB / MongoDB (documents, usually JSON)
- Redis (key/value)
- Neo4J (graphs)
- Postgres (more on this later)
# Relational Data #
99% of the data your organization needs to deal with is going to be relational -- most data isn't very useful without context.
......@@ -217,13 +202,21 @@ You could build your own solution by using `PARTITION`s, `UNLOGGED` tables, some
# Time Series Data (continued) #
TimescaleDB also has an excellent, reasoned technical dives on where and why they can beat databases like MongoDB[^10] and even purpose-built DBs like InfluxDB[^11].
TimescaleDB compares favorably to MongoDB[^10] and InfluxDB[^11].
![TimescaleDB vs influx](timescale-vs-influx.png){ height=60% }
![](timescale-vs-influx.png){ height=60% }
[^9]: https://docs.timescale.com/v1.3/introduction
[^10]: https://blog.timescale.com/how-to-store-time-series-data-mongodb-vs-timescaledb-postgresql-a73939734016/
[^11]: https://blog.timescale.com/timescaledb-vs-influxdb-for-time-series-data-timescale-influx-sql-nosql-36489299877/
[^10]: https://blog.timescale.com/how-to-store-time-series-data-mongodb-vs-timescaledb-postgresql-a73939734016
[^11]: https://blog.timescale.com/timescaledb-vs-influxdb-for-time-series-data-timescale-influx-sql-nosql-36489299877
# So What? #
Postgres may not be the best solution to your problem, but it's very often **good enough**.
 
Before introducing a new piece to your infrastructure, consider using your Postgres database to solve the problem.
# The End #
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment