-1

So I had an interesting talk today with some coworkers regarding spitballing ideas for some infrastructure we are building. The topic of concern is the aspect of using LDAP as a generic data store. My coworker insists that this is a good idea. I’m familiar with the concept of LDAP for auth purposes, but the aspect of using it as a general data store for users in addition to accounts, services, billing data, machine inventory; and all sorts of things that a company involved with selling cloud servers/services would need to store. I can’t seem to find any real world instances of this sort of use case. I will admit that much of the data would be hierarchical, but not necessarily all. Is this a good idea™️? Looking for some answers from people in the know, not people telling me that ldap is used for user data - I know that. As a seasoned MySQL user, this seems crazy to me, but I’m an open minded person. I’m looking for some honest and thoughtful answers. Should we consider using this for storing all sorts of data, should we only use it for storing user credentials for logins to our systems, or should we use a mainstream database for both things (obviously with hashed/salted passwords, although we may want to lean on hashicorp vault for that purpose)? Thank you!

4
  • Have you seen this?
    – mustaccio
    Jan 4 at 12:47
  • 1
    Agreed with the link mustachio posted. LDAP was not designed to be a database system for business data and therefore you would be using the wrong tool for the wrong job. It's as practical of using as a database system is as much as using chopsticks to eat slices of pizza is.
    – J.D.
    Jan 4 at 13:06
  • 1
  • 2
    @Charlieface lol I knew my analogy was liable to getting poked at, but I still stand by it's inefficient, despite how uniquely cool Japan is sometimes lol.
    – J.D.
    Jan 4 at 15:00
0

AFAIK

LDAP can be used as an interface to a classic relational database.

In those cases, the LDAP Server is just the middle-man between an LDAP CRUD operation request and a RDBMS.

Billing

Most likely, proper Billing needs the ability to perform ACID Compliant Transactions. LDAP would probably not be the best choice.

Alternative

Build a REST interfaces to the RDBMS.

warning

  1. DBA Commandment number 1: thou shall not lose data
    • ensure you can recover your data
  2. Benchmark the max performance of your solution
    • especially number of concurrent users
    • you might need to use something that can support IoT level of INSERTs.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.