[HN Gopher] 7 Databases in 7 Weeks for 2025
       ___________________________________________________________________
        
       7 Databases in 7 Weeks for 2025
        
       Author : yarapavan
       Score  : 207 points
       Date   : 2024-12-05 17:02 UTC (5 hours ago)
        
 (HTM) web link (matt.blwt.io)
 (TXT) w3m dump (matt.blwt.io)
        
       | petesergeant wrote:
       | Original 7 were: Redis, Neo4J, CouchDB, MongoDB, HBase, Postgres,
       | and DynamoDB
        
         | turnsout wrote:
         | Another reason to choose Postgres... if you fell asleep and
         | woke up 20 years later like Rip Van Winkle, Postgres would
         | still probably be a 100% valid choice.
        
           | steveBK123 wrote:
           | Precisely - DBs are the LAST thing I want to have to deal
           | with swapping every 3 years.
        
       | atonse wrote:
       | I didn't realize this [1] was a thing. I've been informally
       | referring to our Postgres/Elixir stack as "boring, but in the
       | best way possible, it just works with no drama whatsoever" for
       | years.
       | 
       | 1: https://boringtechnology.club
        
       | Jtsummers wrote:
       | https://pragprog.com/titles/pwrdata/seven-databases-in-seven... -
       | A book by the same name. Instead of giving you a brief blurb on
       | each database, the authors attempt to give you more context and
       | exercises with them. Last updated in 2018 it covers PostgreSQL,
       | HBase, MongoDB, CouchDB, Neo4J, DynamoDB, and Redis. The first
       | edition covered Riak instead of DynamDB.
        
         | nindalf wrote:
         | The only one in common in both lists is Postgres. Insane
         | longevity.
        
           | steveBK123 wrote:
           | Yeah and only 6 years ago, which is nothing in the span life
           | databases historically. It's not like DBs are a new tech.
           | 
           | Making a decision on DB is somewhat foundational for a lot of
           | system architecture, in that you expect to be able to use it
           | for years. It is not like some UI framework you toss out
           | every 18 months.
           | 
           | So the benefits of the new hyped thing may be outweighed by
           | the unknowns & risk of flaming out.
           | 
           | This is the kind of hype cycle that gives me pause when a new
           | hot thing like DuckDB which actually ticks a TON of boxes for
           | me, but has attracted some of the usual suspects in my work
           | network that I consider to be contra signals.
        
           | cpursley wrote:
           | Yep, obligatory Postgres Is Enough listicle:
           | 
           | https://gist.github.com/cpursley/c8fb81fe8a7e5df038158bdfe0f.
           | ..
        
             | cpursley wrote:
             | (most of the time, at least)
        
           | alex7o wrote:
           | I like to joke and say that it is the Postgres Cinematic
           | universe
        
           | worksonmymach wrote:
           | SQL Server and Oracle too but not being open source is a big
           | minus.
        
       | deadbabe wrote:
       | On the first day of Christmas my true love sent to me, a brand
       | new Postgres query
        
       | pjmlp wrote:
       | For me the pinnacle of boring RDMS are Oracle and SQL Server.
        
         | hobs wrote:
         | There's definitely been fixes in the last half decade to make
         | SQL Server a little more boring, but there's plenty of defaults
         | that were simple foot guns.
         | 
         | Full recovery mode defaults combined with log growth settings,
         | query parallelism costs, maintenance and backup solutions being
         | offhanded to Ola, etc - many of those things are fixed but
         | things like parameter sniffing are still absolutely causing
         | pages going off for someone today.
        
         | motorest wrote:
         | Their hefty pricetag bumps them solidly into exciting
         | territory.
        
           | pjmlp wrote:
           | Definitely exciting Fortune 500 projects.
        
         | fipar wrote:
         | Don't forget DB/2!
         | 
         | And, from the same vendor, IBM still ships IMS for those who
         | find Codd's ideas too exciting.
        
           | neverartful wrote:
           | IBM also still sells Informix.
        
       | ako wrote:
       | In this age of AI, I'm missing a database with a focus on AI,
       | e.g, something like a vector database, or maybe something even
       | better...
        
         | nindalf wrote:
         | Pgvecto.rs?
        
         | SahAssar wrote:
         | pgvector? postgresml?
        
         | mble_ wrote:
         | Author here. I deliberately didn't include one because I'm
         | waiting for the dust to settle a bit.
         | 
         | There is a lot of activity in the space, from things like
         | TurboPuffer (proprietary), Postgres extensions like VectorChord
         | and pgvector, to established players like Elastic getting in on
         | the action. Not to mention things like Pinecone.
        
           | ako wrote:
           | Fair point, but would be interesting to see what
           | characteristics make for a best in class ai database, rag,
           | vectors? Or do you foresee ai to replace databases? "ChatGPT,
           | can you remember this data for me?"
        
             | mble_ wrote:
             | Definitely doesn't replace databases, at least LLMs as they
             | currently are. We're going to be stuck with relational
             | algebra for a long time to come, but the interfaces to
             | interact with store might change over time from SQL to more
             | natural language.
             | 
             | > what characteristics make for a best in class ai database
             | 
             | As I said before, I think the space is moving too fast on
             | what is "best in class" - see all the vector indexing work
             | that has happened in the last ~6 months or so. Big,
             | centralised vector stores for some applications will have
             | very different profiles to vector stores on the edge/on
             | device, for example.
             | 
             | As mentioned, I'm a big fan of boring technology, so I'm
             | going to happily wait we have a boring "winner".
        
       | rho4 wrote:
       | The article mentions the TigerBeetle Style Guide:
       | https://github.com/tigerbeetle/tigerbeetle/blob/main/docs/TI...
       | 
       | I agree so much with the paragraphs about "Dependencies" and
       | "Tooling".
        
       | archiewood wrote:
       | DuckDB is really having a moment
       | 
       | The ecosystem is very active, and they have recently opened up
       | "community extensions" to bring your own functions, data types
       | and connections. A barrier at the moment is that extensions are
       | written in C++, though this limitation should be removed soon.
       | 
       | I've been building a lot on top of DuckDB, two of the projects
       | I'm working on are linked in the article:
       | 
       | - Evidence (https://evidence.dev): Build data apps with SQL +
       | Markdown
       | 
       | - DuckDB GSheets (https://duckdb-gsheets.com): Read/Write Google
       | Sheets via DuckDB
        
         | dilawar wrote:
         | Duckdb is really great. DX is awesome.
         | 
         | I cloned the CVE repository and ingested it into duckdb without
         | worrying about table structures. Build a fastapi wrapper to
         | query CVEs like SQL. A little bit of caching and it was pretty
         | fast. Was done in a few hours.
         | 
         | Shame that their Rust crate wasn't as performant as the python
         | module.
        
         | Scubabear68 wrote:
         | I got into DuckDb thanks to HN comments like these in general,
         | it really shines for doing "desktop" analysis that goes beyond
         | the usual Excel/Numbers shenanigans.
        
         | tmpz22 wrote:
         | Are the testimonials on your website real or fake? Apple,
         | Flexport, BMW, etc are using evidence.dev?
        
         | thehours wrote:
         | I'm using DuckDB for the first time for this year's Advent of
         | Code and it's been a delightful experience so far. I was
         | looking for something simple to set up and had more advanced
         | functionality than what SQLite supports.
        
           | spratzt wrote:
           | Extraordinary!
           | 
           | I can't think of any of the advent of code questions this
           | year where a database would have been of any use.
           | 
           | Do tell us more.
        
             | thehours wrote:
             | It's mostly a challenge I set for myself to see how far I
             | could get using SQL! I've done the past couple years in
             | Python and just wanted to change it up.
             | 
             | So far parsing the inputs has not been nearly as much of a
             | hassle as I thought. I really like how DuckDB supports
             | directly selecting from files (e.g. `select * from
             | 'file.csv'`). I thought I was going to be spending more
             | time creating schemas, running `copy`, etc.
             | 
             | Overall pretty nice quality of life experience so far, even
             | if it is only to mess around with a few puzzles.
        
       | maximus93 wrote:
       | DuckDB really seems to be having its moment--projects like
       | Evidence and DuckDB GSheets are super cool examples of its
       | potential. And yeah, Postgres's longevity is insane, it just
       | keeps adapting.
       | 
       | On the AI front, vector databases like Pinecone and pgvector are
       | exciting, but I'd love to see something even more integrated with
       | AI workflows. The possibilities are huge. Curious to hear what
       | others think!
        
         | vjerancrnjak wrote:
         | I like Clickhouse more.
         | 
         | Unrelated, not sure if it is just me, but ever since LLMs
         | became popular, I've been seeing an enormous amounts of special
         | utf8 characters no one used regularly, like this em dash you
         | used.
         | 
         | How is this simple to type? If you're on a phone keyboard, you
         | have to switch to special characters, and then have to long-
         | hold the dash and then slide to em dash.
        
           | arglebarnacle wrote:
           | On a full keyboard it's not too bad--just hold alt and tap
           | 0151 on the numpad. Honestly I wish it was harder to type for
           | stylistic reasons--it would help cure me of my em-dash
           | addiction
        
             | vjerancrnjak wrote:
             | Haha, you haven't used an em dash at all. You even used --
             | in some of your comments.
             | 
             | LLMs are everywhere.
        
           | conductr wrote:
           | I noticed that certain browsers started auto converting a
           | double hyphen to an emdash as I type, no LLM needed, I think
           | that's just a timing coincidence
        
           | elcritch wrote:
           | On macs you can do `alt` and `-` to get a -. Even on a phone
           | a proper emdash can add effect over a regular dash.
        
             | dhosek wrote:
             | Mac people call it option, not alt. alt-minus gives - and
             | alt-shift-minus gives --. Certainly, it's much easier than
             | the windows enter a numeric code thing which seems insane.
        
           | cfiggers wrote:
           | Hi, not the person you asked, but I have an answer to the
           | question.
           | 
           | I have an AutoHotkey script that auto-replaces "--" with "--"
           | (and auto-disables it in contexts where it's likely intended,
           | like SQL editors and my terminal).
           | 
           | I also auto-replace "`-" with "-" so I can conveniently do
           | number ranges with the (objectively correct) n-dash to
           | indicate a range.
        
       | amazingamazing wrote:
       | Why duck db vs chdb?
        
         | mble_ wrote:
         | I didn't want ClickHouse to take all the glory. /s
         | 
         | The actual reason is that DuckDB's API and integration into
         | other places (e.g. Evidence) and its use of extensions (like
         | the aforementioned gsheets one) gives it priority for me.
         | 
         | Additionally, its being used in a bunch more places like
         | pg_duckdb that make it more "worth it".
        
         | mmsimanga wrote:
         | I work in a big none tech corp and I cannot install WSL so I
         | can try out Clickhouse.
        
       | mble_ wrote:
       | Author here.
       | 
       | Thanks for sharing! My choices are pretty coloured by personal
       | experience, and I didn't want to re-tread anything from the book
       | (Redis/Valkey, Neo4j etc) other than Postgres - mostly due to
       | Postgres changing _a lot_ over the years.
       | 
       | I had considered an OSS Dynamo-like (Cassandra, ScyllaDB, kinda),
       | or a Calvin-like (FaunaDB), but went with FoundationDB instead
       | because to me, that was much more interesting.
       | 
       | After a decade of running DBaaS at massive scale, I'm also pretty
       | biased towards easy-to-run.
        
         | leeoniya wrote:
         | was hoping to see https://github.com/GreptimeTeam/greptimedb on
         | the list
         | 
         | maybe 2026, or some bonus content for 2025 :)
         | 
         | https://www.greptime.com/blogs/2024-09-09-report-summary
        
         | timbotron wrote:
         | I'm curious why you said you don't find MongoDB interesting?
        
           | mble_ wrote:
           | I lived through the MongoDB hype cycle.
           | 
           | For document databases, I'm more interested in things like
           | PoloDB and SurrealDB.
        
         | biggestlou wrote:
         | As a co-author of the book of the same name, I'm disappointed
         | that you didn't see fit to provide any kind of attribution
        
       | dangoodmanUT wrote:
       | FDB is wildly underrated. Best DB atm
        
         | merqurio wrote:
         | FondationDB is such an incredible resource, but it's so hard to
         | access for the general public. It's no wonder so few people
         | know about it. I've always thought that if there were easier
         | ways to interact with it, or some dev-friendly layers built on
         | top (or public) it would become way more popular. it has shown
         | how well it scales with Apple and snowflake, but is not an
         | obvious choice for non-internet scale applications.
         | 
         | If you don't know about FDB; there's an amazing video about how
         | they test it that really got me into learning more:
         | 
         | https://youtu.be/4fFDFbi3toc?si=9g3hZogBq3Ou25xZ
        
           | mble_ wrote:
           | Yeah, this is the bit for me. We have almost no good OSS
           | layers for folks to "plug and play".
           | 
           | Its a bit of a vicious circle - because there is low
           | exposure, no one is building those layers. Because no one is
           | building the layers, there is no exposure.
        
             | jstimps wrote:
             | If you're interested in a layer compatible with Elixir's
             | Ecto, please take a look at the EctoFoundationDB adapter:
             | 
             | https://github.com/foundationdb-beam/ecto_foundationdb
             | 
             | https://hexdocs.pm/ecto_foundationdb
        
           | jeffinhat wrote:
           | They are developing this simulation concept as a platform:
           | https://antithesis.com/
        
         | amazingamazing wrote:
         | Surprised no one has built a dynamodb compatible api yet.
         | Wouldn't be that difficult. Dynamodb actually has similar
         | constraints already
        
           | wmfiv wrote:
           | Maybe there aren't too many itches left to scratch?
           | 
           | Between Dynamodb, Cassandra, and Scylla seems like that
           | problem set is somewhat a solved problem? I know those
           | products continue to move forward, but they all work really
           | well at this point and solve the fundamental problem to a
           | good degree.
        
       | znpy wrote:
       | > CockroachDB
       | 
       | didn't it like go closes-source a while ago?
        
         | mble_ wrote:
         | Still very much "open-source":
         | https://github.com/cockroachdb/cockroach
         | 
         | But relicensed to the "CockroachDB Software License" as a form
         | of BSL to prevent reselling.
        
           | maxmcd wrote:
           | I think "source available" at this point:
           | https://news.itsfoss.com/cockcroachdb-no-open-source/
        
       | littlekey wrote:
       | I'm just gonna say it: unless I had a specific reason to use it,
       | I would cross CockroachDB off my list purely based on the name. I
       | don't want to be thinking of cockroaches every time I use my
       | database. Names do have meaning, and I have to wonder why they
       | went with that one.
        
         | greghn wrote:
         | > _Names do have meaning, and I have to wonder why they went
         | with that one._
         | 
         | "CockroachDB gets its name from cockroaches, as they are known
         | for being disaster-resistant.[5]"
         | 
         | https://en.wikipedia.org/wiki/CockroachDB
        
       | sdesol wrote:
       | For those not familiar with DuckDB, it's an amazing database, but
       | it is not a replacement for SQLite, if you are looking for a
       | lightweight server side DB. I'm in love with the DuckDB client
       | and use it to query SQLite databases, but due the fact that it
       | only supports one concurrent write connection, it is not suitable
       | as a server side DB.
        
       ___________________________________________________________________
       (page generated 2024-12-05 23:00 UTC)