Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Может ли сервер потянуть нагрузку 100 запросов к БД mysql в секунду и 200 - к апаче?

Вопрос WEB-прогерам: может ли сервер потянуть нагрузку 100 запросов к БД mysql в секунду и 200 - к апаче? В БД mysql будет большая таблица с количеством записей до 10.000.000 и двумя текстовми полями (до 500 символов каждое). По поводу клиент сайда на пхп, то отдаваться будут легкие станицы почти без графики (до 100 кб графики и пару небольших css-ников).
Если может, то какая должна быть конфигурация сервера для этого? Возможно нужно заюзать какое-то кешировние? Но проблема том, что кешировать там собстенно и нечего (таблица БД будет все время обновляться). Никогда не писал хайлоад, теперь вот встал вопрос.
Ответ:
MegaLasta
Никогда не писал хайлоад

До хайлоада у тебя в числах не хватает двух-трёх нулей. Означенную мелочь может потянуть и старый ноутбук, всё дело в волшебных пузырьках руках дизайнера и программиста.
Вопрос: На философию потянуло...

Господа, у меня образовалось немного времени и со страшной силой потянуло на философию :)
И размышляю я на тему "а какого лешегшо мне не хватает в СУБД Oracle"?
Кто не против отвлеченной философии - присоединяйтесь :)

Итак, для затравки - мне не хватает:

1) конструкции вроде

insert into table x 
select ... from 
    table( delete table y where ... ) 
where... [group by...];

т.е. получать курсор из операции delete.
Это позволило бы существенно упростить логику трансформации предварительных данных.

2) сегмента с организацией queue. В AQ oracle выкручивается на обычных индексированных таблицах, но накладные расходы этой эмуляции довольно значительны...
Ответ:
Grami
miner
Да, забыл, неплохо бы смотрелись переменные связывания - массивы для использования с in.


Присоединяюсь + отмена ограничения на 1000 элементов в in (...)


Надмозги за работой ?
Вопрос: БД "Учет животных в зоопарке"

Привет!!Прошу помощи!!!!!!
Необходимо разработать модель базы данных!!!!

Автоматизированная информационная система «Учет животных, птиц, рептилий в зоопарке»
Предприятие – крупный зоопарк.
Словесное описание предметной области: каждому новому питомцу зоопарка присваивается уникальный номер, имя. Необходимо также хранить дату рождения, пол. О птицах дополнительно необходимо хранить сведения о месте зимовки (если такое существует – код, название страны, дата улета, дата прилета), для рептилий необходимо хранить сведения о его нормальной температуре, сроки зимней спячки. Каждому питомцу назначается рацион кормления, который характеризуется номером, названием, типом (детский, диетический, усиленный и т.п. Каждый тип рациона может содержать несколько названий рационов. Рацион может со временем меняться. Необходимо также учитывать зону обитания животного (название, характеристика). Каждое животное относится к одной зоне обитания. Также необходимо хранить информацию о том, к какому смотрителю на текущий момент прикреплен питомец. За каждым животным закреплен обязательно один смотритель, а каждый смотритель одновременно может обслуживать нескольких. Также в зоопарке есть ветеринары, которые тоже закреплены за животными. Каждый сотрудник имеет свой личный номер, имя, дату рождения, также необходимо знать номер телефона и семейное положение сотрудника. Если кто-то из одной семьи работает вместе (супруги), необходимо об этом знать.
Необходимо реализовать следующие запросы:
- Полная информация по типу и имени питомца зоопарка;
- Список сотрудников, работающих семейными парами – ФИО, дата рождения, телефон;
- Перечень всех животных на текущую дату и номера их рационов.
- Список рациона
- Ветеринар-питомец
- Сотрудник-питомец
- количество питомцев по типу
- бывшие питомцы
Ответ:
Сообщение от suran
МОДЕРАТОРЫ УДАЛИТЕ ТЕМУ
с чего бы это?

 Комментарий модератора Metall_Version
П 2.3 Сообщения и темы, а также другой контент, размещаемый на форуме, по просьбам пользователей не удаляется и не закрывается.
Вопрос: Firebird 3.0 + FIBPlus 7.4 + Delphi XE2

Добрый день всем.
Начинаем новый проект, поэтому сразу решили использовать 3 версию птицы.

В связи с безвременной кончиной FIBPlus возникает такой вопрос:
Насколько FIBPlus 7,4 совместим с Firebird 3.0. Понятное дело что т.к. проект ФИБов умирает о новых плюшках пока и думать рано. Поэтому возник вопрос в общем - насколько возможно на версии 7,4 нормально работать.
ФИБы лицензионные, поэтому разные сборки брать не хочу.
Или посоветуйте что-то другое, но с удобоваримой ценой.
Ответ: Согласен, но как правило, чем больше база, тем больше в ней всяких триггеров процедур и прочей логики, так то понятно что от размера ничего не зависит
Вопрос: Case в предложение where

Перешел на FB3. Очень не хватало Boolean типа. Теперь можно строить красивые выражения в where, но
вот так не работает
Select * from table where case when (:str=1) then fld1 > 0 when (:str=2) then fld1 < 0 end

ругается на то, что находится после then.
Приходится извращаться таким образом
Select * from table where case when (:str=1) then iif(fld1 > 0, True, False) end

ну или так, если условие достаточно простое
Select * from table where iif(:str = 1, fld1 > 0, fld1 < 0) end


Такое чувство, что немного не допилили использование case в where.
Это ожидаемое поведение птицы?
Ответ: Симонов Денис,

Точно! Вне редактора процедур IBExpert`а все работает.
Очень полезное замечание по поводу индексов, они действительно не цепляются. Короче говоря так лучше не делать.
Большое спасибо.
Вопрос: Уточнение по execute statement

Есть несколько серверов с Птицей. Из одного сервера делаю for select таблицы с адресами и for execute statement on external...
Соответственно сервера дёргаются по очереди.
Вопрос: можно ли получать всё и сразу?
Ответ:
Жышы
Это не прикладная задача, это выбранный способ решения.

вот людям говоришь как надо, а они отвечают, что ты дурак, и ES не зря придумали, и ES on external тем более. :-)
Теперь осталось же только параллельность прикрутить, и все.

Если без сарказма, то при задумке про параллельное выполнение я не зря упомянул про первичность параллельного получения результата. Выполнить-то в разных тредах по идее было бы можно, а вот куда складывать?
Если результат выдается по suspend, то тогда на выходе получится каша из выдаваемых с разных серверов/запросов записей. Если данные заливаются в таблицу - тогда в общем пофиг.
Но все равно, для поддержки в процедурном языке тогда должна быть конструкция "параллельного блока", которая должна определять что выполнять в треде, и куда потом девать результат.
У меня такое впечатление, что автор не в курсе работы с тредами в исходном языке программирования. Допустим, "в дельфях такого нету, а в СУБД должно"?
Вопрос: Загадка Эйнштейна средствами Oracle

На одной улице подряд стоят пять домов, каждый — своего цвета. В каждом живёт человек, все пять — разных национальностей. Каждый человек предпочитает уникальную марку сигарет, напиток и домашнее животное. Кроме того:

Норвежец живёт в первом доме.
Англичанин живёт в красном доме.
Зелёный дом находится слева от белого, рядом с ним.
Датчанин пьёт чай.
Тот, кто курит Rothmans, живёт рядом с тем, кто выращивает кошек.
Тот, кто живёт в жёлтом доме, курит Dunhill.
Немец курит Marlboro.
Тот, кто живёт в центре, пьёт молоко.
Сосед того, кто курит Rothmans, пьёт воду.
Тот, кто курит Pall Mall, выращивает птиц.
Швед выращивает собак.
Норвежец живёт рядом с синим домом.
Тот, кто выращивает лошадей, живёт в синем доме.
Тот, кто курит Philip Morris, пьет пиво.
В зелёном доме пьют кофе.
Вопрос:
Кто разводит рыбок?

Заготовка:
+
with tn as (select 'Norwegian' n  from dual union all    
            select 'Englishman' from dual union all    
            select 'Dane' from dual union all    
            select 'German' from dual union all    
            select 'Swede' from dual            ),    
     thn as (select 1 hn  from dual  union all    
             select 2 from dual union all    
             select 3 from dual union all    
             select 4 from dual union all    
             select 5 from dual ),    
      thc as (select 'red' hc from dual union all    
              select 'green' from dual  union all    
              select 'white' from dual   union all    
              select 'yellow' from dual  union all    
              select 'blue' from dual  ),    
      tdr as (select 'tea' dr from dual union all    
              select 'milk' from dual union all    
              select 'water' from dual union all    
              select 'beer' from dual union all    
              select 'coffee' from dual),    
      ts as (select 'Rothmans' s from dual union all    
             select 'Dunhill' s from dual union all    
             select 'Marlboro' s from dual union all    
             select 'Pall Mall' s from dual union all    
             select 'Philip Morris' s from dual ),    
      tp as (select 'cat' pet from dual union all    
             select 'bird' pet from dual union all    
             select 'dog' pet from dual  union all    
             select 'horse' pet from dual  union all    
             select 'fish' pet from dual    
      ),    
tc1 as (select n,hn,hc,dr,s,pet from tn,thn,thc,tdr,ts,tp    
where    
 ((hn =  1 and n =  'Norwegian') or (hn <> 1 and n <> 'Norwegian'))    
and    
 ((hc =  'red'  and n =  'Englishman') or(hc <> 'red'  and n <> 'Englishman'))    
and   
 ((n =  'Dane' and dr =  'tea') or    (n <> 'Dane' and dr <> 'tea'))    
and    
 ((hc =  'yellow' and s =  'Dunhill') or (hc <> 'yellow' and s <> 'Dunhill'))  
and  
 ((n =  'German' and s =  'Marlboro') or  (n <> 'German' and s <> 'Marlboro'))  
and  
 ((hn =  3 and dr =  'milk' ) or  (hn <> 3 and dr <> 'milk' ))  
and  
 ((s =  'Pall Mall' and pet =  'bird') or  (s <> 'Pall Mall' and pet <> 'bird'))  
and  
 ((n =  'Swede' and pet =  'dog') or (n <> 'Swede' and pet <> 'dog'))  
and  
 ((pet =  'horse' and hc =  'blue') or (pet <> 'horse' and hc <> 'blue'))  
and  
 ((s =  'Philip Morris' and  dr =  'beer') or (s <> 'Philip Morris' and  dr <> 'beer'))  
and  
 ((hc =  'green' and dr =  'coffee') or  (hc <> 'green' and dr <> 'coffee'))
)
                                    
,ut_3 as  (select * from tc1 tc1_1 where (hc =  'green'  and not exists (select 1 from tc1 where hn = tc1_1.hn+1 and hc = 'white')) or    
                                      (hc =  'white'  and not exists (select 1 from tc1 where hn = tc1_1.hn-1 and hc = 'green'))  
           )      
,ut_5 as  (select * from tc1 tc1_1 where (s =  'Rothmans' and not exists (select 1 from tc1 where abs(hn-tc1_1.hn) = 1 and pet =  'cat' )) or    
                                      (pet  = 'cat'    and not exists (select 1 from tc1 where abs(hn-tc1_1.hn) = 1 and s =  'Rothmans' ))  
         )  
,ut_9 as  (select * from tc1 tc1_1 where (s =  'Rothmans' and not exists (select 1 from tc1 where abs(hn-tc1_1.hn) = 1 and dr =  'water' )) or   
                                      (dr =  'water'   and not exists (select 1 from tc1 where abs(hn-tc1_1.hn) = 1 and s =  'Rothmans'  )) 
        )  
,ut_12 as (select * from tc1 tc1_1 where (n =  'Norwegian' and not exists (select 1 from tc1 where abs(hn-tc1_1.hn) = 1 and hc =  'blue' )) or  
                                      (hc =  'blue'  and not exists (select 1 from tc1 where abs(hn-tc1_1.hn) = 1 and  n =  'Norwegian' ))   
        )  
,tc2 as (  
select * from tc1 
minus 
select * from ut_3  
minus  
select * from ut_5  
minus  
select * from ut_9  
minus  
select * from ut_12) 
select * from tc2;



Интересуют любые решения. Особенно моделью, всякими POWERMULTISET и т.п.
Возможно ли в принципе решение на PL/Sql на объектах ООП?
P.S. рекурсией одно решение есть. Но не шустрое. Если интересно, опубликую.
Ответ:
efendi
Est_vopros,

Не Oracle, но думаю разберешься

Спасибо!
Вопрос: SAP - возврат программного обеспечения

Здравствуйте.
У меня такая ситуация.
Наша компания недавно купила SAP решение для розницы.
Решение по покупке принимало прежнее руководство, не понятно чем руководствуясь.
Нынешнее руководство посмотрело на это дело и поняло, что не потянет внедрение.

С связи с этим вопрос - можно ли как-то вернуть купленное программное обеспечение?

Купленные ПО еще не пользовались - его не устанавливали.
Ответ:
Yet another cat
363, не отмазывайтесь. наоборот в данном случае - это "заплатит лярд", а не просто "заплатит"

Кроме того, как именно МРСК Сибири заплатит, известно только им и САПу. Легко может быть так, что МРСК купит и внедрит SAP HANA, а SAP закроет глаза на фокусы с лицензиями... до нового директора SAP СНГ :)

Не юлите. Заплатит не Сап, а Сапу. В исходной фразе четко об этом написано - что такое "наоборот".
А ХАНА или не хана, это ваши домыслы (мечты...) Тем более с учетом общего урезания бюджетов -там-.
Вопрос: Предел количества баз на СКЛ сервере.

Добрый день.
Есть следующая конфигурация сервака скл.

1. CPU Intel Xeon E5620@2,4 2шт
2. ОЗУ 32 гб
3. Рейд массив HP P410i, кеш 256 мб.
4. Дисковая система:
300 гб х 10К в зеркале - 2 диска
72 гб х 15к в зеркале 2 диска
72 гб х 15к в зеркале 2 диска
72 гб система

Понимаю, что для скл выбор рейдов очень плох, но это пока все, что есть.
До указанной разбивки из 5 дисков 72 гб был собран 5 рейд, но его пришлось переразбить.
На серваке крутится 35 баз. Общий размер -170 гб.
На 5 рейде конечно тоже были тормоза, но после переноса баз на зеркало вобще стало невозможно нормально работать.

По другому пока разбить рейды не могу, нет дисков. Базы перенесенные на зеркало это старая бухгалтерия. Работать будут максимум еще пару месяцев и будут переделаны в файловые.

На двух зеркалах из 72 гб планируется расположить новые бухгалтерские базы.
1. Возник вопрос, сколько баз потянет без тормозов в такой конфигурации сервак( планируется снова плодить их до 35-40(
2. Диски 72 гб уже старые и мелкие, докупать их смысла нет. На сколько увеличится быстродействие файловой системы, если купить дисков 300 гб х 15к и поставить их в 10 рейд(для файла данных). Логи писать на 5 рейд из 3 дисков 72 гб.
3. Вопрос по 10 рейду. Что лучше 10 или 01 сделать?

Знаю, что одна база работала бы намного быстрее, пусть она и была бы 250 гб. Но тут это не возможно.

Как еще можно увеличить быстродействие сервака?

Спасибо.
Ответ:
komrad
MasterZiv
Но по крайней мере DBCC [UN]PINTABLE есть.

dbcc pintable закончился на 2000-м сиквеле


Так что ж получается, в MSSQL всё в один большой общий кэш льётся ?
Я сегодня всю доку перерыл, ничего вообще про настройки кэша не увидел.
Вопрос: Создание и использование базы данных «Банк»

База данных должна содержать следующую информацию:
1. Разработайте базу данных «Банк», состоящую из трех таблиц со следующей структурой:
Клиенты - код клиента (ключевое поле), фамилия, имя, отчество, паспорт, телефон, адрес,
заработная плата.
Виды кредитов - код кредита (ключевое поле), название кредита, процентная ставка, условия
предоставления.
Предоставленные кредиты — № п/п, клиент, кредит, дата предоставления, срок, дата возврата,
сумма, отметка о возврате.
2. Установите связи между таблицами.
3. Создайте запрос для отбора клиентов, взявших кредит от 500 000 до 1 000 000 руб.
4. Создайте запрос с параметром для отбора кредитов по процентной ставке.
5. Создайте формы для ввода данных, отчеты и главную кнопочную форму.

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