Re: Re: Hardware configuration

От: Michael Kulakov <CGatePro_at_mx_ru>
Дата: Wed 12 Nov 2003 - 13:01:21 MSK

Здравствуйте!

On Wed, Nov 12, 2003 at 01:34:41AM -0800, Vladimir A. Butenko wrote:

> >> Я не имею понятия о какой "конкретно" системе шла речь. 4000 доменов в
> >> секунду вы не прочтете, простите, ни на чем, потому что какая бы ни была
> >> файловая система, у Вас просто ОС не сможет выдать 40,000 файл-операций
> >в > секунду. Или может?
> >
> >А зачем ? :) Нормальная база данных :) хранит данные блоками и читает -
> >тоже блоками, а не оперирует мелкими файлами на файловой системе. Если
> >сделать нормальное хранение, то описанная проблема кол-ва операций в
> >секунду, которая даст операционка - отпадает полностью, думаю, в пределе
> >можно обойтись одним read() :)
> >
> >С моей точки зрения - надо говорить именно о такой "оптимизации"
> >"алгоритмов".

> 
> Угу. Зато потом, когда начинается реальная работа, "нормальная база данных" 
> (типа Оракла) просто тихо умирает, не успев даже передать поздравление г-ну 
> Эллисону с приобретением тех денег, которые Вы заплатили за "базу данных" 
> нужную для хотя бы средненького провайдера.

Тихо оно не падает. Тут другие проблемы и чаще все с излишней интеллектуальностью. Такого, что бы база совсем никак не работала по собственным проблемам - я видел ровно один раз, да и то - решили ( битые rollback segments )

> Лучшее, что можно сделать с базами данных, это взять вместо настоящей базы 
> игрушку типа mySQL (где нет ни транзакций, ничего) - и получить почти 
> чистый ввод-вывод на файловой системе. Ну а в CGatePro - он чистый. То есть 
> даже mySQL проиграет.

Хм.

SQL> select fullname from zones;

FULLNAME



....

пятизначноечисло rows selected.

Elapsed: 00:00:04.63

И большинство времени - было затрачено на отображение результата в sqlplus ( oracle ).

Читает оно вполне быстро. Если cgp на пятизначноечисло доменов будет подниматься 5 сек, думаю, что все будут довольны :) Не только же mailboxes парсить со скоростью чтения с дисков :)))

Поэтому соображения об базах данных как о чем-то медленном etc - не верно, особенно, если сравнимать с "базой данной file per record on file system".

Для того, чтобы быстро работать - потребуется какой-то другой, более "плоский" механизм хранения.

> Другое дело, что не рассчитано оно было на 100,000 доменов изначально. 
> Потом стало рассчитано - но во время работы. А во время старта - надо 
> прочитать 10 файлов на домен. Что плохо. Зато очень хорошо, когда они уже 
> прочитаны, и надо с ними работать - много эффективнее, чем любая "база 
> данных".

1) А причем тут "в процессе работы" ? Никто не мешает из той же базы на старте поднять все, что надо и далее в нее на select уже не лазить - не будем передергивать :)

2) Текущая жизнь cgp, когда для изменения одного attribute какого-либо объекта - на диске overwrite ВЕСЬ файл объекта - тоже ничего хорошего, так как повышает требования к скорости io на пустом месте.

Понятно, что текущий метод хранения данных об объектах ( meta ) в cgp - прост, расширяем и нагляден, но все хорошо не бывает - зато он тормозной на сколько-нибудь больших объемах.

> Осталось сделать "быстрый старт", что не так сложно технически, но хочется > при этом не упасть с скорости до Оракла и не упасть в надежности до mySQL.

Индексы ? :)

С уважением,
  Михаил Кулаков Получено Wed Nov 12 10:01:25 2003

Этот архив был сгенерирован hypermail 2.1.8 : Fri 24 Apr 2015 - 16:12:52 MSK