db4o - разделение данных - PullRequest
0 голосов
/ 18 мая 2011

Можно ли разделить данные в db4o?

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

Есть ли способ сделать это вне db4o, если он не поддерживается?

Спасибо,

Walter

Ответы [ 3 ]

1 голос
/ 18 мая 2011

Это не поддерживается в ядре db4o, но вы можете использовать db4o dRS для синхронизации объектов между экземплярами db4o (вы можете использовать dRS для переноса вашего объекта в «старое» хранилище)

http://developer.db4o.com/Solutions/ReplicationServices.aspx

Лучший!

Немецкий

1 голос
/ 18 мая 2011

Не могли бы вы просто использовать более одной базы данных DB4O (у вас есть отдельные файлы базы данных) для этого?

0 голосов
/ 19 мая 2011

Ну, это не простая задача, и сейчас нет готового решения.

Я думаю, есть разные подходы:

  • Как вы и Герман уже обсуждали: вы можете использовать DRS для репликации всего во вторую базу данных db4o. А затем позже удалите оригинал из базы данных master. DRS не реплицирует удаления по умолчанию, так что должно работать.
  • Может быть, вы могли бы сериализовать старые данные в другое хранилище данных. Затем вы добавляете специальный тип, который обрабатывается специальным typetranslator . Этот тип представляет собой «шлюз» для сериализованных архивных данных. Когда вы загружаете этот тип, транслятор загружает сериализованные данные из альтернативного хранилища данных.

Все эти решения страдают некоторыми трудностями. Они вводят границы, которые вы должны пересечь. Это делает решение намного сложнее = (

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

...