Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CNID backend using modern database tech #1177

Open
rdmark opened this issue Jun 30, 2024 · 3 comments · May be fixed by #1570
Open

CNID backend using modern database tech #1177

rdmark opened this issue Jun 30, 2024 · 3 comments · May be fixed by #1570
Assignees
Milestone

Comments

@rdmark
Copy link
Member

rdmark commented Jun 30, 2024

This is a feature wishlist item about creating a new CNID backend that uses a modern light-weight database.

Our primary backend, dbd (database daemon), relies on BerkeleyDB which is by most measures abandoned software.

  • Oracle isn't actively developing the commercial fork, final version 18.1 (2020 patch for 2018 release)
  • The FLOSS fork hasn't had updates in 12 years
  • This means that security bugs or incompatibilities with modern toolchains may appear at any time

All in all, staying with BDB isn't future proof.

We have the mysql backend, but it relies on a separately managed database instance to use. What we need is something that can be spun up on demand, be fast and highly reliable.

Sqlite has been brought up in the past as a potentially strong contender.

@rdmark
Copy link
Member Author

rdmark commented Jun 30, 2024

As a side note, I learned today that Bloomberg actively maintains a BerkeleyDB fork as the key store backend bundled with their in-house SQL database called comdb2. But it doesn't look like it can be built as a separate package without modification.

@rdmark
Copy link
Member Author

rdmark commented Jul 8, 2024

@rdmark rdmark linked a pull request Sep 30, 2024 that will close this issue
@rdmark rdmark added this to the release-4.1 milestone Oct 1, 2024
rdmark pushed a commit that referenced this issue Nov 12, 2024
Based on the Netatalk MySQL CNID backend by Ralph Boehme.
Adapted for SQLite by Christopher Kobayashi.
Ported to Netatalk 3 by dgsga.
Touched up for Netatalk 4 by Daniel Markstedt.
rdmark pushed a commit that referenced this issue Nov 12, 2024
Based on the Netatalk MySQL CNID backend by Ralph Boehme.
Adapted for SQLite by Christopher Kobayashi.
Ported to Netatalk 3 by dgsga.
Touched up for Netatalk 4 by Daniel Markstedt.
rdmark pushed a commit that referenced this issue Nov 12, 2024
Based on the Netatalk MySQL CNID backend by Ralph Boehme.
Adapted for SQLite by Christopher Kobayashi.
Ported to Netatalk 3 by dgsga.
Touched up for Netatalk 4 by Daniel Markstedt.
rdmark pushed a commit that referenced this issue Nov 14, 2024
Based on the Netatalk MySQL CNID backend by Ralph Boehme.
Adapted for SQLite by Christopher Kobayashi.
Ported to Netatalk 3 by dgsga.
Touched up for Netatalk 4 by Daniel Markstedt.
@rdmark rdmark self-assigned this Nov 14, 2024
rdmark pushed a commit that referenced this issue Nov 17, 2024
Based on the Netatalk MySQL CNID backend by Ralph Boehme.
Adapted for SQLite by Christopher Kobayashi.
Ported to Netatalk 3 by dgsga.
Touched up for Netatalk 4 by Daniel Markstedt.
@rdmark
Copy link
Member Author

rdmark commented Nov 23, 2024

Two data points regarding obsolescence:

While it is still available in both stable releases, there's a risk of removal in any future release version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant