EDIT: You don’t have to answer for my specific purposes, if you use a database for any purpose yourself then please share and tell what and why.


I’m not planning to host any fediverse or mastodon instances just yet, but maybe a private email server and porting a discord channel to matrix might be in my future.

What do you use and why? Is it limited to a specific OS, and if you were on a different OS then what would you be using instead? 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?

  • @[email protected]
    link
    fedilink
    119 months ago

    If I’m writing an app and need it to embed a db, SQLite. If it’s running on a server, postgres.

  • amio
    link
    fedilink
    99 months ago

    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.

  • @breadsmasher
    link
    English
    99 months ago

    There isn’t a one size fits all database. It really depends on what you want to do

    • @[email protected]OP
      link
      fedilink
      2
      edit-2
      9 months ago

      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.

      • @[email protected]
        link
        fedilink
        19 months ago

        Are you doing that as a challenge? Because there are multiple tools that do that already, discord/matrix bridges are a dime a dozen

        • @[email protected]OP
          link
          fedilink
          19 months ago

          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.

          • @[email protected]
            link
            fedilink
            19 months ago

            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.

  • @[email protected]
    link
    fedilink
    English
    49 months ago

    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.

  • slazer2au
    link
    English
    39 months ago

    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 [email protected] communities can give far better answers than a generic community like this.

    • @[email protected]OP
      link
      fedilink
      2
      edit-2
      9 months ago

      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?

      • slazer2au
        link
        English
        39 months ago

        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.

        • @[email protected]OP
          link
          fedilink
          49 months ago

          I absolutely have no idea what I’m doing, asking questions is evidence of lack of knowledge, couldn’t possibly be considered rude.

  • @solrize
    link
    3
    edit-2
    9 months ago

    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.

    • @[email protected]OP
      link
      fedilink
      2
      edit-2
      9 months ago

      You’re cool and I want you to appreciate yourself at least as much as I appreciate you right now.

  • @[email protected]
    link
    fedilink
    29 months ago

    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.

    • @[email protected]OP
      link
      fedilink
      29 months ago

      I bet the swimmers really take that reading for granted, that’s the work of some truly competent people and we thank you.

    • Björn Tantau
      link
      fedilink
      79 months ago

      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.

      • @[email protected]OP
        link
        fedilink
        -49 months ago

        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.

        • Björn Tantau
          link
          fedilink
          59 months ago

          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.

          • @[email protected]OP
            link
            fedilink
            -29 months ago

            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.

            • @[email protected]
              link
              fedilink
              English
              29 months ago

              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.

              • @[email protected]OP
                link
                fedilink
                09 months ago

                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.