2015-01-23 2 views
1

У меня есть приложение с базой данных в качестве базы данных.Преимущества LDAP над РСУБД?

Приложение представляет собой своего рода модель PUB-SUB, в которой пользователи публикуют изменения в приложении и других одноранговых узлах, подписавшись на эти изменения. Эти изменения могут происходить очень часто или периодически, и все изменения должны быть записаны в базу данных.

Теперь меня просят найти возможность замены этой СУБД на LDAP. Возможно, они хотят унифицированную БД для всех приложений, но в любом случае мне нужно найти преимущество/недостатки обоих подходов.

Я не могу напрямую сравнивать СУБД a с LDAP, поскольку у меня почти нет идеи LDAP, хотя я пытался их получить.

Я понимаю, что LDAP предназначен для доступа к каталогам и оптимизирован для доступа к чтению, поэтому он пишет один раз и читает много. Я читал, что частые записи уменьшат производительность сервера LDAP, так как каждая запись приведет к запуску процесса индексирования.

Как раз для того, чтобы дать сценарий в отношении индексации в LDAP, в моей таблице будет несколько столбцов, например 2 из них. Имя и описание. Теперь в LDAP я предполагаю, что это станет двумя атрибутами как Name и Desc. В моем сценарии это Desc, который будет часто обновляться. Я предполагаю, что имя будет проиндексировано так, что даже если Desc будет часто меняться, это не вызовет процесс индексирования.

Я хочу отметить, что база данных будет размещена на какой-то облачной платформе.

Я попытался выяснить различия, но ничего окончательного я не смог узнать.

+0

Вопрос не имеет смысла. Вы также можете сравнить преимущества яблок над апельсинами. Служба RESTful предполагает HTTP и, следовательно, Интернет. Вы не должны показывать сервер LDAP в Интернете. И сервер LDAP не подходит для услуг PUB/SUB в малейшей степени. Похоже, никто не знает ничего о LDAP, но они все равно думают об использовании этого. Зачем? – EJP

+0

@EJP: «Они все равно думают об использовании. Почему?» -- Я не знаю :). LDAP-сервер не будет отображаться непосредственно в Интернете, облако - это частное облако, а приложение для внешнего интерфейса - только для взаимодействия с БД. И даже если LDAP не подходит для таких сценариев, мне нужны некоторые сильные конкретные заявления, чтобы поддержать мои слова. Я был бы признателен, если бы вы предоставили мне несколько комментариев или ресурсов, чтобы понять, почему это не подходит. – user3275095

+0

Другими словами, вы неправильно задали свой вопрос. Вы хотите * сохранить * интерфейс REST и сменить * базу данных *, предположительно, на RDBMS на LDAP, по какой-то неустановленной причине, по-видимому, ошибочно полагая, что она предложит некоторое неустановленное улучшение. Я до сих пор не вижу смысла. Я предлагаю * вы * спросите почему. Покажите «им» эту тему. Я считаю, что вы найдете недопустимое предположение, лежащее в основе всего этого. – EJP

ответ

1

LDAP - это протокол, REST - это служба, основанная на протоколе HTTP (протокол). Поэтому, когда сервер LDAP не должен подвергаться воздействию Интернета, как вы хотите получить данные от него? Поскольку протокол LDAP является протоколом, вам необходим прямой доступ к LDAP-серверу. Это похоже на сервер базы данных, который вы бы не открывали напрямую в Интернет. Вы бы создали интерфейс для инкапсуляции. и это также может быть интерфейсом REST.

Я попытался бы получить точки actos, что один из них является протоколом передачи, а бэкэнд хранилища, а ither - публичным интерфейсом к его данным. Это немного похоже на то, почему mysql лучше, чем веб-интерфейс. Вы никогда не делаете mysql-сервер общедоступным, а инкапсулируете его протокол в приложение.

REST - это интерфейс. Неважно, как вы обмениваете свои данные за этим интерфейсом. Когда вы решите, что хотите организовать его по-другому, вы можете сделать это без того, чтобы потребитель вашего API заметил какие-либо изменения. И вы можете предоставить различные версии вашего API в зависимости от улучшения вашего сервиса.

LDAP, с другой стороны, является реализацией. Вы не можете изменить способ обработки ваших данных без того, чтобы потребитель заметил это. Таким образом, нет возможности перестроить ваш бэкэнд, не затрагивая потребителя.

С помощью REST вы можете изменить бэкэнд от MySQL до PostgreSQL даже до LDAP без уведомления, которое вы не сможете с LDAP.

Надежда, что помогает

+0

Я понимаю основную разницу, как вы сказали. Но, как я уже упоминал ранее, LDAP напрямую не подвергается воздействию клиентов. Клиенты получат доступ к приложению, и приложение будет обращаться к БД с использованием LDAP или REST, чтобы клиент уже не знал об этом. У меня есть одно сомнение в том, что я читал о LDAP, говорится, что это интернет-протокол для доступа к каталогам, поэтому в моем сценарии какая разница делает база данных в облаке? – user3275095

+1

Я понял ваш квест, чтобы вас попросили заменить RESTful-интерфейс LDAP.Это имеет смысл, поскольку вы не можете заменить API бэкэнд, как я описал. Когда возникает вопрос, можете ли вы заменить BACKEND вашего API на LDAP, то есть общий вопрос, который требует более подробного просмотра, но также требует дополнительной информации. – heiglandreas

0

Теперь, когда мы, наконец, знать, что вы на самом деле просите,, который не имеет ничего общей с названием, тела вашего вопроса, или Реста, простой ответ заключается в том, что нет никаких оснований полагать, что сервер LDAP будет работать значительно лучше, чем РСУБД в этом приложении, с двумя гонщиками:

  1. это может даже не быть возможно, из-за проблемы схемы, и
  2. , если это возможно, оно не может быть семантически подходящим из-за отсутствия свойств ACID, отсутствия JOIN и других проблем, упомянутых в комментариях.

Я заявляю, что это один из худших сформулированных вопросов, которые я видел здесь в течение значительного времени, и трудность извлечения фактического вопроса была предельной.

+0

Спасибо за ответ, но то, что я задал в вопросе, - это те моменты, которые я должен в конечном счете искать. Например, сравните кеширование со стороны приложения-получателя. Здесь обсуждались все, что было правильно и неправильно, где находятся серверы и т. Д. Теперь снова здесь вы ответили, основываясь на некоторых предположениях о типе данных, и да, эти вопросы заслуживают рассмотрения, но я спросил, какой из них будет работать лучше. Просто предположим, что мне не нужны все ACID, JOINs и т. Д. Мой вопрос был в отношении множественных чтений и записей и индексирования, но грустные дебаты пошли куда-то еще. – user3275095

+0

Теперь, если бы я нашел LDAP лучшим выбором, то снова мне нужно было бы посмотреть, будет ли доступ к нему через REST лучше или напрямую с помощью LDAP. Наверное, я не должен был упоминать весь сценарий, а должен был задать два разных вопроса :). И после всей боли, которую вы пережили, я все еще никуда. Извините, что знаю LDAP. – user3275095

Смежные вопросы