Nextcloud asked in a poll at https://mastodon.social/@nextcloud@mastodon.xyz/115095096413238457 what database its users are running. Interestingly one fifth replied they don't know. Should people know better where their data is stored, or is it a good thing everything is running so smoothly people don't need to know what their software stack is built upon?

top 89 comments

sorted by: hot top controversial new old
[–] 111 points 1 year ago (17 children)

I write software for a living, and have worked with all 3 database options in the past. I don't know what DB backend my nextcloud server is using, nor do I care.

  • source
  • hideshow 17 child comments
  • [–] 51 points 1 year ago (16 children)

    Yeah, that is the kind of concern for the service developer or a very opinionated sys admin. For self-hosting, few people will reach the workload where such a decision has any material or measurable impact.

  • source
  • parent
  • hideshow 16 child comments
  • [–] 17 points 1 year ago* (2 children)

    Exactly. Unless you are actively doing maintenance, there is no need to remember what DB you are using. It took me 3 minutes just to remember my nextcloud setup since it's fully automated.

    It's the whole point of using tiered services. You look at stuff at the layer you are on. Do you also worry about your wifi link-level retransmissions when you are running curl?

  • source
  • parent
  • hideshow 2 child comments
  • [–] 3 points 1 year ago (12 children)

    Self hosting doesn't mean "being wasteful and letting containers duplicate services". I want to know which DB application X is using, so I pool it for applications Y and Z.

  • source
  • parent
  • hideshow 12 child comments
  • [–] 22 points 1 year ago (9 children)

    For most applications the overhead of running a second DB server is negligible.

  • source
  • parent
  • hideshow 9 child comments
  • [–] 2 points 1 year ago (7 children)

    I disagree. You are just entertaining the idea that servers must always and forever be oversized, that's the definition of wasteful (and environmentally irresponsible). Unless you are firing-up and throwing-away services constantly, nothing justifies this and sparing the relatively low effort it is to deploy your infrastructure knowingly.

  • source
  • parent
  • hideshow 7 child comments
  • [–] 4 points 1 year ago (6 children)

    Do you have the data to back that up? Have you measured how much of an impact on system load and power consumption having 2 separate DB processes has?

    Roughly the same amount of work is being done by the CPU if you split your DBs between 2 servers or just use one. There might be a slight increase in memory usage, but that would only matter in a few niche applications and wouldn't affect environmental impact.

  • source
  • parent
  • hideshow 6 child comments
  • [–] 1 point 1 year ago (5 children)

    Do you have the data to back that up?

    I mean, you are the one making the exceptional claim that unnecessarily running multiple instances of programs on a device with finite resources has no practical adverse effect. Of course, the effects can be more or less drastic depending on the many variables at play (hardware, software, memory pressure, thread starvation, cache misses, …) and can indeed be negligible in some lucky circumstances. The point is that you don't call that shot, and especially not by burying your head in the sand and pretending it's never gonna be a problem.

    Effective use of computing resources requires tuning. Introduction of a new service creates imbalance. Ensuring that the server performs nominally and predictably for all intended services is a balancing act and a sysadmin's job. Services whose deployment settings are set by someone with no prior knowledge of the deployment constraints can't be trusted to do a good job at it (that's the nature of the physical world we live in, not my opinion), and promoting this attitude promote the kind of wasteful and irresponsible computing I was on about.

    Now, I'll give you the link to this basic helper for tuning a PostgreSQL server: https://pgtune.leopard.in.ua/
    Will you tell me what are the correct inputs for my homelab (I won't tell you the hardware, the set-up, the other services running on it, the state of the system, etc)?
    And later, when you will distribute your successful container to millions of users, what will you respond to the angry ones that will complain that your software is slow, to no fault of your coding, because they happen to pile up multiple DBs, web servers, application servers, reverse proxies, … on their banana SoCs?

  • source
  • parent
  • hideshow 5 child comments
  • [–] 1 point 1 year ago (4 children)

    I'm saying this based on real world experience: after a certain point you start to see deminishing returns when optimizing a system, and you're better off focusing your efforts elsewhere. For most applications, customizing containerized services to share databases is far past that point.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 1 point 1 year ago (3 children)

    I’m saying this based on real world experience

    And do you think I would spend my time engaging if that wasn't from my own very "real world experience" of lessons learned the hard way?

    Bringing-up "diminishing returns" as if this was an optimisation game also doesn't do this justice. Take the typical "household FOSS package" with software names often brought up in here: a nextcloud instance, a photo-sharing service like immich, private instant messaging, a software forge, a subsonic-compatible audio/video streaming server, a couple php websites like wallabag and RSS aggregators.

    An Intel Atom CPU and 4GB of RAM is plenty sufficient for all that, and will cost you single digit USD a month, granted you put the (one-time) effort to tune and balance those services. Would you run all the above from upstream's docker files, I can guarantee you that you would deem this (perfectly fine otherwise) server underpowered for the task at hand (and would probably go for a 10th gen or so Intel Core CPU, quadruple the RAM and 3-6× the energy cost in the process).

    And that's the point I'm making here: a self-hosting community of tinkerers should (ideally) know better, for the ethics' sake of keeping the process environmentally friendly, and not wasting other people's money.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 1 point 1 year ago (2 children)

    You seem to be obsessed with optimising one resource at the expense of others. Time is a limited resource, and even if it only takes 5 minutes to configure all of your containers to share a single db backend (it will take longer than that even if you just have 2), you're only going to save a few MB of RAM. And since RAM costs roughly $2.5/GB (0.25 cents/MB) your time would have to be worth very little for this to be worthwhile.

    On the other hand, if you're doing it to learn more about computers then it might be worthwhile. This is a community of hobbiests, after all...

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 1 year ago (1 child)

    You seem to be obsessed with optimising one resource at the expense of others.

    If you want to push it and paint me as obsessed about something, then let it be this: providing this community with on-topic and reasonable advice

    you’re only going to save a few MB of RAM.

    This is false, and you should read once again my previous message illustrating why: on a decent "self-host"-friendly machine, the same software may work very well, or not at all, depending on whether the user would engage with very basic configuration. This goes beyond RAM (memory isn't the sole shared resource), and I'm adamant that the alternative (which was "pretending that the problem doesn't exist" turned into "throwing money at the problem") is unreasonable.

    On the other hand, if you’re doing it to learn more about computers then it might be worthwhile. This is a community of hobbiests, after all…

    Or more importantly: the extent to which you can self-host out of sheer luck and ignorance like you suggest is very limited. If you don't want to engage with a minimum amount of configuration, you might bump into security issues (a much broader and complex subject) long before any of the above has a material impact.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 1 year ago

    Besides RAM, what resources do you think you're saving? Not CPU cycles or IO ops, because you're processing the same amount of DB queries either way. Not power consumption, since that isn't affected by RAM utilization. Maybe disc space? But that's even cheaper than RAM.

    Or more importantly: the extent to which you can self-host out of sheer luck and ignorance like you suggest is very limited. If you don't want to engage with a minimum amount of configuration, you might bump into security issues (a much broader and complex subject) long before any of the above has a material impact.

    You're mischaracterizing what I said. My point is that running multiple DB processes on a server isn't going to have a significant impact on system load, if all other factor are kept constant.

  • source
  • parent
  • [–] 4 points 1 year ago (1 child)

    This is one of my pet peeves with containerized services, like why would I want to run three or four instances of mariadb? I get it, from the perspective of the packagers, who want a 'just works' solution to distribute, but if I'm trying to run simple services on a 4 GB RPi or a 2 GB VPS, then replicating dbs makes a difference. It took a while, but I did, eventually, get those dockers configured to use a single db backend, but I feel like that completely negated the 'easy to set up and maintain' rationale for containers.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 5 points 1 year ago

    Precisely what pre-devops sysadmins were saying when containers were becoming trendy. You are just pushing the complexity elsewhere, and creating novel classes of problems for yourself (keeping your BoM in control and minimal is one of many others that got thrown away)

  • source
  • parent
  • [–] 62 points 1 year ago

    "18% of car owners don't know their brake fluid DOT rating."

  • source
  • [–] 60 points 1 year ago (1 child)

    That is actually good news. Means that people more likely to be "normies" are adopting an alternative solution.

  • source
  • hideshow 1 child comment
  • [–] 178 points 1 year ago* (7 children)

    If you're running it in a prebuilt container, as long as it works it shouldn't matter and you don't need to care.

    Of course, when your database gets corrupted after Nextcloud updates because you had an app running that isn't supported in the new version, it will suddenly matter a lot.

  • source
  • hideshow 7 child comments
  • [–] 4 points 1 year ago (3 children)

    Will Nextcloud run apps not marked as compatible with that version?

  • source
  • parent
  • hideshow 3 child comments
  • [–] 1 point 1 year ago* (2 children)

    And if you don't know what database you're running, how are you backing it up?

    If you don't know what database you're running, are you bothering to do a full shutdown before backups? Are you doing backups at all...

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 1 year ago

    If you're using the AIO image, backup/restore can handled for you, so no need to worry about the manual steps involved. Or if you're using a VM, a backup can take the form of full system snapshots, so also no need to understand how data are stored. Granted it's always helpful to know what your running, but not necessarily requisite, even for backups.

  • source
  • parent
  • [–] 43 points 1 year ago

    Whatever the docker compose file that I found had

  • source
  • [–] 41 points 1 year ago (4 children)

    I also have no idea if my place has PVC or galvanized steel plumbing; or its designed electrical load. Why should users care about the DBMS.

  • source
  • hideshow 4 child comments
  • [–] 37 points 1 year ago

    The rule of internet polls is that the funniest answer is always over-represented.

  • source
  • [–] 20 points 1 year ago (1 child)

    *18% of the people who answered a poll on Mastodon

  • source
  • hideshow 1 child comment
  • It's funny that the headline frames it as "a big number" when in reality majority of users don't know what database they're using and probably don't even know what a database is. Such polls aren't useless but you always get skewed results towards the more technical population. They would have to create a poll inside the nextcloud webapp to get more balanced results.

  • source
  • parent
  • [–] 33 points 1 year ago

    I have five users, max, and barely any files. I don't know which one Nextcloud AIO uses and I don't care. There's no wrong answer for such a small deployment. It uses whatever database Nextcloud felt was sensible as the default. They know more about picking the right tool for their requirements than I do.

    If I'm building something for myself, then I care.

  • source
  • [–] 16 points 1 year ago

    Theres heaps of hosted nextcloud services. Those users wouldn't know.

  • source
  • [–] 16 points 1 year ago

    Nextcloud is pushed as an easy to use docker setup these days, heck most people I know who "use" it don't do much with it at all so what database it is using is gonna be way back in their list of priorities...
    Plus the users outweigh the admins surely (as in those that just install then forget)

  • source
  • [–] 15 points 1 year ago (2 children)

    Where's the option for "what's a database?"

  • source
  • hideshow 2 child comments
  • [–] 14 points 1 year ago

    If some of them are users rather than admins, it makes sense and maybe it's a good sign that they don't have to know in order to use the service.

  • source
  • [–] 13 points 1 year ago (3 children)

    Users is the right word here, not admin, not sysadmin, not owner. Docker pull docker up users that’s it

  • source
  • hideshow 3 child comments
  • [–] 11 points 1 year ago (1 child)

    Also just users. No docker or anything, just using the system someone else setup for them.

    NextCloud is used everywhere, also in commercial use.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 1 year ago

    I can’t believe they asked end users, the question is sent over the fediverse, not X or Bsky…

    Or else they would have received tons of « it’s missing my Nextcloud runs on Samsung S24 » comments

  • source
  • parent
  • [–] 10 points 1 year ago

    I mean.. I set it up many many years ago... Without looking it up I can also just guess.

  • source
  • [–] 8 points 1 year ago* (last edited 1 year ago)

    Honestly I think if there is a hope for greater detach from "The Cloud" more broadly, it's a testament to nextcloud that folks that don't even know enough to know what DB they are running are able to run a server, and host things well enough to consider themselves users.

    shhhThis statement brought was to you by someone that set up nextcloud and had no clue what DB it was using.

  • source
  • [–] 8 points 1 year ago (4 children)

    I don't even know myself because I installed it via YunoHost

  • source
  • hideshow 4 child comments
  • [–] 3 points 1 year ago (3 children)
  • [–] 4 points 1 year ago (2 children)

    A Freedombox user in the wild!! I've been following the project since 2011 but I never thought it really achieved its potential. How do you use yours, and how do you find it?

  • source
  • parent
  • hideshow 2 child comments
  • [–] 15 points 1 year ago (3 children)

    Honestly, does it matter to a regular user?
    There will be some that do matter, if I were to run NC I would use Lite because why throw the data to another process just to write it to a disk when I only have a single node.

  • source
  • hideshow 3 child comments
  • [–] 3 points 1 year ago (2 children)

    Well it does depend on your exact use case, but using a proper database is usually the better option for production. Now if this is just some little service you made for yourself use whatever you want.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 11 points 1 year ago (1 child)

    SQLite is a proper database. Realistically you’ll never exhaust its 278tb storage limits, it’s thoroughly battle tested, and it’s dead easy to backup.

    I doubt nextcloud is running enough parallel db writes for this to actually matter — and if it is WAL mode is still probably good enough.

    Once you have multiple software clients running then you will need a client server dbms like Postgres. For most home or group installations, this should not be an issue.

  • source
  • parent
  • hideshow 1 child comment
  • load more comments (1 reply)
  • [–] 14 points 1 year ago

    Since Nextcloud stores your actually data on the disk, it doesn’t actually matter all that much tbh

  • source
  • [–] 7 points 1 year ago

    It's awesome that you don't have to remember what software you're using underneath. I looked into it before I installed it, but I'd have to check which one I went with. I also have no idea what graphics card I'm using, which headset I'm using, what brand of eyeglass cleaner I'm using etc. I looked into it at the time, made a choice and promptly forgot about why and filled my brain with other things.

    If I remembered which database I was running it means that I'd have enough problems with it that I'd look at it a lot.

  • source
  • [–] 7 points 1 year ago (2 children)
  • [–] 7 points 1 year ago*

    Yes that's me. I have no idea what my Nextcloud uses

  • source
  • [–] 7 points 1 year ago* (3 children)

    Who cares.
    I'm only on MariaDB because I have brain worms, I have so little data on there SQLite would have been fine. 🪱 🪱 🪱

  • source
  • hideshow 3 child comments
  • [–] 5 points 1 year ago

    Exactly. Who gives a shit?

    I mean… I could recite the exact setup of mine in detail, but I’d probably be happier if my brain matter was dedicated to something else. Do not shame the ignorant. Envy them.

  • source
  • parent
  • [–] 6 points 1 year ago

    I can think of few things more boring than databases. I just want my files synced and stored.

  • source
  • [–] 6 points 1 year ago

    That's because they push the all in one container.

  • source
  • [–] 10 points 1 year ago (1 child)

    And 46% have no idea what a database is.

  • source
  • hideshow 1 child comment
  • People don't care and/or haven't looked at the serverinfo page. That actually mentions the type of database in use.

    So the "I don't know" option was probably just the easiest.

  • source
  • [–] 5 points 1 year ago

    I don’t think it matters

    You could deploy a container and not know what DB is used

  • source
  • [–] 5 points 1 year ago (2 children)

    TIL that NextCloud can use an external database.

  • source
  • hideshow 2 child comments
  • [–] 5 points 1 year ago

    Are people here trying to "I run arch btw" database services.

  • source
  • [–] 5 points 1 year ago (1 child)

    I did know when I set it up, but I can't remember right now. I can easily go check though.

  • source
  • hideshow 1 child comment
  • [–] 9 points 1 year ago (2 children)

    I’ve made a choice a while ago while deploying Nextcloud. Now I don’t care, as I trust myself that I have opted for something reasonable which was hopefully not SQLite

  • source
  • hideshow 2 child comments
  • [–] 4 points 1 year ago

    That’s how I’d answer if I set something up years ago and it was stable and never required me to come tinker with it.

  • source
  • [–] 4 points 1 year ago (1 child)

    You can install NextCloud with snap.

  • source
  • hideshow 1 child comment
  • [–] 3 points 1 year ago

    Yeah, and after having dealt with the "I missed a few updates and then the last one put my files out of sync with my schema" Docker issues, I'm very much happy to use the snap. Been on that a couple years and it's been quite solid, even if I did have to install snapd on my Debian base for it

  • source
  • parent
  • [–] 4 points 1 year ago

    Should've specifically asked the operators/hosters if they need a better answer. But this has more engagement so

  • source
  • [–] 4 points 1 year ago

    I set up everything I use "bare metal" or at least in an lxc container I directly build and maintain, but most people don't. Makes a lot of sense, to be honest. A lot of prepackaged software uses databases and nobody has to care exactly what it's up to.

  • source
  • [–] 4 points 1 year ago

    I think that's really beautiful.

  • source
  • load more comments
    view more: next ›