2010-06-08 7 views
1

Я уже несколько лет застрял в мире MsSql/MySql, и я решил немного расправить свои крылья. На данный момент я изучаю, какая СУБД хорошо разбирается в вещах, необходимых для архивирования данных. Например. много писем и низких чтений.Что такое хорошая СУБД для архивации?

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

У кого-нибудь есть предложения? Или даже любые указатели на то, где есть некоторые ориентиры и т. Д. Для такого рода вещей.

Спасибо :) Томас


редактировать

Поскольку был вопрос, я попытаюсь дать немного больше информации о том, что я имею в виду

I» m будет запускать службу на нескольких серверах, каждая из которых будет иметь свою локальную базу данных. Эти базы данных будут иметь огромное количество хитов (1/1 чтение/запись), поэтому я стараюсь держать их как можно более пустыми, чтобы сократить время запроса. Моя первоначальная оценка заключается в том, что никакая строка не будет находиться в этой базе данных дольше 30 минут. Запуск архива db на каждом из этих сервисов кажется пустой тратой ресурсов, поэтому архитектура центрального архива выглядит лучше.

Постараюсь ASCii вверх быструю сетевую архитектуру

 
    ___________ ___________ ___________ 
    | service 1 | | service 2 | | service 3 | 
    ----------- ----------- ----------- 
      |____________|_______________| 
        ____|____ 
        | Archive | 
        --------- 

Как вы знаете, MsSQL и MySQL только масштабируется по вертикали при работе с записью (не уверен, если это RDBMS вещь). Поэтому я стараюсь получить максимальную производительность из этой СУБД архива.

+0

Что не так с MsSQL/MySQL? Вы знаете их, придерживайтесь их. – skaffman

+0

Происходит ли ваше архивирование в базе данных или снаружи? –

+0

@ skaffman Поскольку я не знаю других, я не могу сказать, является ли это подходящим инструментом для работы или нет :) –

ответ

1

Если структура данных, которые вы архивируете, относительно проста, вы можете рассмотреть возможность архивирования непосредственно на плоские файлы. Хорошо писать, не так хорошо читать. В этом вопросе есть несколько дискуссий по этой теме: Are flat file databases any good?

В противном случае, я бы придерживался MySql и следил за его правильной настройкой для использования с высоким уровнем записи/с низким уровнем чтения.

0

Oracle или PostGresSQL также очень мощные СУБД. Но если вы уже знаете и использовали MySQL, зачем менять? MySQL является бесплатным, совершенным, хорошо документированным ...

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

Я бы порекомендовал вам взглянуть на eXist db и Mongo DB

Надеется, что это помогает!

+0

Mongo DB полностью не предназначен для архивирования! Его сборка для быстрого чтения и записи! Имея MongoDB, создающие индексы на ваших данных в архиве, бесполезны :) –

+0

Хе-хе на самом деле я никогда не использовал Mongo DB, но я слышал и немного читал об этом, и думал, что я упоминаю об этом ... извините, если это не связано, мое плохое! :) – Piero

1

поэтому я стараюсь держать их пустыми, как это возможно, чтобы сохранить время запроса вниз

Во-первых, скорость запросов не прямо пропорционально размеру базы данных, если вы делаете только полное сканирование таблицы. Уникальный поиск индекса пропорционален глубине индекса. С момента, когда блок корня индекса разбивается на следующий раз, когда он разбивается, могут быть миллионы дополнительных строк. Фактически удаление строк, чтобы база данных «была как можно более пустой», на самом деле не может сделать базу данных меньшей.Пока вы не восстановите индекс, у вас могут быть очень редкие ветви и листовые блоки, делающие сканирование индекса более длительным и продолжительным.

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

В Oracle я предлагаю разбиение на разделы и удаление по удалению для фактического сохранения базы данных определенного размера.

Но я сказал все это, чтобы побудить вас распространять свои крылья в использование базы данных In для использования вашего сервера, вместо того, чтобы сосредоточиться на использовании вашего архива. В этом случае вы ничего не сказали, что заставляет меня думать, что RDBMS не лучшее решение для архивирования.

Смежные вопросы