Существует ли база данных SQL в памяти, поддерживающая репликацию/кластеризацию?

Бесплатный и стабильный — победитель.

Мой план достаточно тривиален — просто поместить все данные в память и пользоваться кластером, не меняя код приложения. Затем, для устойчивости, я мог бы просто сбрасывать данные с узлов в обычную базу данных с доступом к диску.

Единственное, поскольку я требую хранения в памяти, нет возможности полной репликации данных. Я хотел бы скопировать только схему БД, и эта БД в памяти последовательно управляет всеми соединениями для меня.

заранее спасибо!

ОБНОВЛЕНИЕ: я нашел продукт с открытым исходным кодом, который, вероятно, соответствует моим требованиям, это VoltDB.


person Bubba88    schedule 23.10.2010    source источник


Ответы (6)


Из интереса, какая-то конкретная причина, по которой вам «требуется» хранилище в памяти и вы не можете просто использовать обычный сервер БД?

person Rory    schedule 23.10.2010
comment
Такой причиной может быть то, что я намереваюсь развернуть интранет (без приличного центра обработки данных), но это не так. На самом деле, я знаю, что есть красивые вещи, такие как 'apache CouchDB', которые работают очень быстро; так это направление, которое вы бы указали мне? - person Bubba88; 23.10.2010
comment
Я бы посоветовал вам переосмыслить и использовать стандартный сервер БД, если только у вас нет особых требований, которые означают, что вам нужна БД в памяти. Судя по вашему вопросу, вы ищете решение проблемы (например, производительность) и предполагаете, что БД в памяти является этим решением, не описывая проблему. Есть хорошие базы данных в памяти, но если они вам действительно не нужны, вам, вероятно, лучше использовать более стандартное решение. - person Rory; 23.10.2010
comment
Это просто комментарий/вопрос, а не ответ. - person abbas; 21.07.2019
comment
@abbas - вы слышали о методе Сократа? ;) - person Rory; 21.07.2019
comment
Позвольте мне ответить от его имени :) Я буду использовать базу данных в памяти, когда мне нужно выполнить более 7000 операций вставки/обновления данных. Ни одна бесплатная и нормальная база данных не выдерживает такой нагрузки. Принимая во внимание, что база данных в памяти может выдержать такую ​​​​большую нагрузку. - person abbas; 21.07.2019

База данных H2 также поддерживает некоторую кластеризацию.

person Amir Pashazadeh    schedule 28.12.2011

Как насчет оракула, умноженного на десять http://www.oracle.com/technetwork/database/timesten/overview/index.html Или, может быть, berkeley DB

person Joe    schedule 23.10.2010
comment
Спасибо, я проверю Berkeley DB - person Bubba88; 23.10.2010
comment
Berkeley DB - это «ключ-значение» :) Я искал реляционную БД с интерфейсом SQL. - person Bubba88; 23.10.2010
comment
Вы можете посмотреть это — yoshinorimatsunobu.blogspot. com/2010/10/ для идей. - person Joe; 25.10.2010

Ваш вопрос мне неясен. Вы можете посмотреть Timesten (теперь принадлежит ORACLE), он основан на SHMDB и предоставляет интерфейс SQL.

Кластер MySQL также является своего рода БД в памяти, поскольку при фиксации это означает, что данные находятся в памяти двух узлов, а не записываются на диск. Но, конечно, кластер MySQL будет записывать все данные на диск асинхронно, чтобы иметь возможность резервного копирования и восстановления данных после сбоя.

person Benoit Thiery    schedule 23.10.2010
comment
Спасибо за «Timesten», но я не могу найти, доступен ли он бесплатно :) - person Bubba88; 23.10.2010

Этот продукт также может работать как кластер в памяти: http://terracotta.org.

Он также поставляется с адаптером для java Quartz Scheduler, если вы хотите обрабатывать некоторые задания.

person Tobi    schedule 19.02.2014

  • MEMSQL, его проводная совместимость (или замена) с MySQL.

  • H2 также является хорошим кандидатом на участие в этом соревновании. См. здесь
    сравнения с другими базами данных.

person Piyush Katariya    schedule 22.08.2017