4 ms·
There's a ton of room for improvement in the architecture of relational databases. This isn't a dig against Postgres, or ignoring how difficult it will be to ge
by jasonwatkinspdx 5y ago
There's a ton of room for improvement in the architecture of relational databases. This isn't a dig against Postgres, or ignoring how difficult it will be to get a new system to the same level of maturity. But databases designed natively for cloud/clustering, SSDs, (pmem soon perhaps), etc are quite a bit different. There's enormous simplifications and performance gains possible.
There's been a lot of exciting work in this area over the last decade or so. Andy Pavlo's classes are great surveys of the latest work: https://15721.courses.cs.cmu.edu/spring2020/ https://15721.courses.cs.cmu.edu/spring2020/
CosmosDB is an example of a relational (multi paradigm properly) database with a quite different architecture vs the classic design, that's moved into production status quite rapidly.
FaunaDB and CockroachDB are moving with solid momentum too.
- gogopuppygogo 5y agoCockroach is the worst brand for a database ever. Even Croach would be a massive branding improvement. This is similar to how gimp is a terrible brand.
- meesterdude 5y agoI mean... the WORST? For me Mongo takes the cake, but oracle is up there too.
- zdragnar 5y agoReally? Oracle actually makes a lot of sense to me for a database name (in the 'source of truth' sense, not in the prophet sense). Mongo, on the other hand, has definitely always had the racist/ablist slur as the first connotation for me.
- whatshisface 5y agoI've learned almost all the slurs I know from comments or media sources complaining about them. It's the only place they're used in polite society.
- robertfw 5y agoThen perhaps count yourself lucky to not have had some of these used against you.
- zdragnar 5y agoIt isn't really a surprise in this case since both ethnic Mongolians and those with Downs syndrome are not in many Americans' social circles. "Almost all" does sound like a bit of a surprise, but thinking back on it the only one I know for a fact I heard for the first time outside of a corrective context was my elder uncles friends who enjoyed self-depreciating jokes, usually with slurs for eastern Europeans in them. I first heard those as a child and only realized years later they were offensive. Most others, I think, I honestly have no idea when i was first exposed to them.
- tgv 5y agoMongo and mongol don't have a close relationship: the final syllable is entirely different.
- whatshisface 5y agoIt's implied that someone is going around calling people with Down's syndrome "Mongos." "Mongol" is an actual non-offensive[0] word which means, unsurprisingly, someone who can trace their lineage back to the area around Mongolia. [0] https://en.wikipedia.org/wiki/Mongols https://en.wikipedia.org/wiki/Mongols (If it's used descriptively on Wikipedia, it's probably not considered offensive.)
- randomswede 5y agoMongol is not (as far as I am aware) an offensive word. Mongoloid[0] (which "mongo" is a shortened form of) in reference to people with Down Syndrome, definitely is. My pet theory is that the database is named after a character in "Blazing Saddles", and I want to be able to store candy in it. [0] https://en.wikipedia.org/wiki/Down_syndrome#Name https://en.wikipedia.org/wiki/Down_syndrome#Name
- deleted 5y ago[deleted]
- jjazwiecki 5y agoI always thought it was a reference to valuable stuff picked from trash, which I understood to be slang from sanitation workers, but apparently that's local to the NYC area.
- Traubenfuchs 5y agoI don't know about other languages, but in German "Mongo" is pretty much a forbidden word as it is derogative descriptor for people with down syndrom and other visible defects, especially movement defects.
- goatinaboat 5y agoI don't know about other languages, but in German "Mongo" is pretty much a forbidden word as it is derogative descriptor for people with down syndrom and other visible defects, especially movement defects. In the UK that would be "mong", for us Mongo is the planet Ming The Merciless is from.
- zaius 5y agoIt’s no coincidence - the names for Cockroach and GIMP were coined by the same person https://en.m.wikipedia.org/wiki/Spencer_Kimball_(computer_programmer) https://en.m.wikipedia.org/wiki/Spencer_Kimball_(computer_pr...
- fshr 5y agoWell that explains a lot. Imagine the success of all his work had it had better branding.
- toomanybeersies 5y agoLet's add Git and Kafka to that list.
- threeseed 5y agoThere are also technologies like NVMe over Fabric/RDMA, eBPF, XDP, io_uring etc which are just starting to get traction and are game changers for performance. None of which are being used. All of these require a different architecture so expect to see newer databases push things even further.
- macdice 5y agoPeope are working on io_uring for PostgreSQL... watch this space... https://github.com/anarazel/postgres/tree/aio https://github.com/anarazel/postgres/tree/aio
- marco_craveiro 5y agoThat sounds extremely interesting, would be nice to have more details on this!
- macdice 5y agoSome info here: https://www.postgresql.org/message-id/flat/20210223100344.llw5an2aklengrmn%40alap3.anarazel.de https://www.postgresql.org/message-id/flat/20210223100344.ll...
- marco_craveiro 5y agowow this looks incredible!
- oblio 5y agoYeah, to list a bit: - scaling is non-trivial (you can't just add a node and have PostgreSQL automagically Do The Right Thing™) - you can only have so many connections open to the database, causing issues with things such as AWS Lambda - I don't remember if this was changed, but I got the impression a while ago that having dynamic DB users was a bit cumbersome to set up (plug PostgreSQL to AD/LDAP)
- pharmakom 5y agoOn the lambda point, RDS proxy is a good solution if using AWS.
- mnahkies 5y agoAn external connection pooler like pgbouncer can alleviate some of the simultaneous connection limits There are projects to automate the syncing of LDAP users to postgres but it would be nice if this was built-in. However I get the impression that part of the reason these features aren't in the box is to limit scope creep in the main project.
- exceptione 5y agoYou must be kidding me with the CosmosDB mention. It doesn't even have foreign key constraints. I have to work with it and I have never seen such a feature-poor dbms before.
- jasonwatkinspdx 5y agoI'm talking about the general category of everything built atop BW-Tree and the Deuteronomy architecture. Murat Demirbas's blog has nice summaries of the papers. CosmosDB is a brand that encompasses more than one database engine, but I used that term as most people aren't familiar with the literature on the topic.
- hilbertseries 5y agoForeign key constraints are not practical for distributed data stores. And are actually more controversial than you’d think for regular databases, due to their heavy performance cost.
- teej 5y agoLecture 1 of that series is surprising and hilarious for a class about databases.
- throwaway2037 5y agoI am not a student at CMU. Are these publicly available online?
- jasonwatkinspdx 5y agoClick schedule in the link in my above comment, or in any of the previous classes on the same topic. It's all online. They only restrict a handful of guest lectures, usually from the usual suspects like oracle or amazon.