▲ | Aeolun 4 days ago | |
> For example, I didn't understand why Active Directory uses search dialog boxes for every "picker" GUI control instead of a simpler drop-down or something similar... until I worked in an environment with 2 million objects in the directory. And that’s when you realize that searching in AD is actually dog slow, and you are better off just syncing the whole thing to a proper database, then checking if the object still exists after. Seriously, why does a search that takes 1ms in postgres take 3 full seconds in AD? | ||
▲ | jiggawatts 4 days ago | parent | next [-] | |
It's a very simple database engine, effectively the same as Microsoft Access but 64-bit and server hosted. The internal data representation is also sub-optimal because it uses a triplestore (key-column-value) to support LDAP schema changes without having to apply matching SQL schema changes. I don't believe it has any sort of full-text indexing capability either, it just uses ordinary sorted indexes. Hence, some search types are effectively table scans. | ||
▲ | Muromec 4 days ago | parent | prev [-] | |
>Seriously, why does a search that takes 1ms in postgres take 3 full seconds in AD? Because when specialization occurs, every specialized component (including people) is selected against performance and other non-essential metrics. |