If I'm writing an app and need it to embed a db, SQLite. If it's running on a server, postgres.
Ask Lemmy
A Fediverse community for open-ended, thought provoking questions
Please don't post about current US Politics. If you need to do this, try !politicaldiscussion@lemmy.world
Rules: (interactive)
1) Be nice and; have fun
Doxxing, trolling, sealioning, racism, and toxicity are not welcomed in AskLemmy. Remember what your mother said: if you can't say something nice, don't say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. Please familiarize yourself with them
2) All posts must end with a '?'
This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?
3) No spam
Please do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.
4) NSFW is okay, within reason
Just remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either !asklemmyafterdark@lemmy.world or !asklemmynsfw@lemmynsfw.com.
NSFW comments should be restricted to posts tagged [NSFW].
5) This is not a support community.
It is not a place for 'how do I?', type questions.
If you have any questions regarding the site itself or would like to report a community, please direct them to Lemmy.world Support or email info@lemmy.world. For other questions check our partnered communities list, or use the search function.
Reminder: The terms of service apply here too.
Partnered Communities:
Logo design credit goes to: tubbadu
Same.
SQLite for almost everything I've ever done that wasn't professional. In those cases it's "whatever the project already uses, or else postgres".
As long as it isn't a shoehorned-in freaking document database that's being used on relational data.
Is Excel a good database? /s
There isn’t a one size fits all database. It really depends on what you want to do
I'm gonna try to port a discord channel over to Matrix, never attempted anything like it before.
Also, if you use a database for literally any specific reason, then feel free to answer the prompt with that information.
Are you doing that as a challenge? Because there are multiple tools that do that already, discord/matrix bridges are a dime a dozen
I'm not making the bridge, just a database. Some other users have informed me that as long as I can use Docker or equivalent then running the compose will generate a database on its own, which was news to me but I'm still learning a lot about databases and maintaining with this discussion so I think it was a worthy discussion.
Seeing your other comments on this post, I urge you to think twice about embarking on whatever it is you're about to attempt, because it is clear you have no idea what's in store for you. I really don't mean it as a demeaning thing, what you're describing is hard.
I suggest looking into a postgres tutorial first and foremost, it will teach you the basics of DBMS and how to use SQL, and when you understand that and what the database does for the applications you're used to, revisit this project. Being a database administrator is a literal full time job in the enterprise world, and for good reason, and you don't sound like you know enough about it to go in guns blazing.
No worries I'm not the person to jump in head first, clearly.
Postgres is what the cool kids use these days i think
Never heard of it, so you must be correct.
What do you use and why?
I've used sqlite for structured storage by scripts and the like. From a performance standpoint, it's not amazing, but easy to set up and doesn't have resource usage if it's not actually being used.
If I were going to use an always-active daemon, I'd probably default to PostgreSQL, mostly because decades back, the last time I looked at it, it was considered to have some technical advantages over MySQL. And at one point I did some hacking on its scheduler, so I have a bit of a warm feeling for it.
Do you think server hardware is required for most operability or can a good desktop computer and internet speed suffice as long as downtime isn't a problem?
I probably wouldn't think of things as "server" hardware" and "desktop" hardware. That's really a product of vendors trying to segment the market up, which lets them engage in price discrimination, as business buyers tend to be less price sensitive. Maybe you want more memory or a faster form of storage or something.
As to performance, I mean, it depends entirely on your use case. I would guess that the vast majority of database-using software out there has performance be a non-issue.
If you're looking for potential land mines, I'd suggest making sure that your backup system is aware of the database and can take an atomic snapshot, so that you don't get a garbled, being-written copy every time you do a backup.
If you're trying to figure out whether to buy a lot of hardware, though, I can tell you that without knowing what you're doing, I would not go out and buy new hardware just over performance concerns until you've actually tried doing your project on existing stuff and found that it's inadequate. People have run useful, large databases for many decades on much weaker hardware and slower storage than is generally-available in 2024.
(•̪ o •̪)
Those services come with their own databases that you don't have to directly manage.
Grab their respective Docker compose files and run them up and let the app handle the db.
The !selfhosted@lemmy.world communities can give far better answers than a generic community like this.
All the discussions I saw about it said that I would have to make a new table in a database to store it on, but I guess that's only if adding it to an existing database instead of letting it make a new one? Should I be letting it set up its own database without understanding database maintenance to begin with?
I don't mean to sound rude but because you are asking what db to use it sounds like you don't know what you are doing. In that case let the individual apps run their own db.
Yes you are using more compute resources running several dbs at once but if a db falls over only one app is effected.
I absolutely have no idea what I'm doing, asking questions is evidence of lack of knowledge, couldn't possibly be considered rude.
Is this for hosting at home with a home internet? Use a PC or even something like a raspberry pi. Just be frequent about backups if there is anything important on it. It might be easier to use a cheap VPS though, even if that doesn't qualify as total self-hosting.
If the software you want to run recommends a particular database, use that. Otherwise, for small stuff, SQLite is good enough for most purposes, and less hassle than most alternatives.
You're cool and I want you to appreciate yourself at least as much as I appreciate you right now.
PostgreSQL. It's head and shoulders above the competition... clearly superior. :)
The correct term is lemrade
Milk Milk Lemrade Around the Corner Fudge is Made
The only database I have worked with is MariaDB/MySQL, I use it as a database to a temperature logger that logs the temp of water at a swimming hole and uploads the data to website.
The logger is ab rpi zero, with a timer and a DS18B20 under water temperature probe.
The timer will turn on the rpi once every 30 min, I set up a bash script that gets the temp data, formats it, checks for errors, if found, checks again, up to three times in total if needed then using curl connects to a webpage to send the data (Name, Temp and Status), waits 30 sec, then shuts down the rpi, shortly before the timer cuts power.
The script is run a on startup as a systemd service, the reason for the 30 sec wait before shutting off the pi is to give me time to logon to the pi and stop the script if I need to do maintenence on it.
The website it built in PHP and MySQL/MariaDB, and runs on a webhotel, there are a few pages, one to upload data, one to get a list of the latest 40 readings, snd one mobile page that shows the current temp in larger font and a graph of the temperature changes.
I bet the swimmers really take that reading for granted, that's the work of some truly competent people and we thank you.
Downvoted because people didn't like my attempt at a "hook" tagline, darnit
They're probably downvoting because your question shows such a vast lack of knowledge that any attempt at a serious answer would exceed the time anyone would be willing to invest.
I think the lack of contextual information in the question itself is evidence of beginner and hobbyist categorization, though? After all, it would be silly to ask things we already know about. I tried searching for database recommended on all the instances and didn't see any other posts about it, but I value Lemmy user's opinion on this subject very highly.
To make a bad car analogy, your question reads like this:
What steering wheel do you recommend?
I'm not planning to drive a Formula 1 car yet, but maybe a dirtbike and a superbike might be in my future.
What do you use and why? Is it limited to a specific fuel and if you were on a different fuel what would you be using instead? Do you think a truck motor is required or can a good engine and road suffice?
Please don't try to run a service that is accessible from the internet. It would probably be taken over by hackers very quickly and be used to distribute spam or worse.
Okay but TBF if a person were going to use some motorbikes and a Formula 1 car in the near future then they would certainly benefit from knowing the different fuel types as well as general maintenance/operation. Complexity of topic is no excuse to shun questioning.
You may have missed the point of the example. It asks about steering wheels, and immediately transitions to vehicles that don't have steering wheels.
Are you implying that databases don't exist for private email and hosting a matrix channel? Because if so then you're just blatantly wrong.
What do you even think a database is?