Существуют ли базы данных, основанные на долговечности, а не на постоянном хранилище? - PullRequest
1 голос
/ 26 июля 2010

Извините, что название не совсем очевидно, но я не могу сказать это лучше.

В настоящее время мы используем обычную БД (оракул) в качестве нашей очереди заданий, и эти «задания» используются некоторым количеством узлов (машин).Таким образом, сервер БД поражается этими узлами, и нам приходится много платить за программное и аппаратное обеспечение для этого сервера базы данных.

На днях мне пришло в голову, что

1) В системе уже есть несколько узлов
2) «Задания» не могут быть потеряны из-за сбоев узлов,но нет никакой причины, по которой они должны находиться во дополнительном хранилище (нет причин, по которым они не могли бы находиться в памяти, пока они не потеряны)

Учитывая это, нельзяне следует ли хранить эти задания в памяти, следя за тем, чтобы по крайней мере n копий этого задания присутствовало во всем кластере, тем самым избавляясь от сервера БД?

Доступны ли такие технологии?

Ответы [ 3 ]

1 голос
/ 21 января 2011

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

1 голос
/ 12 августа 2013

Если вы рассматриваете возможность хранения до нескольких терабайт данных и ищете избыточность в сравнении с возможностью восстановления диска, посмотрите на Oracle Coherence.Например:

  • Эластичный.Просто добавьте узлы.Автоматическое обнаружение.Автоматическое распределение нагрузки.Нет потери данных.Нет перерыва.Каждый раз, когда вы добавляете узел, вы получаете больше емкости данных и большую пропускную способность.
  • Используйте как оперативную память, так и флэш-память.Прозрачное.Легко обрабатывает 10 или даже 100 гигабайт на узел Coherence (например, до ТБ или более на физический сервер).
  • Автоматическая высокая доступность (HA).Убить процесс, без потери данных.Убейте сервер, без потери данных.
  • Постоянная доступность ЦОД.Убейте центр обработки данных, без потери данных.

Ради полного раскрытия я работаю в Oracle.Мнения и взгляды, выраженные в этом посте, являются моими собственными и не обязательно отражают мнения или взгляды моего работодателя.

0 голосов
/ 21 января 2011

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

Если вы хранитев памяти вам, скорее всего, не хватит места и вам потребуется горизонтальное разбиение (sharding), и вы можете захотеть проверить что-то вроде VoltDB , если вы хотите придерживаться SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...