3 ms·
I use CSV files to run multiple sites with 40,000+ pages each. Close to 1mil pages total Super fast Can’t hack me because those CSV files are stored elsewhere
by r0fl 1y ago
I use CSV files to run multiple sites with 40,000+ pages each. Close to 1mil pages total
Super fast
Can’t hack me because those CSV files are stored elsewhere and only pulled on build
Free, ultra fast, no latency. Every alternative I’ve tried is slower and eventually costs money.
CSV files stored on GitHub/vercel/netlify/cloudflare pages can scale to millions of rows for free if divided properly
- akudha 1y agoIs this a static website? If yes, what do you use to build?
- vineyardmike 1y agoCan't argue with what works, but... All these benefits also apply to SQLite, but SQLite is also typed, indexed, and works with tons of tools and libraries. It can even be stored as a static file on various serving options mentioned above. Even better, it can be served on a per-page basis, so you can download just the index to the client, who can query for specific chunks of the database, further reducing the bandwidth required to serve.
- deleted 1y ago[deleted]
- deepsun 1y agoJust to be pedantic, SQLite is not really typed. I'd call them type-hints, like in Python. Their (bad IMHO) arguments for it: https://www.sqlite.org/flextypegood.html https://www.sqlite.org/flextypegood.html
- edmundsauto 1y agoDon’t you think it’s better in this dimension than CSV though? It seems to me like it’s a strictly better improvement than the other option discussed.
- newlisp 1y agohttps://www.sqlite.org/stricttables.html https://www.sqlite.org/stricttables.html
- ezekiel68 1y agoTBH this is why I've never messed with SQLite. If I want to bother with a SQL database, I at least want the benefit of the physical layer compressing data to the declared types and PostgreSQL scales down surprisingly well to lower-resource (by 2025 standards) environments.
- MobiusHorizons 1y agoHow exactly do you anticipate using Postgres on client? Or are you ignoring the problem statement and saying it’s better to run a backend?
- throwaway032023 1y agohttps://pglite.dev/ https://pglite.dev/
- felipeccastro 1y agoNot sure why this was downvoted, but I’d be very interested in learning how well does pglite compares to SQLite (pros and cons of each, maturity, etc)
- MobiusHorizons 1y agoInteresting. TIL
- dragonwriter 1y agoA sibling comment posted a blind link whose contents address this, but (for the benefit of people who aren't likely to follow such links), recent versions of SQLite support STRICT tables which are rigidly typed, if you have a meed tor that instead of the default loose type affinity system.
- fer 1y ago> Just to be pedantic, SQLite is not really typed. I'd call them type-hints, like in Python Someone already chimed in for SQLite, so worth mentioning that Python is hard typed, just dynamic. Everyone has seen TypeError; you'll get that even without hints. It becomes particularly obvious when using Cython, the dynamic part is gone and you have to type your stuff manually. Type hints are indeed hints, but for your IDE, or mypy, or you (for clarity). It's a bit like saying C++ isn't typed because you can use "auto".
- Drew_ 1y agoIt sounds like you use CSVs to build static websites, not store or update any dynamic data. That's not even remotely comparable.
- AbraKdabra 1y agoSo... SQLite with less features basically.
- Spivak 1y agoEvery file format is SQLite with fewer features.
- deepsun 1y agoUnless it's Apache Arrow or Parquet.
- Moto7451 1y agoFor both fun and profit I’ve used the Parquet extension for SQLite to have the “Yes” answer to the question of “SQLite or Parquet?”
- AbraKdabra 1y agojfc is there anything Apache doesn't have a software for?
- tansan 1y agoThe way you write this makes it sound like your websites are pulling from the CSV per request. However, you're building static websites and uploading it to a CDN. I don't think SQL is needed here and CSV makes life way easier, but you can swap your CSV with any other storage device in this strategy and it would work the same.