jm + postgresql 7
_Amazon Aurora: On Avoiding Distributed Consensus for I/Os, Commits, and Membership Changes_, SIGMOD '18
papers
toread
aurora
amazon
aws
pdf
scalability
distcomp
state
sql
mysql
postgresql
distributed-consensus
4 weeks ago by jm
One of the more novel differences between Aurora and other relational databases is how it pushes redo processing to a multi-tenant scale-out storage service, purpose-built for Aurora. Doing so reduces networking traffic, avoids checkpoints and crash recovery, enables failovers to replicas without loss of data, and enables fault-tolerant storage that heals without database involvement. Traditional implementations that leverage distributed storage would use distributed consensus algorithms for commits, reads, replication, and membership changes and amplify cost of underlying storage. In this paper, we describe how Aurora avoids distributed consensus under most circumstances by establishing invariants and leveraging local transient state. Doing so improves performance, reduces variability, and lowers costs.
4 weeks ago by jm
glibc changed their UTF-8 character collation ordering across versions, breaking postgres
5 weeks ago by jm
This is terrifying:
Moral of the story -- keep your libc versions in sync across storage replication sets!
postgresql
scary
ops
glibc
collation
utf-8
characters
indexing
sorting
replicas
postgres
Streaming replicas—and by extension, base backups—can become dangerously broken when the source and target machines run slightly different versions of glibc. Particularly, differences in strcoll and strcoll_l leave "corrupt" indexes on the slave. These indexes are sorted out of order with respect to the strcoll running on the slave. Because postgres is unaware of the discrepancy is uses these "corrupt" indexes to perform merge joins; merges rely heavily on the assumption that the indexes are sorted and this causes all the results of the join past the first poison pill entry to not be returned. Additionally, if the slave becomes master, the "corrupt" indexes will in cases be unable to enforce uniqueness, but quietly allow duplicate values.
Moral of the story -- keep your libc versions in sync across storage replication sets!
5 weeks ago by jm
When Boring is Awesome: Building a scalable time-series database on PostgreSQL
april 2017 by jm
Nice. we built something along these lines atop MySQL before -- partitioning by timestamp is the key. (via Nelson)
database
postgresql
postgres
timeseries
tsd
storage
state
via:nelson
april 2017 by jm
Why Uber Engineering Switched from Postgres to MySQL
july 2016 by jm
Uber bringing the smackdown for the HN postgres fanclub, with some juicy technical details of issues that caused them pain. FWIW, I was bitten by crappy postgres behaviour in the past (specifically around vacuuming and pgbouncer), so I've long been a MySQL fan ;)
database
mysql
postgres
postgresql
uber
architecture
storage
sql
july 2016 by jm
Goodbye MongoDB, Hello PostgreSQL
Well, don't say we didn't warn you ;)
mongodb
mysql
postgresql
databases
storage
schemas
war-stories
march 2015 by jm
Another core problem we’ve faced is one of the fundamental features of MongoDB (or any other schemaless storage engine): the lack of a schema. The lack of a schema may sound interesting, and in some cases it can certainly have its benefits. However, for many the usage of a schemaless storage engine leads to the problem of implicit schemas. These schemas aren’t defined by your storage engine but instead are defined based on application behaviour and expectations.
Well, don't say we didn't warn you ;)
march 2015 by jm
If Eventual Consistency Seems Hard, Wait Till You Try MVCC
december 2014 by jm
ex-Percona MySQL wizard Baron Schwartz, noting that MVCC as implemented in common SQL databases is not all that simple or reliable compared to big bad NoSQL Eventual Consistency:
nosql
concurrency
databases
mysql
riak
voldemort
eventual-consistency
reliability
storage
baron-schwartz
mvcc
innodb
postgresql
Since I am not ready to assert that there’s a distributed system I know to be better and simpler than eventually consistent datastores, and since I certainly know that InnoDB’s MVCC implementation is full of complexities, for right now I am probably in the same position most of my readers are: the two viable choices seem to be single-node MVCC and multi-node eventual consistency. And I don’t think MVCC is the simpler paradigm of the two.
december 2014 by jm
Call me maybe: Carly Rae Jepsen and the perils of network partitions
may 2013 by jm
Kyle "aphyr" Kingsbury expands on his slides demonstrating the real-world failure scenarios that arise during some kinds of partitions (specifically, the TCP-hang, no clear routing failure, network partition scenario). Great set of blog posts clarifying CAP
distributed
network
databases
cap
nosql
redis
mongodb
postgresql
riak
crdt
aphyr
may 2013 by jm
related tags
amazon ⊕ aphyr ⊕ architecture ⊕ aurora ⊕ aws ⊕ baron-schwartz ⊕ cap ⊕ characters ⊕ collation ⊕ concurrency ⊕ crdt ⊕ database ⊕ databases ⊕ distcomp ⊕ distributed ⊕ distributed-consensus ⊕ eventual-consistency ⊕ glibc ⊕ indexing ⊕ innodb ⊕ mongodb ⊕ mvcc ⊕ mysql ⊕ network ⊕ nosql ⊕ ops ⊕ papers ⊕ pdf ⊕ postgres ⊕ postgresql ⊖ redis ⊕ reliability ⊕ replicas ⊕ riak ⊕ scalability ⊕ scary ⊕ schemas ⊕ sorting ⊕ sql ⊕ state ⊕ storage ⊕ timeseries ⊕ toread ⊕ tsd ⊕ uber ⊕ utf-8 ⊕ via:nelson ⊕ voldemort ⊕ war-stories ⊕Copy this bookmark: