this post was submitted on 27 Sep 2023
428 points (96.7% liked)

Programmer Humor

32396 readers
1101 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 58 points 1 year ago (2 children)

Does it need to be accessed by multiple people? Does it need to be updated frequently? Does it need to be accessed programmatically? Does performance matter? If you answered "yes" to any of these questions, you should probably use a database.

If it's something you interact with manually, has less than 100,000 rows, and is mostly static, then sure, use a spreadsheet.

I used to have some scripts to convert and merge between CSV and sqlite3. Even a lightweight db like sqlite3 has value. Google Sheets fills some of the gaps with its QUERY statement but I still find it a bit awkward to use a lot of the time.

[–] [email protected] 12 points 1 year ago (1 children)

Google sheets works just fine for accessed by multiple people.

The line is probably somewhere on machine vs human readable.

[–] [email protected] 7 points 1 year ago* (last edited 1 year ago) (1 children)

Performance. If you get 30k transactions per second don’t even SAY spreadsheet lol

[–] [email protected] 12 points 1 year ago

Per second? If you get that many per day, I wouldn't touch it with a spreadsheet.

[–] [email protected] 8 points 1 year ago

I can answer yes to all of these questions but still use a spreadsheet. I understand your point, but I feel even with these the line is still gray.

I just checked and my largest spreadsheet currently has 14,300 lines across 12 tabs. Each tab contains the same information just pulled from a separate form. So each tab is linked to a form to update automatically when someone submits a new response. We then process these responses periodically throughout the day. Finished responses are color coded so a ton of formatting. Also 7+ people interacting with it daily.

Then we have a data team that aggregates the information weekly through a script that sends them a .csv with the aggregate data.

The spreadsheet (and subsequent forms) are updated twice a year. It was updated in June and will be updated again in December. It’s at 14k now and will continue to grow. We’ve been doing this through a few iterations and do not run into performance issues.