[kdepim-users] Re: Akonadi + nfs home directories
Ingo Klöcker
kloecker at kde.org
Sun Apr 3 10:37:12 BST 2011
On Sunday 03 April 2011, Martin (KDE) wrote:
> Am Samstag, 2. April 2011 schrieb Kevin Krammer:
> > On Friday, 2011-04-01, Martin (KDE) wrote:
> > > Am Freitag, 1. April 2011 schrieb Kevin Krammer:
> > > > I don't think Akonadi uses this right now for file bases
> > > > caches, but that should probably be investigated.
> > >
> > > until 4.5.5 akonadi uses .local/share/akonadi for the database.
> >
> > Up until 1.5.1 :)
> > (which is the most recent release AFAIK)
>
> Yeah, true. Sometimes I get confused with all the different numbers.
>
> > And I was not talking about the database per se. Akonadi basically
> > has a size limit up to which it puts cache data into the database
> > as well, utilizing cache files for anything above that.
> >
> > Assuming the desire to have cache data separate, one could
> > configure this limit to be very small, probably zero.
> > Thus the database will then only contain state and relational data.
> >
> > One kind of cached data might still be better be in a data
> > location, i.e. data not yet uploaded to the actual backend (e.g.
> > server).
>
> I am not sure that this should be an online database like mysql.
> Mysql is not supposed to run on NFS file systems. For non plain
> cache data a xml file may be an idea. this file (or files) can be
> stored in the home directory.
The problem is not mysql. The problems are concurrent file system access
and change notification. It's irrelevant whether you store the
information via a database or directly in files (replicating the complex
functionality databases already provide).
In fact those problems are precisely some of the reasons why we came up
with Akonadi. Akonadi (with its database backend) serves as single point
of access for everybody who is interested in PIM data. Since the Akonadi
server is a single process concurrent file system access is a non-issue.
Also Akonadi server notifies interested parties about changes.
One of the main design decisions for Akonadi was that it serves only one
user on one computer. We explicitly excluded problems caused by multi-
user and multi-computer support to keep the task manageable. It still
took more than 5 years.
> At the end there are the configured sources. These data (at least
> partly) are cached in the database which is located somewhere in
> /var/tmp. All the additional data someone adds to pim sources that
> can not be stored in the pim source itself may be stored in a file
> (or offline database) and synced every now and then.
>
> AFAIK all modern enterprise network file systems out there supports
> file locking.
When I last looked into NFS it still had severe problems with file
locking. Anyway, file locking is the poor man's solution for the problem
of concurrent file system access and it doesn't solve the much more
important problem of change notification. All you know is that something
has changed. To find out what has changed you have to re-read the whole
file and compare it to the information you have in memory. That's
exactly what we did before Akonadi and it was a major pain in the ass.
But all of this is mostly irrelevant. I think we all agree that the
solution for the problems with NFS is to avoid the usage of NFS by
storing Akonadi's cache not in the user's home directory but in /var/tmp
(or /var/cache ?).
Regards,
Ingo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kdepim-users/attachments/20110403/ee829e35/attachment.sig>
-------------- next part --------------
_______________________________________________
KDE PIM users mailing list
Subscription management: https://mail.kde.org/mailman/listinfo/kdepim-users
More information about the kdepim-users
mailing list