Live data from Hacker News

Database Review 2021

bytebase.com

61–68 of 68 posts

Re: Database Review 2021

#61
post #15

Earlier quoted context omitted.

Setting up Postgres is a PITA compared to SQLite. It comes bundled with python these days. Obviously it's going to be a trade off as to which one causes you more pain.

agreed, running pg locally is a pain. I use a cloud postgres instance (even for local dev). They're dirt cheap and it's not worth the hassle of working with a local pg.

>> agreed, running pg locally is a pain

If you have a single process accessing the database, use SQLite. If not, use Postgres.

Re: Database Review 2021

#62
post #2

My prediction: SQLite will keep gaining popularity. Especially among pragmatic software builders who run their own business and do not work for the man. A demographic that I expect to grow. Talking about SQLite: Is there any downside to partitioning an SQLite db into multiple files? For example one of my systems has a table 'details' which is not vital for the system to work. It's just a nice to have, to have data in…

I keep reaching for SQLite and it keeps working. Although I've been needing a better review of what other embedded databases I should be considering in 2022. I tried Genji[1] recently and tore it out as it wasn't doing ORDER BY with multiple columns.

1. https://genji.dev/

Re: Database Review 2021

#63

Earlier quoted context omitted.

I manly work as a sysadmin for small companies. (Most people don't call us when they install new tools, they call when they exploded.) All my hatred goes out to the (Windows) programs (and its creators) that think they need MS SQL Express or the likes to save their two bytes of dust. All my love goes to the programs that just run/save from/to a UNC path.

Has SMB locking, and OP Locking become that much more reliable? Pretty much one of the classic desktop support calls for me was "my access database on the shared drive is corrupt" I'm out touch now, but one of the failure modes seemed to be that a client would take out an oplock, so it could do local caching etc. Then someone else opens the file, the server sends the oplock break to original client but that message g…

> Pretty much one of the classic desktop support calls for me was "my access database on the shared drive is corrupt"

Yes, that one >12 year old access database with two concurrent users brakes biweekly. Everything else: No problems.

Just this Thursday I "moved" a program from an old PC to a new one. We more or less support this client since 7 years. The PC is from before that. Got the call. First time hearing about that lab software. Right click on the desktop icon. Oh, it just points to an UNC path on the "main server" (Linux Samba share). Took a look into the settings. It has a path to a SQLite DB. Also just an UNC path. Only two clients using it. It worked unattended for years. Since it's stored on the "main server" it's also covered by backup. No client side installation necessary. Copy the link. Update our documentation that we know it exists, what is it used for and how it works. Done.

I see it time and time again: Desktop software that runs on one PC, produces/saves tiny amounts of data (like a temperature monitor for one fridge), but installs a SQL server. A random technician shows up, installs it and leaves. We don't know that it exists. It's therefore not part of a backup concept. It's usually only discovered when it explodes or when the PC is renewed (or when a second PostgreSQL install creates a TCP port conflict). I have the feeling only 1 out of 10 "softwares" even have a proper concept for export and import of data.

A client with like 7 or 8 workers called my because he wanted me to move his new time tracking software. The technician who also installed the NFC reader apparently installed it on the wrong PC. It took over 3 hours! It downloaded GBs and GBs of .NET, SQL Express and what not. I didn't know that going in/clicking the setup.exe. I had to call support to get the Express DB over. I can still hear the hard drive screaming. ...man... for stuff a Z80 and a CSV file would be enough. ...And I am the bad one for explaining to the client that the DB needs to be backuped. I sound like I want to upsell him something.

I know, I know. This rant is not about databases. It's about the state of IT and arrogant developers who don't live in the trenches. The "pulling down additional gigabytes of images and runtime to run the database" > "Yes. It works great." triggered me. I'm sorry. You know. Not everything is a unicorn webapp.

> Any smb client access to shared data more complicated than documents and spreadsheets just makes me twitch these days.

I know of multiple large install bases of an old medical software. It's still actively developed/supported but it is so old that it doesn't use a SQL but ISAM database. It just lies there, on a file share. No active server component to speak of. No client site installation necessary.

> What's wrong with sql express? Assuming you fit within its size constraints?

If it is not used for something a CSV file would be enough. If the costumer is told that it needs to be installed "on a server". If we get involved from the beginning so we know what is what. If the costumer doesn't expect me to be able to move it out of the blue within seconds. Than sql express is fine. ...which reminds me of that one time, when that well-hung developer of a software for the energy sector didn't knew that express only can allocate up to 2GB. Obviously he was blamed us for delivering a faulty server...

Re: Database Review 2021

#64
> That's why PG has been adopted by Heroku early on, to the new Heroku-like render, and Supabase. They can offer a low or even free database plan because they can serve many users with a single PG instance.

Just a note to say every Supabase free tier deployment is a dedicated instance

Re: Database Review 2021

#65

It's curious to see news about many database products that have come out only recently, since in my personal experience I've seen some companies and their products just evaporate (for example, Clusterpoint a number of years back). Of course, if there's a sufficient amount of hype/mindshare from the industry towards a certain technology, it feels like the critical mass of attention might perhaps be there to sustain th…

CockroachDB and Yugabyte are both wire-compatible with Postgres and follow its syntax and feature set to a large extent. They offer a reasonably clean upgrade path to a distributed database while still using the same tools you use with vanilla Postgres.

Seeing more and more projects that are either compatible or are a value-add on top of Postgres. Not seeing the same level variability of ecosystem in the MySQL world. There's MariaDB, which adds cool features like temporal tables, but PG has the aforementioned distributed DBs along with Citius, TimescaleDB for time series, AWS Redshift for OLAP, ZomboDB for enhanced full text search, Apache MADLib for big data machine learning within the database, etc.

I 100% agree that most projects don't need anything beyond SQLite (or its OLAP cousin DuckDB). More and more it looks like a relatively clean migration path from the small to the heavily concurrent to the high end niche. Great time to be a data worker.

Re: Database Review 2021

#66

Earlier quoted context omitted.

No docker access? postgres images are available in seconds.

So the solution is pulling down additional gigabytes of images and runtime to run the database?

postgres alpine is 90MB.

I can really recommend it, using a declarative docker-compose.yml file and then docker-compose command.

Re: Database Review 2021

#67

Considered posting an Ask HN, and this is a bit of a segue, but seems a relevant place to ask... What do people think of DynamoDB? I think it fits my use case, and apparently, there's enough overlap with Cassandra to support a migration, if it turns out to be a bad idea. But I rarely see much writing about teams using it, so wondered about support / popularity / resources?

Dynamodb is very scalable and effective at keeping operational cost down. It succeeds at it's goals by trading off on lots of things though. As a developer it can feel almost hostile. Adhoc queries are limited almost forcing you to have a complete second copy of the data. Access patterns must be designed up front and hope you don't need to change much when you hit scale. The tooling is meh. It's easier to make a scalable database when you push all those problems on your devs. Constraints are tricky. Transactions must be carefully designed. It's nice to know that almost definitely read and write throughput will scale and you can reduce the DBA/DevOps staff because AWS handles it.

Re: Database Review 2021

#68

Earlier quoted context omitted.

agreed, running pg locally is a pain. I use a cloud postgres instance (even for local dev). They're dirt cheap and it's not worth the hassle of working with a local pg.

What OS are you on? Running postgres on Linux is as trivial as it gets, and for Windows they have a nice installer. Or just use docker.

Does the docker have users set up? I seem to remember that being a pain point in the initial setup.
Post reply on HN