Bug 15720 - Neues Storage-Backend für UCR
Neues Storage-Backend für UCR
Status: RESOLVED WONTFIX
Product: UCS
Classification: Unclassified
Component: UCR
UCS 4.2
Other Linux
: P3 enhancement with 11 votes (vote)
: ---
Assigned To: UCS maintainers
:
: 15723 (view as bug list)
Depends on:
Blocks: 43819
  Show dependency treegraph
 
Reported: 2009-09-24 14:01 CEST by Janek Walkenhorst
Modified: 2020-07-03 20:53 CEST (History)
5 users (show)

See Also:
What kind of report is it?: Development Internal
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Janek Walkenhorst univentionstaff 2009-09-24 14:01:52 CEST
Wenn die UCR eine Datenbank wie die Berkeley DB oder SQLite anstatt einer einfach Textdatei verwenden würde, würden sich viele Probleme nicht ergeben:
Fehlende/Falsche fsync-Aufrufe: Bug #14207
Inkonsistenzen bei simultanen Zugriffen: Bug #15518
Einschränkung der möglichen Zeichen für Schlüssel oder Werte: Bug #15561

Die BDB bietet sich hier wohl an, da es auch nur Schlüssel/Wert-Paare speichert.

Dies hat eventuell den Nachteil, dass grep auf die base.conf nicht mehr möglich ist, aber da das nicht konsistent ist, kann man es durch "ucr dump" und "ucr search" ersetzen.

Eventuell kann das gleich mit einem Daemon implementiert werden, der dann wie in Bug #9339 beschrieben verschiedene Zugriffsrechte unterstützt.
Comment 1 Daniel Tröder univentionstaff 2017-05-02 11:44:01 CEST
*** Bug 15723 has been marked as a duplicate of this bug. ***
Comment 2 Stefan Gohmann univentionstaff 2017-06-16 20:37:10 CEST
This issue has been filed against UCS 3. UCS 3 is out of the normal maintenance and many UCS components have vastly changed in UCS 4.

If this issue is still valid, please change the version to a newer UCS version otherwise this issue will be automatically closed in the next weeks.
Comment 3 Daniel Tröder univentionstaff 2017-06-19 08:15:55 CEST
Still valid in UCS 4.2. There is WIP on this.
Comment 4 Florian Best univentionstaff 2019-08-07 12:08:48 CEST
From Daniel:
> Dafür kommen zB in Frage: LevelDB, RocksDB, SQLite, LMDB, unQLite.
> Es gibt schöne Python-libs die deren Verwendung komfortabel und sicher
> machen. Mein aktueller Favorit ist "python-diskcache", was auf SQLite
> aufsetzt.

Answer from Arvid:
> Da bin ich bei Dir. Meine Präferenz wäre py-lmdb, auch weil ich aktuell nicht sehe, wofür wir SQL auf dieser niedrigen Ebene benötigen.
Comment 5 Daniel Tröder univentionstaff 2019-08-07 12:16:32 CEST
"diskcache" abstrahiert vom SQL und bietet ein memcache-artiges
Interface (dict-Interface) in der "Cache" Klasse.
Dazu kommen Klassen "Deque" (deque-Interface) und "Index" (auch dict-Interface).
SQL kommt nicht vor. "aufsetzen" meint hier "backend".

Das Interface von py-lmdb ist offensichtlich ein C-wrapper, das von diskcache ist
schön pythonic.
Comment 6 Ingo Steuwer univentionstaff 2020-07-03 20:53:31 CEST
This issue has been filed against UCS 4.2.

UCS 4.2 is out of maintenance and many UCS components have changed in later releases. Thus, this issue is now being closed.

If this issue still occurs in newer UCS versions, please use "Clone this bug" or reopen it and update the UCS version. In this case please provide detailed information on how this issue is affecting you.