ElasticSearch, хранилище данных для пользовательских и социальных данных? - PullRequest
5 голосов
/ 19 ноября 2011

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

Было бы также полезно хранить мои пользовательские данные и социальные отношения в движке ElasticSearch?Или я должен хранить это в отдельной базе данных?

1 Ответ

3 голосов
/ 21 ноября 2011

Я бы сказал: сохраните всю эту информацию в ElasticSearch ТОЛЬКО , если вы можете каким-либо образом защитить базу данных.AFAIK, ES не поддерживает какой-либо метод защиты приложения с помощью аутентификации, ключей и т. Д. Поэтому, если вы не можете защитить эти данные, вы, конечно же, не хотите помещать туда какие-либо данные для входа в систему.

В моем приложении я заблокировал доступ через порт к своему экземпляру ES только для localhost.Затем я создал сервисный слой поверх ES в node.js .Вся моя аутентификация обрабатывается до того, как я попадаю на уровень данных.

Одна вещь в ES заключается в том, что больше данных не обязательно замедляет запросы , если вы не проиндексировали все этоданные или запросы против него.Если вам просто нужно получить эти данные, вы всегда можете получить документ «_source».Убедитесь, что у вас есть место на диске для обработки ваших данных, но, кроме этого, я бы сказал, сохраните все это - и будьте стратегическими в том, что вы индексируете и как.

...