3

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

Redis выглядит довольно круто (только начал читать, хотя об этом знать). Но в первую очередь я видел только реляционные базы данных и думаю о данных в терминах кортежей и отношений (я думаю, что это я могу узнать со временем).

Я сейчас следующие вопросы:

  1. Могу ли я использовать только Redis для хранения данных?
    • Причина, по которой я прошу, состоит в том, что каждая статья, которую я видел, использует Redis/memcached как промежуточный уровень для кэширования.
    • Могу ли я просто полагаться на redis, чтобы сохранить мои данные?
  2. Где разместить/завести базу данных redis?
    • Поскольку Redis - это база данных в памяти, его требование к хосту определенно будет отличаться от приложений, требующих большей обработки. Хосты, у которых больше ОЗУ, определенно будут лучше здесь.
    • Итак, где люди обычно размещают свою базу данных?
    • Elasticcaching от AWS, это может быть использовано для размещения Redis (в качестве основной базы данных, а не только кэширование слоя)
  3. Есть ресурсы?
    • Я всегда спрашиваю об этом, я нашел много хороших документов в Интернете, но с самого начала ничего хорошего не начать. Пожалуйста, поделитесь любым хорошим ресурсом, если вы знаете.
+2

[Веб-сайт Redis] (http://redis.io/), как правило, является лучшим местом для документации Redis. Большая часть этого написана парнем, который родился Редисом (Сальваторе Санфилиппо, также известным как Антирез), и он документирует его очень четко и беспристрастно, с минимальной маркетинговой бессмыслицей. На сайте есть [список документов] (http://redis.io/documentation) и, в частности, использование Redis в качестве единственного хранилища данных, посмотрите http://redis.io/topics/persistence и http : //oldblog.antirez.com/post/redis-persistence-demystified.html –

+2

Добавление к @ PaulD.Waite - посмотрите также сообщение Мута: https://muut.com/blog/technology/redis-as-primary- datastore-wtf.html –

+0

@ItamarHaber: это достойное исследование. –

ответ

4

Могу ли я использовать только Redis для хранения данных?

Это зависит от ваших требований, но с 150 + доступной базой данных NoSQL, я подозреваю, что redis - это не единственный вариант.

Причина, по которой я прошу, состоит в том, что каждая статья, которую я видел, использует Redis/memcached как промежуточный уровень для кеширования.

Это быстрее, чем JDBC, но вам нужно, чтобы оно было быстрее?

Могу ли я просто полагаться на redis, чтобы сохранить мои данные?

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

Где разместить/запустить базу данных redis?

Где угодно.

Поскольку Redis - это база данных в памяти, его требование к хосту определенно будет отличаться от приложений, требующих большей обработки. Хосты, у которых больше ОЗУ, определенно будут лучше здесь.

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

Итак, где люди обычно размещают свою базу данных?

На нескольких серверах для обеспечения избыточности они могут использоваться совместно с приложениями.

Elasticcaching от AWS, может ли это использоваться для размещения redis (как первичной базы данных, а не только слоя кеширования) Любые ресурсы?

Я бы спросил их.

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

Нет ни одного ресурса, как нет ответа. Если бы было, было бы 150 баз данных NoSQL.

Отказ от ответственности: У меня есть еще одно хранилище ключей ключей NoSQL, которое сохраняется, а также в памяти и значительно быстрее (если вам нужно, что-то подобное). Также проще использовать/развернуть. https://github.com/OpenHFT/Chronicle-Map

+0

Спасибо @peter, ваш ответ отвечает на многие мои вопросы. –

+0

Последнее, в настоящее время я создаю свое приложение с использованием jdbc в качестве первичной базы данных и подключаюсь к redis, если сталкиваются с проблемами производительности. Считаете ли вы его правильный подход? –

+0

@HarshitSyal Это хороший подход. Начните с простейшего решения и оптимизируйте его на основе конкретных требований и мер. Часто вы можете догадаться, что может быть узким местом позже, но часто это оказывается пятым или десятым узким местом, и больше времени на поиск и работу над верхней будет иметь большее значение. –