From: Duncan <1i5t5.duncan@cox.net>
To: linux-btrfs@vger.kernel.org
Subject: Re: BTRFS and databases
Date: Wed, 1 Aug 2018 08:48:31 +0000 (UTC) [thread overview]
Message-ID: <pan$53fe4$7e22d563$460317d1$60bf94e5@cox.net> (raw)
In-Reply-To: CAE8gLhm96B1xxoMv=sYuaNeLYRDP3YUw2qsKumpjLm+jJVjfQQ@mail.gmail.com
MegaBrutal posted on Wed, 01 Aug 2018 05:45:15 +0200 as excerpted:
> But there is still one question that I can't get over: if you store a
> database (e.g. MySQL), would you prefer having a BTRFS volume mounted
> with nodatacow, or would you just simply use ext4?
>
> I know that with nodatacow, I take away most of the benefits of BTRFS
> (those are actually hurting database performance – the exact CoW nature
> that is elsewhere a blessing, with databases it's a drawback). But are
> there any advantages of still sticking to BTRFS for a database albeit
> CoW is disabled, or should I just return to the old and reliable ext4
> for those applications?
Good question, on which I might expect some honest disagreement on the
answer.
Personally, I tend to hate nocow with a passion, and would thus recommend
putting databases and similar write-pattern (VM images...) files on their
own dedicated non-btrfs (ext4, etc) if at all reasonable.
But that comes from a general split partition-favoring viewpoint, where
doing another partition/lvm-volume and putting a different filesystem on
it is no big deal, as it's just one more partition/volume to manage of
(likely) several.
Some distros/companies/installations have policies strongly favoring
btrfs for its "storage pool" features, trying to keep things simple and
flexible by using just the one solution and one big btrfs and throwing
everything onto it, often using btrfs subvolumes where others would use
separate partitions/volumes with independent filesystems. For these
folks, the flexibility of being able to throw it all on one filesystem
with subvolumes overrides the down sides of having to deal with nocow and
its conditions, rules and additional risk.
And a big part of that flexibility, along with being a feature in its own
right, is btrfs built-in multi-device, without having to resort to an
additional multi-device layer such as lvm or mdraid.
So if you're using btrfs for multi-device or other features that nocow
doesn't affect, it's plausible that you'd prefer nocow on btrfs to
/having/ to do partitioning/lvm/mdraid and setup that separate non-btrfs
just for your database (or vm image) files.
But from your post you're perfectly fine with partitioning and the like
already, and won't consider it a heavy imposition to deal with a separate
non-btrfs, ext4 or whatever, and in that case, at least here, I'd
strongly recommend you do just that, avoiding the nocow that I honestly
see as a compromise best left to those that really need it because they
aren't prepared to deal with the hassle of setting up the separate
filesystem along with all that entails.
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
next prev parent reply other threads:[~2018-08-01 10:35 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-01 3:45 BTRFS and databases MegaBrutal
2018-08-01 8:48 ` Duncan [this message]
2018-08-01 8:56 ` Hugo Mills
2018-08-02 9:16 ` Martin Steigerwald
2018-08-02 10:15 ` ein
2018-08-02 10:35 ` Andrei Borzenkov
2018-08-02 10:42 ` Martin Steigerwald
2018-08-02 10:53 ` Qu Wenruo
2018-08-01 8:59 ` Mike Fleetwood
2018-08-01 11:21 ` Adam Borowski
2018-08-01 12:19 ` Austin S. Hemmelgarn
2018-08-01 14:33 ` Remi Gauvin
2018-08-02 7:07 ` Qu Wenruo
2018-08-02 12:32 ` Remi Gauvin
2018-08-02 7:02 ` Qu Wenruo
2018-08-02 10:45 ` Andrei Borzenkov
2018-08-02 10:56 ` Qu Wenruo
2018-08-02 12:27 ` Austin S. Hemmelgarn
2018-08-02 13:14 ` Martin Raiber
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='pan$53fe4$7e22d563$460317d1$60bf94e5@cox.net' \
--to=1i5t5.duncan@cox.net \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).