|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
Уважаемые господа! Подскажите пожалуйста новичку, что выбрать бесплатное для Linux. Халява от Oracle/IBM/MS не проходит по процессорам, памяти, производительности (а использовать много экземпляров не хочется). Нужно чтобы было бесплатно, ODBC, размер базы - 100 Гб., будет исполняться на железе, где 24 процессора, 128 Гб оперативки, и крутится аналитика, а базу не хочется выносить на отдельный сервер. Максимальный приоритет для Insert-ов. кол-во Insert-ов 100 тыс. в сек., тайм-аут 15 сек., Insert-ы идут 5 дней в неделю, оставшиеся 2 дня - реорганизация индексов, обновление статистики (т.к. не получается у меня использовать кластерные индексы - иногда не успевает до тайм-аута). Средний приоритет Select. кол-во 100 в сек., тайм-аут 30 сек. Тяжёлые запросы разбиты на отдельные сессии, которые исполняются так, чтобы не создавать пиковых нагрузок. Низкий приоритет - Update, Delete. Исполняется когда низкая загруженность ресурсов. Переписать код - не составляет никаких сложностей. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2011, 18:46 |
|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
diary3размер базы - 100 Гб., ... кол-во Insert-ов 100 тыс. в сек., ... Insert-ы идут 5 дней в неделюЧто-то не сходится. Если допустить, что в среднем один Insert увеличвает БД на 100 байт, то за неделю база прирастет на 100*100000*60*60*24*5=4,3 Тбайт. Сдается мне, что этот мегапрожект не взлетит... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2011, 19:15 |
|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
И всё это через ODBC... Точно не взлетит. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2011, 19:27 |
|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
Поясняю: Максимум бывает Insert-ов 100 тыс. в сек. в определённые часы суток. При этом желательно удерживать тайм-аут 15 сек. База больше чем 100 Гб. не распухает. P.S. Всё работает очень хорошо под MS Datacenter по отдельности. Отдельный сервер - отдельная база - отдельная таблица. На прикладном уровне разруливается что куда посылать и что откуда запрашивать. Но стоит всё это немеренно, если лицензионно!!! Поэтому и возник вопрос: может уже появилась какая-либо халява, чтобы сделать "всё в одном" и без диких трат? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2011, 19:33 |
|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
diary3, из бесплатных есть смысл попробовать Postgres, там есть хоть какая-то пародия на партитионинг. но Postgres даже 8 ядер загрузить эффективно не сможет и с тяжелыми аналитическими запросами у него будет грусноватая производительность на фоне MSSQL. но если вы ему обеспечите памяти больше чем база, может и нормально справиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2011, 19:47 |
|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
Большое спасибо! Буду копать на досуге. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2011, 19:54 |
|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
diary3Всё работает очень хорошо под MS Datacenter по отдельности.Речь о Microsoft Windows Server Datacenter? Это же ОС, а не СУБД. Насколько я понимаю задачу, крутая ОС не нужна. Лишь бы СУБД была подходящая и руки у архитектора прямые. В связи с последним MySQL не советую. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2011, 20:18 |
|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
авторВсё работает очень хорошо под MS Datacenter ... Но стоит всё это немеренно, если лицензионно!!! А зачем здесь Datacenter Edition, если учитывать, что размеры бд смехотворны, а автороставшиеся 2 дня - реорганизация индексов, обновление статистики (т.к. не получается у меня использовать кластерные индексы - иногда не успевает до тайм-аута). показывет, что даже фич Enterprise не требуется. Исходя из того, что такой сервер (исходя из двух шестиядерных ксенонов с HT): авторбудет исполняться на железе, где 24 процессора, 128 Гб оперативки без дисковой системы будет стоить ближе к 20тке ихних денег, а дисковая система, которая бы обеспечила авторкол-во Insert-ов 100 тыс. в сек., тоже влетит в копеечку, стоимоть лицензий Windows Server 2008 R2 Entreprise + MS SQL 2008 R2 Standard не покажется уж и такой "немеряной". ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2011, 21:05 |
|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
miksoftРечь о Microsoft Windows Server Datacenter? Это же ОС, а не СУБД. Полагаю, речь все-таки идет о редакции MS SQL: SQL Server 2008 R2 Edition Pricing: EditionsPer Processor PricingParallel Data Warehouse$57 498Datacenter$57 498Enterprise$28 749Standard$7 499 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2011, 21:18 |
|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
pkarklinmiksoftРечь о Microsoft Windows Server Datacenter? Это же ОС, а не СУБД.Полагаю, речь все-таки идет о редакции MS SQL:Да, я был не прав. Впрочем, необходимости в SQL Server Datacenter Edition я тоже не вижу. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2011, 21:27 |
|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
Ну, если уж про MS, то: 1. Standard Edition может адресовать максимум 64 Гб. - не подходит. 2. Enterprise Edition позволяет установить только до 25 экземпляров - тут около сотни экземпляров, каждый на своём приоритете, со своей маской ProcessorAffinity. Иначе низкоприоритетные запросы иногда могут "заткнуть" высокоприоритетные. Конечно, это всё легко разносится на десяток серверов с Standart Edition, но стоимость железа + ОС + SQL - выше. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2011, 22:37 |
|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
Всмысле 100 инстансов? И в каждом по 100 ГБ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2011, 02:26 |
|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
Действительно имеются в виду Instance. Несколько "инстантов" обслуживают приём данных, с высоким приоритетом на зарезервированных только для них процессорах и "складывают" всё в сотню баз с суммарным размером в сотню Гб. Старые базы просто sp_detach_db. И дальше файлы перемещаются на backup. Остальные "инстанты" обслуживают аналитику. Соответственно приоритеты у них другие, процессоры другие и диски другие. Но это уже не так важно, т.к. это уже не realtime. Просто, что-то более приоритетно, что-то менее. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2011, 03:41 |
|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
diary3, Поставьте один инстанс Entreprise, а приорите разруливайте с помощью Resource Governor. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2011, 08:21 |
|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
Конечно не сходится >Подскажите пожалуйста новичку, что выбрать бесплатное для Linux. >на железе, где 24 процессора, 128 Гб оперативки Топикстартер украл сервер и спрашивает совета что с ним делать ? По сабжу я вижу три системы (бизнес задачи) 1 принять инсерт 2 обработать его в oltp программе 3 аналитика. Спросите ваших BA насколько согласна подсистема 2 ждать результатов подсистемы 1. Варианты ответов: 1 нисколько нужно немедленно мы торгуем в онлайне 2 пятнадцать секунд не больше 3 пять минут 4 час 5 иное значение Я к тому что СУБД (любая) очень не любит режим бомбардировки инсертами, а для приема строки СУБД не нужна (проще писать в плоский файл и по таймеру из предыдущего вопроса заливать) Аналитика тоже не требует результаты последней минуты, там таймер должен быть еще больше (опять же получаете подписанное подтверждение от BA) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2011, 09:16 |
|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
Resource Governor не используется. Т.к. аналитические приложения сначала использовали MS SQL 7.0 , потом 2000, потом 2005. Сейчас 2008. Причём, каждое приложение - свой собственный сервер для промежуточных результатов и общий датацентр для общих результатов. При этом, всё потихоньку консолидировалось и масштабировалось. Поэтому и выросла куча экземпляров. Resource Governor конечно же попробую, но не в 2008. Как то страшновато пробовать первую редакцию. Вдруг ещё его отменят... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2011, 09:50 |
|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
SERG1257, согласен, всё правильно, так делают все. Всё, что я видел, сделано именно так. Но очень хочется поизвращаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2011, 10:13 |
|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
diary3Действительно имеются в виду Instance. Несколько "инстантов" обслуживают приём данных, с высоким приоритетом на зарезервированных только для них процессорах и "складывают" всё в сотню баз с суммарным размером в сотню Гб. Старые базы просто sp_detach_db. И дальше файлы перемещаются на backup. Остальные "инстанты" обслуживают аналитику. Соответственно приоритеты у них другие, процессоры другие и диски другие. Но это уже не так важно, т.к. это уже не realtime. Просто, что-то более приоритетно, что-то менее. Общий объем 100ГБ. Инстансов 100 штук.. 100 ГБ/100 инстансов = 1 ГБ на инстанс. Вполне подходит SQL Express. Я так понимаю на каждый инстанс так же приходиться не больше 1 CPU? Сколько один инстанс использует максимально объем БД и потреблению CPU? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2011, 16:04 |
|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
Интересная арифметика... Если бутылку водки будут пить из горла трое, то никак не получится по стакану на каждого. Кто-то выпьет больше, а кто-то меньше. Притом, бывает, что первый выпивает практически всё. Но остальным ведь тоже выпить надо! Поэтому бывают недовольные. Следующий раз уже пьют из стаканов. Всем поровну. Но кому-то ещё мало, а кому-то уже много. Снова есть недовольные. Тогда решают догоняться пивом. Вроде всем хватило. Но всё равно есть недовольные, т.к. все скидывались, а не все пили. Тогда решают так: следующий раз купить бутылку водки и бочонок пива. Каждый что хочет, то и пьёт. Если что останется - на следущий раз. Если не хватит - скидываться снова. Главное взять четвёртого, чтобы развёз всех домой и наливать ему только пиво и только по 100 гр. А Вы говорите бутылка на троих = по стакану. Не так всё просто! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2011, 19:06 |
|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
diary3Интересная арифметика... Если бутылку водки будут пить из горла трое, то никак не получится по стакану на каждого. Кто-то выпьет больше, а кто-то меньше. Притом, бывает, что первый выпивает практически всё. Но остальным ведь тоже выпить надо! Поэтому бывают недовольные. Следующий раз уже пьют из стаканов. Всем поровну. Но кому-то ещё мало, а кому-то уже много. Снова есть недовольные. Тогда решают догоняться пивом. Вроде всем хватило. Но всё равно есть недовольные, т.к. все скидывались, а не все пили. Тогда решают так: следующий раз купить бутылку водки и бочонок пива. Каждый что хочет, то и пьёт. Если что останется - на следущий раз. Если не хватит - скидываться снова. Главное взять четвёртого, чтобы развёз всех домой и наливать ему только пиво и только по 100 гр. А Вы говорите бутылка на троих = по стакану. Не так всё просто! Но мы ждем, когда же разработчики столь чудной системы закончат пить и выдвинут адекватные требования к ПО. Или вы действительно не понимаете что нужно для принятия решения? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2011, 23:40 |
|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
Дело в том, что точно сказать, базу какого именно размера приложение создаст на конкретном экземпляре не представляется возможным. Можно лишь ограничивать этот конкретный экземпляр в ресурсах, чтобы его функционирование не привело к нарушению требований ко временным характеристикам системы. Больше данных - больше точность. Меньше данных - больше скорость. Баланс производительности определяется через мониторинг скорости исполнения запросов. При достижении нижнего порогового значения производительности, увеличивается ограничение на кол-во записей в запросе. При достижении верхнего порогового значения, уменьшается ограничение на кол-во записей. В нерабочее время неиспользуемые записи удаляются. (Хотя, конечно, некрасиво. Но не хочется усложнять всё сегментированием, чтобы не наделать ошибок.) Файлам баз расти не разрешается т.к. они нефрагментированы и выровнены по отношению к страйпу RAID-ов. Recovery model Simple, поэтому логи отдыхают. Все сортировки в tempdb которые на высокоскоростных массивах. У разных экземпляров разные приоритеты и разные ProcessorAffinity. Если вдруг оказывается, что какое-то аналитическое приложение нужно поднять в приоритете, то не нужно вновь пересматривать маски ProcessorAffinity или добавлять памяти чтобы случаем что-либо не напортить, а достаточно отключить базу от экземпляра и подключить к другому экземпляру. Приложения бывают почти одинаковыми и отличается вообще неизвестно чем - поэтому их базы не могут существовать в одном экземпляре (хотя всё можно переписать). Некоторые приложения создают базы по 40 Гб., некоторые по 100 Mb. Какое начнёт расти предположить нет возможности. Количество приложений меняется время от времени. Соответственно наблюдаются и "пустые" экземпляры, которые "ждут" своих приложений. Есть также несколько высокоприоритетных приложений, для которых экземпляры исполняются на выделенных процессорах. Также имеется множество приложений, которые исполняются на своих собственных серверах, и которые планируется перенести. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2011, 03:25 |
|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
Похоже главная цель приложений с точки зрения ТС - посильнее загрузить процессоры ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2011, 03:36 |
|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
Собственно, пока вижу 2 основных пути: 1. Постараться избавиться от этого множества экземпляров серверов и оставить только один MS SQL Enterprise на высоком приоритете на всех процессорах. Приоритеты распределять через Resource Governor. 2. Получать не Insert-ы а уже готовые файлы. Перенести триггеры и курсоры из баз в сами приложения на этап загрузки данных. Мигрировать на Linux. Использовать что-то бесплатное для накопления результатов. Но остаётся вопрос, что делать, если нужно "покопаться"? Загружать все данные на SQL сервер? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2011, 10:46 |
|
Lunux Free Realtime 5x24
|
|||
---|---|---|---|
#18+
Вариант 1 получается решить ещё дешевле. Достаточно 2 экземпляра Standard. Один на высоком приоритете (для входящих данных), другой на среднем (для промежуточных и исходящих). Использование ресурсов сервера мониторится из приложений. Запросы запускаются на исполнение, только когда нагрузка на ресурсы падает до определённого уровня. Сами приложения динамически меняют свои приоритеты, в зависимости от важности приложения и устаревания данных (чтобы не заснуть навсегда). Теряется примерно 0.3% производительности, но зато всё такое "отзывчивое". Всем большое спасибо, что помогли расширить кругозор! Форум - суперский. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2011, 15:14 |
|
|
start [/forum/topic.php?fid=35&msg=37266182&tid=1552681]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
4ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 152ms |
0 / 0 |